BOOL GetVolumeInformationA(
_In_opt_ LPCSTR lpRootPathName,
_out_opt_ LPSTR lpVolumeNameBuffer,
_In_ DWORD nVolumeNameSize,
_out-opt_ LPDWORD lpVolumeSerialNumber,
_out-opt_ LPDWORD lpMaximumComponentLength,
_out-opt_ LPDWORD lpFileSystemFlags,
_out-opt_ LPSTR lpFileSystemNameBuffer,
_In_ DWORD nFileSystemNameSize
);
GetVolumeInformation() 함수는 지정된 루트 디렉터리가 속한 파일 시스템 정의와 볼륨 정보를 가져오는 함수입니다.
변수 유형 앞에 '_In_opt_'는 In는 입력 변수를 뜻하며, opt는 선택적으로 사용한다는 의미
_out_opt_는 실행결과가 저장될 변수를 뜻함
그렇다면 _In_ 경우네는 선택적으로 쓰는 것이 아닌 값이 무조건 입력되어야 한다는 뜻이며, 함수를 사용할 경우에 값을 넣어주지 않으면 오류가 발생합니다.
LPCSTR
- LP는 long pointer를 나타낸다
- C는 constant, 즉 함수 내부에서 인자 값을 변경하지 말하는 뜻입니다.
- STR은 말 그대로 STRING자료가 될 것이라는 뜻으로 내부적으로는 char형 배열에 null 값 종료를 의미
- W는 wide char를 나타내며, 쉽게 말해 unicode 말합니다.
해석)
LPSTR = long pointer String = char*
LPCSTR = long pointer constant String = const char*
예)
'lpRootInformation'은 입력변수로, 선택적으로 사용할 수 있다.
'nVolumeNameSize'로 입력 변수로 사용되지만 이것은 반드시 사용해야 하므로 GetVolumeInformation() 함수를 사용 시 지정하지 않으면 오류가 발생
'lpVolumeNameBuffer'는 함수를 호출 할 때 변수 이름을 넣어주면, GetVolumeInformation() 함수가 실행되고 그 결과로 찾아낸 볼륨 이름을 지정한 변수에 담아주게 한다.
'study > C언어' 카테고리의 다른 글
define 매크로와 inline 함수 (0) | 2020.06.29 |
---|---|
동적 할당 정리(malloc, realloc, calloc, free 함수) (0) | 2020.06.29 |
구조체 정리 (0) | 2020.04.02 |
[c언어] 입출력 정리 (0) | 2020.04.02 |
인수 전달 방법 (0) | 2020.03.31 |