FltQueryVolumeInformation 関数 (fltkernel.h)
FltQueryVolumeInformation ルーチンは、指定されたインスタンスがアタッチされているボリュームに関する情報を取得します。
構文
NTSTATUS FLTAPI FltQueryVolumeInformation(
[in] PFLT_INSTANCE Instance,
[out] PIO_STATUS_BLOCK Iosb,
[out] PVOID FsInformation,
[in] ULONG Length,
[in] FS_INFORMATION_CLASS FsInformationClass
);
パラメーター
[in] Instance
ボリュームにアタッチされているミニフィルター ドライバー インスタンスの不透明なインスタンス ポインター。
[out] Iosb
最終的な完了状態とクエリ操作に関する情報を受け取る呼び出し元によって割り当てられたIO_STATUS_BLOCK構造体へのポインター。 データを返す呼び出しが成功すると、 FsInformation バッファーに書き込まれたバイト数が構造体の Information メンバーに返されます。
[out] FsInformation
ボリュームに関する必要な情報を受け取る呼び出し元によって割り当てられたバッファーへのポインター。 バッファーで返される情報の構造は、 FsInformationClass パラメーターによって定義されます。
[in] Length
FsInformation が指すバッファーのサイズ (バイト単位)。 呼び出し元は、指定された FsInformationClass に従ってこのパラメーターを設定する必要があります。 たとえば、 FsInformationClass の値が FileFsControlInformation の場合、 Length は少なくとも sizeof(FILE_FS_CONTROL_INFORMATION) である必要があります。
[in] FsInformationClass
要求された情報の種類。 次のいずれかの値。
値 | 意味 |
---|---|
|
ボリューム を担当 するファイル システムに関する属性情報を含むFILE_FS_ATTRIBUTE_INFORMATION構造体を返します。 |
|
ボリュームに関するファイル システム制御情報を含む FILE_FS_CONTROL_INFORMATION 構造体を返します。 |
|
ボリュームのデバイス情報を含む FILE_FS_DEVICE_INFORMATION 構造体を返します。 |
|
指定したドライバーがボリュームの I/O パスにあるかどうかに関する情報を含む FILE_FS_DRIVER_PATH_INFORMATION構造体を 返します。 呼び出し元は、FltQueryVolumeInformation を呼び出す前に、ドライバーの名前をFILE_FS_DRIVER_PATH_INFORMATION構造体に格納する必要があります。 |
|
ボリューム で使用可能 な領域の合計量に関する情報を含むFILE_FS_FULL_SIZE_INFORMATION構造体を返します。 |
|
ボリュームのファイル システム固有のオブジェクト ID 情報を含む FILE_FS_OBJECTID_INFORMATION 構造体を返します。 これは、オペレーティング システムによって割り当てられた (GUID ベースの) 一意のボリューム名と同じではないことに注意してください。 メモこの値は、スナップショット ボリュームでは無効です。
|
|
呼び出 し元スレッド に関連付けられているユーザーが使用できるボリューム上の領域の量に関する情報を含むFILE_FS_SIZE_INFORMATION構造体を返します。 |
|
ボリューム ラベル、シリアル 番号、作成時間などのボリュームに関する情報を含むFILE_FS_VOLUME_INFORMATIONを返します。 |
|
ボリューム の物理 セクター サイズと論理セクター サイズに関する情報を含むFILE_FS_SECTOR_SIZE_INFORMATION構造体を返します。 |
戻り値
FltQueryVolumeInformation ルーチンは、次のいずれかのSTATUS_SUCCESSまたは適切な NTSTATUS 値を返します。
リターン コード | 説明 |
---|---|
|
FltQueryVolumeInformation でプール割り当てエラーが発生しました。 これはエラー コードです。 |
|
FsInformationClass に無効な値が指定されました。 これはエラー コードです。 |
|
インスタンスはネットワーク ボリュームにアタッチされます。 FltQueryVolumeInformation を使用してネットワーク ボリューム情報を照会することはできません。 これはエラー コードです。 |
注釈
基になるファイル システムでサポートされていないFILE_XXX_INFORMATION 構造体のフィールドは 0 に設定されます。
ボリュームに関する情報を変更するには、 FltSetVolumeInformation を呼び出します。
指定されたボリュームのボリューム プロパティ情報を取得するには、 FltGetVolumeProperties を呼び出します。
特定のボリュームのボリューム名を取得するには、 FltGetVolumeName を呼び出します。
特定のボリュームのボリューム GUID 名を取得するには、 FltGetVolumeGuidName を呼び出します。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Microsoft Windows 2000 Update Rollup 1 for SP4、Windows XP with Service Pack 2 (SP2)、Windows Server 2003 SP1 以降の Windows オペレーティング システムで使用でき、サポートされています。 Windows 2000 SP4 以前の Windows オペレーティング システムでは使用できないか、サポートされていません。 |
対象プラットフォーム | ユニバーサル |
Header | fltkernel.h (FltKernel.h を含む) |
Library | FltMgr.lib |
[DLL] | Fltmgr.sys |
IRQL | PASSIVE_LEVEL |
こちらもご覧ください
FILE_FS_DRIVER_PATH_INFORMATION
FILE_FS_SECTOR_SIZE_INFORMATION