다음을 통해 공유


GetVolumeInformationByHandleW 함수(fileapi.h)

지정된 파일과 연결된 파일 시스템 및 볼륨 관련 정보를 검색합니다.

파일 또는 디렉터리의 현재 압축 상태를 검색하려면 FSCTL_GET_COMPRESSION 사용합니다.

구문

BOOL GetVolumeInformationByHandleW(
  [in]            HANDLE  hFile,
  [out, optional] LPWSTR  lpVolumeNameBuffer,
  [in]            DWORD   nVolumeNameSize,
  [out, optional] LPDWORD lpVolumeSerialNumber,
  [out, optional] LPDWORD lpMaximumComponentLength,
  [out, optional] LPDWORD lpFileSystemFlags,
  [out, optional] LPWSTR  lpFileSystemNameBuffer,
  [in]            DWORD   nFileSystemNameSize
);

매개 변수

[in] hFile

파일에 대한 핸들입니다.

[out, optional] lpVolumeNameBuffer

지정된 볼륨의 이름을 받는 버퍼에 대한 포인터입니다. 최대 버퍼 크기는 입니다 MAX_PATH+1.

[in] nVolumeNameSize

WCHAR의 볼륨 이름 버퍼 길이입니다. 최대 버퍼 크기는 입니다 MAX_PATH+1.

볼륨 이름 버퍼가 제공되지 않으면 이 매개 변수는 무시됩니다.

[out, optional] lpVolumeSerialNumber

볼륨 일련 번호를 받는 변수에 대한 포인터입니다.

일련 번호가 필요하지 않은 경우 이 매개 변수는 NULL 일 수 있습니다.

이 함수는 하드 디스크의 형식이 지정될 때 운영 체제에서 할당하는 볼륨 일련 번호를 반환합니다. 제조업체에서 할당하는 하드 디스크의 일련 번호를 프로그래밍 방식으로 가져오려면 WMI(Windows Management Instrumentation) Win32_PhysicalMedia 속성 SerialNumber를 사용합니다.

[out, optional] lpMaximumComponentLength

지정된 파일 시스템에서 지원하는 파일 이름 구성 요소의 최대 길이( WCHAR)를 수신하는 변수에 대한 포인터입니다.

파일 이름 구성 요소는 백 슬래시 사이의 파일 이름의 부분입니다.

*lpMaximumComponentLength 가 가리키는 변수에 저장된 값은 지정된 파일 시스템에서 긴 이름을 지원함을 나타내는 데 사용됩니다. 예를 들어 긴 이름을 지원하는 FAT 파일 시스템의 경우 함수는 이전 8.3 표시기가 아닌 값 255를 저장합니다. 긴 이름은 NTFS 파일 시스템을 사용하는 시스템에서도 지원될 수 있습니다.

[out, optional] lpFileSystemFlags

지정된 파일 시스템과 연결된 플래그를 수신하는 변수에 대한 포인터입니다.

이 매개 변수는 다음 플래그 중 하나 이상일 수 있습니다. 그러나 FILE_FILE_COMPRESSIONFILE_VOL_IS_COMPRESSED 상호 배타적입니다.

의미
FILE_CASE_SENSITIVE_SEARCH
0x00000001
지정된 볼륨은 대/소문자를 구분하는 파일 이름을 지원합니다.
FILE_CASE_PRESERVED_NAMES
0x00000002
지정된 볼륨은 디스크에 이름을 배치할 때 파일 이름의 보존된 대/소문자를 지원합니다.
FILE_UNICODE_ON_DISK
0x00000004
지정된 볼륨은 디스크에 표시될 때 파일 이름의 유니코드를 지원합니다.
FILE_PERSISTENT_ACLS
0x00000008
지정된 볼륨은 ACL(액세스 제어 목록)을 유지하고 적용합니다. 예를 들어 NTFS 파일 시스템은 ACL을 유지 및 적용하며 FAT 파일 시스템은 유지하지 않습니다.
FILE_FILE_COMPRESSION
0x00000010
지정된 볼륨은 파일 기반 압축을 지원합니다.
FILE_VOLUME_QUOTAS
0x00000020
지정된 볼륨은 디스크 할당량을 지원합니다.
FILE_SUPPORTS_SPARSE_FILES
0x00000040
지정된 볼륨은 스파스 파일을 지원합니다.
FILE_SUPPORTS_REPARSE_POINTS
0x00000080
지정된 볼륨은 점 다시 구문 분석을 지원합니다.
FILE_VOLUME_IS_COMPRESSED
0x00008000
지정된 볼륨은 압축된 볼륨(예: DoubleSpace 볼륨)입니다.
FILE_SUPPORTS_OBJECT_IDS
0x00010000
지정된 볼륨은 개체 식별자를 지원합니다.
FILE_SUPPORTS_ENCRYPTION
0x00020000
지정된 볼륨은 EFS(암호화된 파일 시스템)를 지원합니다. 자세한 내용은 파일 암호화를 참조하세요.
FILE_NAMED_STREAMS
0x00040000
지정된 볼륨은 명명된 스트림을 지원합니다.
FILE_READ_ONLY_VOLUME
0x00080000
지정된 볼륨은 읽기 전용입니다.
FILE_SEQUENTIAL_WRITE_ONCE
0x00100000
지정된 볼륨은 단일 순차 쓰기를 지원합니다.
FILE_SUPPORTS_TRANSACTIONS
0x00200000
지정된 볼륨은 트랜잭션을 지원합니다. 자세한 내용은 KTM 정보를 참조하세요.
FILE_SUPPORTS_HARD_LINKS
0x00400000
지정된 볼륨은 하드 링크를 지원합니다. 자세한 내용은 하드 링크 및 접합을 참조하세요.

Windows Vista 및 Windows Server 2008: 이 값은 지원되지 않습니다.

FILE_SUPPORTS_EXTENDED_ATTRIBUTES
0x00800000
지정된 볼륨은 확장된 특성을 지원합니다. 확장 특성은 애플리케이션이 파일과 연결할 수 있고 파일 데이터의 일부가 아닌 애플리케이션별 메타데이터의 일부입니다.

Windows Vista 및 Windows Server 2008: 이 값은 지원되지 않습니다.

FILE_SUPPORTS_OPEN_BY_FILE_ID
0x01000000
파일 시스템은 FileID에서 열기를 지원합니다. 자세한 내용은 FILE_ID_BOTH_DIR_INFO 참조하세요.

Windows Vista 및 Windows Server 2008: 이 값은 지원되지 않습니다.

FILE_SUPPORTS_USN_JOURNAL
0x02000000
지정된 볼륨은 USN(업데이트 시퀀스 번호) 저널을 지원합니다. 자세한 내용은 저널 레코드 변경을 참조하세요.

Windows Vista 및 Windows Server 2008: 이 값은 지원되지 않습니다.

FILE_SUPPORTS_BLOCK_REFCOUNTING
0x08000000
지정된 볼륨은 동일한 볼륨의 파일 간에 논리 클러스터 공유를 지원합니다. 파일 시스템은 쓰기를 공유 클러스터에 다시 할당합니다. FSCTL_DUPLICATE_EXTENTS_TO_FILE 지원되는 작업임을 나타냅니다.

[out, optional] lpFileSystemNameBuffer

파일 시스템의 이름(예: FAT 파일 시스템 또는 NTFS 파일 시스템)을 수신하는 버퍼에 대한 포인터입니다. 버퍼 크기는 nFileSystemNameSize 매개 변수로 지정됩니다.

[in] nFileSystemNameSize

WCHAR의 파일 시스템 이름 버퍼 길이입니다. 최대 버퍼 크기는 입니다 MAX_PATH+1.

파일 시스템 이름 버퍼가 제공되지 않으면 이 매개 변수는 무시됩니다.

반환 값

요청된 모든 정보를 검색하면 반환 값은 0이 아닌 값입니다.

요청된 정보가 모두 검색되지 않으면 반환 값은 0입니다. 확장 오류 정보를 가져오려면 GetLastError를 호출합니다.

설명

Windows 8 및 Windows Server 2012에서 이 함수는 다음 기술을 통해 지원됩니다.

기술 지원됨
SMB(서버 메시지 블록) 3.0 프로토콜 No
SMB 3.0 TFO(투명 장애 조치(failover)) No
SO(스케일 아웃 파일 공유)를 사용하는 SMB 3.0 No
CsvFS(클러스터 공유 볼륨 파일 시스템) Yes
ReFS(Resilient File System) Yes

SMB는 볼륨 관리 기능을 지원하지 않습니다.

요구 사항

   
지원되는 최소 클라이언트 Windows Vista [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2008 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 fileapi.h(Windows.h 포함)
라이브러리 Kernel32.lib
DLL Kernel32.dll

참고 항목

KTM 정보

파일 암호화

GetCompressedFileSize

GetFileAttributes

GetVolumeInformation

SetErrorMode

SetVolumeLabel

볼륨 관리 함수