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
 

Transacted Operations

呼び出し時にスレッドにバインドされたトランザクションがある場合、関数は分離ファイル ビューの圧縮ファイル サイズを返します。 詳細については、「 トランザクション NTFS について」を参照してください。

Windows 8 と Windows Server 2012 では、この関数は、次のテクノロジによってサポートされています。

テクノロジ サポートされています
サーバー メッセージ ブロック (SMB) 3.0 プロトコル はい
SMB 3.0 Transparent Failover (TFO) はい
スケールアウト ファイル共有 (SO) を使う SMB 3.0 はい
クラスターの共有ボリューム ファイル システム (CsvFS) はい
Resilient File System (ReFS) はい

要件

   
サポートされている最小のクライアント Windows Vista [デスクトップ アプリのみ | UWP アプリ]
サポートされている最小のサーバー Windows Server 2008 [デスクトップ アプリ | UWP アプリ]
対象プラットフォーム Windows
ヘッダー winbase.h (Windows.h を含む)
Library Kernel32.lib;Windows Server 2003 および Windows XP の FileExtd.lib
[DLL] Kernel32.dll
再頒布可能パッケージ Windows Server 2003 および Windows XP 上の Windows SDK。

関連項目

FILE_INFO_BY_HANDLE_CLASS

File Management 関数

SetFileInformationByHandle