GetFileInformationByHandleEx 함수(winbase.h)

지정된 파일의 파일 정보를 검색합니다.

데스크톱 앱에 대한 이 함수의 더 기본적인 버전은 GetFileInformationByHandle을 참조하세요.

파일 핸들을 사용하여 파일 정보를 설정하려면 SetFileInformationByHandle을 참조하세요.

구문

BOOL GetFileInformationByHandleEx(
  [in]  HANDLE                    hFile,
  [in]  FILE_INFO_BY_HANDLE_CLASS FileInformationClass,
  [out] LPVOID                    lpFileInformation,
  [in]  DWORD                     dwBufferSize
);

매개 변수

[in] hFile

검색할 정보가 포함된 파일에 대한 핸들입니다.

이 핸들은 파이프 핸들이 아니어야 합니다.

[in] FileInformationClass

검색할 정보의 형식을 지정하는 FILE_INFO_BY_HANDLE_CLASS 열거형 값입니다.

유효한 값의 테이블은 주의 섹션을 참조하세요.

[out] lpFileInformation

요청된 파일 정보를 수신하는 버퍼에 대한 포인터입니다. 반환되는 구조체는 FileInformationClass에 지정된 클래스에 해당합니다. 유효한 구조체 형식의 테이블은 주의 섹션을 참조하세요.

[in] dwBufferSize

lpFileInformation 버퍼의 크기(바이트)입니다.

반환 값

함수가 성공하면 반환 값이 0이 아니고 lpFileInformation 매개 변수가 가리키는 버퍼에 파일 정보 데이터가 포함됩니다.

함수가 실패하면 반환 값은 0입니다. 확장 오류 정보를 가져오려면 GetLastError를 호출합니다.

설명

FileInformationClassFileStreamInfo이고 호출이 성공하지만 스트림이 반환되지 않으면 GetLastError에서 반환되는 오류가 ERROR_HANDLE_EOF.

특정 파일 정보 클래스는 다른 운영 체제 릴리스에서 약간 다르게 동작합니다. 이러한 클래스는 기본 드라이버에서 지원되며 반환되는 모든 정보는 운영 체제 릴리스 간에 변경될 수 있습니다.

다음 표에서는 이 함수와 함께 사용할 유효한 파일 정보 클래스 형식 및 해당 데이터 구조 형식을 보여 있습니다.

FileInformationClass lpFileInformation 형식
FileBasicInfo (0) FILE_BASIC_INFO
FileStandardInfo (1) FILE_STANDARD_INFO
FileNameInfo (2) FILE_NAME_INFO
FileStreamInfo (7) FILE_STREAM_INFO
FileCompressionInfo (8) FILE_COMPRESSION_INFO
FileAttributeTagInfo (9) FILE_ATTRIBUTE_TAG_INFO
FileIdBothDirectoryInfo (0xa) FILE_ID_BOTH_DIR_INFO
FileIdBothDirectoryRestartInfo (0xb) FILE_ID_BOTH_DIR_INFO
FileRemoteProtocolInfo (0xd) FILE_REMOTE_PROTOCOL_INFO
FileFullDirectoryInfo (0xe) FILE_FULL_DIR_INFO
FileFullDirectoryRestartInfo (0xf) FILE_FULL_DIR_INFO
FileStorageInfo (0x10) FILE_STORAGE_INFO
FileAlignmentInfo (0x11) FILE_ALIGNMENT_INFO
FileIdInfo (0x12) FILE_ID_INFO
FileIdExtdDirectoryInfo (0x13) FILE_ID_EXTD_DIR_INFO
FileIdExtdDirectoryRestartInfo (0x14) FILE_ID_EXTD_DIR_INFO
 

거래된 작업

호출 시 스레드에 바인딩된 트랜잭션이 있는 경우 함수는 격리된 파일 뷰의 압축된 파일 크기를 반환합니다. 자세한 내용은 트랜잭션 NTFS 정보를 참조하세요.

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

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

요구 사항

   
지원되는 최소 클라이언트 Windows Vista [데스크톱 앱 | UWP 앱]
지원되는 최소 서버 Windows Server 2008 [데스크톱 앱 | UWP 앱]
대상 플랫폼 Windows
헤더 winbase.h(Windows.h 포함)
라이브러리 Kernel32.lib; Windows Server 2003 및 Windows XP의 FileExtd.lib
DLL Kernel32.dll
재배포 가능 파일 Windows Server 2003 및 Windows XP의 Windows SDK.

추가 정보

FILE_INFO_BY_HANDLE_CLASS

파일 관리 함수

SetFileInformationByHandle