Programming/Windows&C#

[Windows/WinAPI] CreateDIrectory, SetCurrentDirectory, GetCurrentDirectory

JMob 2013. 10. 17. 16:09
728x90
반응형

BOOL WINAPI CreateDirectory( _In_      LPCTSTR lpPathName, -----① _In_opt_  LPSECURITY_ATTRIBUTES lpSecurityAttributes -----② );


함수 설명:

디렉토리를 새로 만든다. 성공할 경우 0이 아닌 값을 리턴한다.



lpPathName :

생성할 디렉토리의 PATH를 입력한다. 이떄 PATH가 정확해야 한다.(중간 과정이 확실하게 명시되어야 한다.)



lpSecurityAttributes :

디렉토리에 대한 보안 속성을 설정해 준다. 보안속성을 하지 않을 경우에는 NULL을 넣어주면 된다.



--------------------------------------------------------------------

BOOL SetCurrentDirectory( LPCTSTR pstrDirName --------①

);


함수 설명 : 

프로세스의 현재 디렉토리를 변경시킵니다. 즉, 프로세스는 자신이 실행되는 PATH를 저장하여 상대주소로 가지고 있는데 이 PATH를 원하는 값으로 변경시킨다.


① pstrDirName :

변경시킬 디렉토리 PATH를 넣는다.


----------------------------------------------------------------------------


DWORD WINAPI GetCurrentDirectory( _In_   DWORD nBufferLength, --------① _Out_  LPTSTR lpBuffer                       --------② );


함수 설명 :

현재 작업의 디렉토리를 알수있다. 성공할 경우 디렉토리 PATH정보에 대한 버퍼 길이값이 반환된다. 

실패시 0값이 반환되다.


nBufferLength :

현재 디렉토리 PATH의 길이 값을 인자로 준다. 이때 NULL 값을 포함해야 한다.


lpBuffer :

디렉토리 PATH를 저장할 문자열 버퍼에 대한 포인터이다. 여기에 NULL값을 넣어주고

①에다가 0을 넣어주면 GetCurrentDirectory는 디렉토리 PATH문자열의 크기를 

반환한다. 그래서 PATH의 크기를 먼저 구하고 디렉토리의 PATH 문자열을 받아올때 

처음에 먼저 NULL을 넣어서 사용한다.


728x90
반응형