FltGetVolumeInformation 関数 (fltkernel.h)
FltGetVolumeInformation ルーチンは、特定のボリュームに関する情報を提供します。
構文
NTSTATUS FLTAPI FltGetVolumeInformation(
[in] PFLT_VOLUME Volume,
[in] FILTER_VOLUME_INFORMATION_CLASS InformationClass,
[out] PVOID Buffer,
[in] ULONG BufferSize,
[out] PULONG BytesReturned
);
パラメーター
[in] Volume
ボリュームの不透明なポインター。 このパラメーターは必須であり、 NULL にすることはできません。
[in] InformationClass
要求された情報の種類。 このパラメーターは必須であり、次のいずれかの値である必要があります。
値 | 意味 |
---|---|
FilterVolumeBasicInformation | Buffer パラメーターは、ボリュームのFILTER_VOLUME_BASIC_INFORMATION構造体を受け取ります。 |
FilterVolumeStandardInformation | Buffer パラメーターは、ボリュームのFILTER_VOLUME_STANDARD_INFORMATION構造体を受け取ります。 この構造は、Windows Vista 以降で使用できます。 |
[out] Buffer
要求された情報を受信する呼び出し元によって割り当てられたバッファーへのポインター。 バッファーで返される情報の型は、 InformationClass パラメーターによって定義されます。 このパラメーターは必須であり、 NULL にすることはできません。
[in] BufferSize
Buffer パラメーターが指すバッファーのサイズ (バイト単位)。 呼び出し元は、指定された InformationClass 値に従ってこのパラメーターを設定する必要があります。 このパラメーターは必須です。
[out] BytesReturned
Buffer が指すバッファーで返されるバイト数を受け取る呼び出し元によって割り当てられた変数へのポインター。 BufferSize の入力値が小さすぎる場合、FltGetVolumeInformation は STATUS_BUFFER_TOO_SMALLを返し、この変数に要求された情報を格納するために必要なバイト数を設定します。 このパラメーターは必須であり、 NULL にすることはできません。
戻り値
FltGetVolumeInformation は、次のいずれかのSTATUS_SUCCESSまたは適切な NTSTATUS 状態コードを返します。
リターン コード | 説明 |
---|---|
|
InformationClass パラメーターに無効な値が指定されました。 たとえば、Windows Vista より前のオペレーティング システムで FilterVolumeStandardInformation が指定されている場合、ルーチンはSTATUS_INVALID_PARAMETERを返します。 これはエラー コードです。 |
|
Buffer パラメーターが指すバッファーは、要求された情報を格納するのに十分な大きさではありません。 これはエラー コードです。 |
注釈
FltEnumerateVolumes ルーチンによって返されるなどの不透明なボリューム ポインターを指定すると、FltGetVolumeInformation ルーチンは、Volume パラメーターを介して渡される不透明なボリューム ポインターによって指されるボリュームに関する情報を提供します。 呼び出し元は、 FltObjectDereference ルーチンを呼び出すことによって、最終的に不透明なボリューム ポインターを解放する必要があることに注意してください。
FltGetVolumeInformation ルーチンは、1 つのボリュームの情報を返します。 ただし、不透明なボリューム ポインターのリストを指定すると、ルーチンを繰り返し使用して、対応するボリューム情報構造体のリストを作成できます。 このようなリストでは、2 つ以上の構造体に同じボリューム名が含まれている可能性があります。 詳細については、「 ボリューム名が重複するボリューム列挙について」を参照してください。
フィルター マネージャーに認識されているすべてのボリュームのボリューム情報を一覧表示するには、 FltEnumerateVolumeInformation を呼び出します。
次の一覧には、使用できる関連情報が含まれています。
- システムに登録されているすべてのミニフィルター ドライバーを列挙するには、 FltEnumerateFilters ルーチンを 呼び出します。
- 特定のボリュームにアタッチされているミニフィルター ドライバー インスタンスに関する情報を取得するには、 FltEnumerateInstanceInformationByVolume ルーチンを 呼び出します。
- 特定のミニフィルター ドライバーまたはボリュームのミニフィルター ドライバー インスタンスを列挙するには、 FltEnumerateInstances ルーチンを 呼び出します。
- システム内のすべてのボリュームを列挙するには、 FltEnumerateVolumes ルーチンを 呼び出します。
- 特定のボリューム デバイス オブジェクト (VDO) によって表されるボリュームの不透明なポインターを取得するには、 FltGetVolumeFromDeviceObject ルーチンを呼び出します。
- 特定のファイル ストリームが存在するボリュームの不透明なポインターを取得するには、 FltGetVolumeFromFileObject ルーチンを呼び出します。
- 特定のミニフィルター ドライバー インスタンスがアタッチされているボリュームの不透明なポインターを取得するには、 FltGetVolumeFromInstance ルーチンを呼び出します。
- 名前が特定のボリューム名と一致するボリュームの不透明なポインターを取得するには、 FltGetVolumeFromName ルーチンを呼び出します。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | このルーチンは、Windows Vista 以降で使用できます。 |
対象プラットフォーム | ユニバーサル |
Header | fltkernel.h (FltKernel.h を含む) |
Library | FltMgr.lib |
[DLL] | Fltmgr.sys |
IRQL | <= APC_LEVEL |
こちらもご覧ください
FILTER_VOLUME_BASIC_INFORMATION
FILTER_VOLUME_STANDARD_INFORMATION
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示