NtQueryVolumeInformationFile 関数 (ntifs.h)
NtQueryVolumeInformationFile ルーチンは、特定のファイル、ディレクトリ、ストレージ デバイス、またはボリュームに関連付けられているボリュームに関する情報を取得します。
構文
__kernel_entry NTSYSCALLAPI NTSTATUS NtQueryVolumeInformationFile(
[in] HANDLE FileHandle,
[out] PIO_STATUS_BLOCK IoStatusBlock,
[out] PVOID FsInformation,
[in] ULONG Length,
[in] FS_INFORMATION_CLASS FsInformationClass
);
パラメーター
[in] FileHandle
ボリューム情報が要求されている開いているファイル、ディレクトリ、ストレージ デバイス、またはボリュームの NtCreateFile または NtOpenFile によって返されるファイル オブジェクトへのハンドル。
[out] IoStatusBlock
最終的 な完了 状態とクエリ操作に関する情報を受け取るIO_STATUS_BLOCK構造体へのポインター。 データを返す呼び出しが成功した場合は、 FsInformation バッファーに書き込まれたバイト数が構造体の Information メンバーに返されます。
[out] FsInformation
ボリュームに関する必要な情報を受け取る呼び出し元によって割り当てられたバッファーへのポインター。 バッファーで返される情報の構造は、 FsInformationClass パラメーターによって定義されます。
[in] Length
FsInformation が指すバッファーのサイズ (バイト単位)。 呼び出し元は、指定された FsInformationClass に従ってこのパラメーターを設定する必要があります。
[in] FsInformationClass
ボリュームに関して返される情報の種類。 このメンバーを次のいずれかのFS_INFORMATION_CLASS列挙値 に 設定します。
値 | 意味 |
---|---|
FileFsAttributeInformation | ボリュームを担当するファイル システムに関する属性情報を含む FILE_FS_ATTRIBUTE_INFORMATION 構造体を返します。 |
FileFsControlInformation | ボリュームに関するファイル システム制御情報を含む FILE_FS_CONTROL_INFORMATION 構造体を返します。 |
FileFsDeviceInformation | ボリュームのデバイス情報を含む FILE_FS_DEVICE_INFORMATION 構造体を返します。 |
FileFsDriverPathInformation | 指定したドライバー が ボリュームの I/O パスにあるかどうかに関する情報を含むFILE_FS_DRIVER_PATH_INFORMATION構造体を返します。 呼び出し元は、NtQueryVolumeInformationFile を呼び出す前に、ドライバーの名前を FILE_FS_DRIVER_PATH_INFORMATION 構造体に格納する必要があります。 |
FileFsFullSizeInformation | ボリューム で使用可能 な領域の合計量に関する情報を含むFILE_FS_FULL_SIZE_INFORMATION構造体を返します。 |
FileFsObjectIdInformation | ボリュームのファイル システム固有のオブジェクト ID 情報を含む FILE_FS_OBJECTID_INFORMATION 構造体を返します。 これは、オペレーティング システムによって割り当てられた (GUID ベースの) 一意のボリューム名と同じではないことに注意してください。 |
FileFsSizeInformation | 呼び出 し元スレッド に関連付けられているユーザーが使用できるボリューム上の領域の量に関する情報を含むFILE_FS_SIZE_INFORMATION構造体を返します。 |
FileFsVolumeInformation | ボリューム ラベル、シリアル番号、作成時刻などのボリュームに関する情報を含む FILE_FS_VOLUME_INFORMATION を返します。 |
FileFsSectorSizeInformation | ボリューム の物理 セクター サイズと論理セクター サイズに関する情報を含むFILE_FS_SECTOR_SIZE_INFORMATION構造体を返します。 |
戻り値
NtQueryVolumeInformationFile は 、STATUS_SUCCESSまたは適切なエラー状態を返します。
注釈
NtQueryVolumeInformationFile は 、特定のファイル、ディレクトリ、ストレージ デバイス、またはボリュームに関連付けられているボリュームに関する情報を取得します。
FileHandle が直接開いているデバイスを表す場合、FsInformationClass の値として指定できるのは FileFsDeviceInformation だけです。
NtQueryVolumeInformationFile は、ファイル システムでサポートされていない FILE_XXX_INFORMATION 構造体のメンバーで 0 を返します。
その他のファイル情報クエリ ルーチンの詳細については、「 ファイル オブジェクト」を参照してください。
ミニフィルターでは、 NtQueryVolumeInformationFile の代わりに FltQueryVolumeInformationFile を使用する必要があります。
NtQueryVolumeInformationFile の呼び出し元は、IRQL = PASSIVE_LEVELで実行され、特殊なカーネル APC が有効になっている必要があります。
注意
NtQueryVolumeInformationFile 関数の呼び出しがユーザー モードで行われる場合は、"ZwQueryVolumeInformationFile" ではなく"NtQueryVolumeInformationFile" という名前を使用する必要があります。
カーネル モード ドライバーからの呼び出しの場合、Windows ネイティブ システム サービス ルーチンの NtXxx および ZwXxx バージョンは、入力パラメーターを処理および解釈する方法で動作が異なる場合があります。 ルーチンの NtXxx バージョンと ZwXxx バージョンの間の関係の詳細については、「ネイティブ システム サービス ルーチンの Nt バージョンと Zw バージョンの使用」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows XP |
対象プラットフォーム | ユニバーサル |
Header | ntifs.h (Ntifs.h、Ntddk.h を含む) |
Library | NtosKrnl.lib |
[DLL] | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL (「解説」セクションを参照) |
DDI コンプライアンス規則 | HwStorPortProhibitedDDIs、PowerIrpDDis |
こちらもご覧ください
FILE_FS_DRIVER_PATH_INFORMATION
IRP_MJ_QUERY_VOLUME_INFORMATION