次の方法で共有


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

バッファー が指すバッファーで返されたバイト数を受け取る呼び出し元によって割り当てられた変数へのポインター BufferSize の入力値が小さすぎる場合、FltGetVolumeInformation はSTATUS_BUFFER_TOO_SMALLを返し、要求された情報を格納するために必要なバイト数にこの変数を設定します。 このパラメーターは必須であり、NULL することはできません。

戻り値

FltGetVolumeInformation は、次のいずれかのSTATUS_SUCCESSまたは適切な NTSTATUS 状態コードを返します。

リターン コード 形容
STATUS_INVALID_PARAMETER
InformationClass パラメーターに無効な値が指定されました。 たとえば、Windows Vista より前のオペレーティング システム FilterVolumeStandardInformation が指定されている場合、ルーチンはSTATUS_INVALID_PARAMETERを返します。 これはエラー コードです。
STATUS_BUFFER_TOO_SMALL
Buffer パラメーターが指すバッファーは、要求された情報を格納するのに十分な大きさではありません。 これはエラー コードです。

備考

FltEnumerateVolumes ルーチンによって返されるような不透明なボリューム ポインターを指定すると、FltGetVolumeInformation ルーチンは、Volume パラメーターを介して渡される不透明なボリューム ポインターによって指されるボリュームに関する情報を提供します。 呼び出し元は、FltObjectDereference ルーチンを呼び出すことによって、最終的に不透明なボリューム ポインターを解放する必要があることに注意してください。

FltGetVolumeInformation ルーチンは、1 つのボリュームの情報を返します。 ただし、不透明なボリューム ポインターの一覧を指定すると、ルーチンを繰り返し使用して、対応するボリューム情報構造のリストを作成できます。 このようなリストでは、2 つ以上の構造体に同じボリューム名が含まれている可能性があります。 詳細については、「ボリューム名が重複するボリューム列挙について」を参照してください。

フィルター マネージャーに認識されているすべてのボリュームのボリューム情報を一覧表示するには、FltEnumerateVolumeInformation 呼び出します。

次の一覧には、使用できる関連情報が含まれています。

  • システムに登録されているすべてのミニフィルター ドライバーを列挙するには、FltEnumerateFilters ルーチンを呼び出します。
  • 特定のボリュームにアタッチされているミニフィルター ドライバー インスタンスに関する情報を取得するには、fltEnumerateInstanceInformationByVolume ルーチン 呼び出します。
  • 特定のミニフィルター ドライバーまたはボリュームのミニフィルター ドライバー インスタンスを列挙するには、FltEnumerateInstances ルーチンを呼び出します。
  • システム内のすべてのボリュームを列挙するには、FltEnumerateVolumes ルーチンを呼び出します。
  • 特定のボリューム デバイス オブジェクト (VDO) によって表されるボリュームの不透明なポインターを取得するには、fltGetVolumeFromDeviceObject ルーチン 呼び出します。
  • 特定のファイル ストリームが存在するボリュームの不透明なポインターを取得するには、fltGetVolumeFromFileObject ルーチン 呼び出します。
  • 特定のミニフィルター ドライバー インスタンスがアタッチされているボリュームの不透明なポインターを取得するには、FltGetVolumeFromInstance ルーチンを呼び出します。
  • 名前が特定のボリューム名と一致するボリュームの不透明なポインターを取得するには、fltGetVolumeFromName ルーチン 呼び出します。

必要条件

要件 価値
サポートされる最小クライアント このルーチンは、Windows Vista 以降で使用できます。
ターゲット プラットフォーム 万国
ヘッダー fltkernel.h (FltKernel.h を含む)
ライブラリ FltMgr.lib
DLL Fltmgr.sys
IRQL <= APC_LEVEL

関連項目

FILTER_VOLUME_BASIC_INFORMATION

FILTER_VOLUME_STANDARD_INFORMATION

FLT_RELATED_OBJECTS

FltEnumerateFilters する

FltEnumerateInstanceInformationByVolume

FltEnumerateInstances

FltEnumerateVolumeInformation

FltEnumerateVolumes

FltGetVolumeFromDeviceObject

FltGetVolumeFromFileObject

FltGetVolumeFromInstance する

FltGetVolumeFromName