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_ATTRIBUTE_INFORMATION

FILE_FS_CONTROL_INFORMATION

FILE_FS_DEVICE_INFORMATION

FILE_FS_DRIVER_PATH_INFORMATION

FILE_FS_FULL_SIZE_INFORMATION

FILE_FS_OBJECTID_INFORMATION

FILE_FS_SIZE_INFORMATION

FILE_FS_VOLUME_INFORMATION

FltQueryVolumeInformationFile

IRP_MJ_QUERY_VOLUME_INFORMATION

IRP_MJ_SET_VOLUME_INFORMATION

Nt および Zw バージョンのネイティブ システム サービス ルーチンの使用

NtCreateFile

NtOpenFile

NtQueryDirectoryFile

NtQueryInformationFile

NtSetInformationFile

ZwSetVolumeInformationFile