次の方法で共有


FltEnumerateVolumes 関数 (fltkernel.h)

FltEnumerateVolumes ルーチンは、システム内のすべてのボリュームを列挙します。

構文

NTSTATUS FLTAPI FltEnumerateVolumes(
  [in]  PFLT_FILTER Filter,
  [out] PFLT_VOLUME *VolumeList,
  [in]  ULONG       VolumeListSize,
  [out] PULONG      NumberVolumesReturned
);

パラメーター

[in] Filter

呼び出し元の不透明なフィルター ポインター。 このパラメーターは必須であり、 NULL にすることはできません。

[out] VolumeList

不透明なボリューム ポインターの配列を受け取る呼び出し元によって割り当てられたバッファーへのポインター。 このパラメーターは省略可能であり、VolumeListSize が 0 の場合は NULL にすることができます。 入力時に VolumeListSize が 0 で VolumeListNULL の場合、NumberVolumesReturned は検出されたボリュームの数を受け取ります。

[in] VolumeListSize

VolumeList が指すバッファーが保持できる不透明なフィルター ポインターの数。 このパラメーターは省略可能であり、0 にすることができます。 入力時に VolumeListSize が 0 で VolumeListNULL の場合、NumberVolumesReturned は検出されたボリュームの数を受け取ります。

[out] NumberVolumesReturned

VolumeList が指す配列で返される不透明なボリューム ポインターの数を受け取る呼び出し元によって割り当てられた変数へのポインター。 VolumeListSize が小さすぎて、入力時に VolumeListNULL 以外の場合、FltEnumerateVolumes はSTATUS_BUFFER_TOO_SMALLを返し、NumberVolumesReturned に見つかったボリュームの数を指すように設定します。 このパラメーターは必須であり、 NULL にすることはできません。

戻り値

FltEnumerateVolumes は 、次のようなSTATUS_SUCCESSまたは適切な NTSTATUS 値を返します。

リターン コード 説明
STATUS_BUFFER_TOO_SMALL
VolumeList パラメーターが指すバッファーは、要求された情報を格納するのに十分な大きさではありません。 これはエラー コードです。

注釈

フィルター マネージャーのボリューム リストの内容はいつでも変更できるため、 FltEnumerateVolumes の 2 回の呼び出しで同じ結果が返される保証はありません。

FltEnumerateVolumes は、 VolumeList が指す配列で返される不透明な各ボリューム ポインターにランダウン参照を追加します。 これらのポインターが不要になった場合、呼び出し元は各ポインターに 対して FltObjectDereference を呼び出してそれらを解放する必要があります。 したがって、 FltEnumerateVolumes への正常な呼び出しはすべて、返される各ボリューム ポインターに対する FltObjectDereference の後続の呼び出しと一致する必要があります。

VolumeList パラメーターによって返される 1 つ以上の不透明なボリューム ポインターをボリューム情報に変換するには、FltGetVolumeInformation を呼び出します。

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

登録されているすべてのミニフィルター ドライバーを列挙するには、 FltEnumerateFilters を呼び出します。

すべてのミニフィルター ドライバー インスタンスを列挙するには、 FltEnumerateInstances を呼び出します。

特定のボリューム上のすべてのミニフィルター ドライバー インスタンスを列挙するには、 FltEnumerateInstanceInformationByVolume を呼び出します。

要件

要件
対象プラットフォーム ユニバーサル
Header fltkernel.h (FltKernel.h を含む)
Library FltMgr.lib
IRQL <= APC_LEVEL

こちらもご覧ください

FltEnumerateFilters

FltEnumerateInstanceInformationByVolume

FltEnumerateInstances

FltEnumerateVolumeInformation

FltGetVolumeInformation

FltObjectDereference