FltEnumerateVolumeInformation 関数 (fltkernel.h)
FltEnumerateVolumeInformation ルーチンは、フィルター マネージャーに認識されているボリュームに関する情報を提供します。
構文
NTSTATUS FLTAPI FltEnumerateVolumeInformation(
[in] PFLT_FILTER Filter,
[in] ULONG Index,
[in] FILTER_VOLUME_INFORMATION_CLASS InformationClass,
[out] PVOID Buffer,
[in] ULONG BufferSize,
[out] PULONG BytesReturned
);
パラメーター
[in] Filter
ミニフィルター ドライバーの不透明なフィルター ポインター。 このポインターは、ミニフィルター ドライバーを一意に識別し、ミニフィルター ドライバーが読み込まれている限り一定のままになります。
[in] Index
情報が要求されるボリュームの 0 から始まるインデックス。
[in] InformationClass
要求された情報の種類。 このパラメーターには、次のいずれかの値を指定できます。
価値 | 意味 |
---|---|
FilterVolumeBasicInformation | Buffer パラメーターは、ボリュームの FILTER_VOLUME_BASIC_INFORMATION 構造体を受け取ります。 |
FilterVolumeStandardInformation | Buffer パラメーターは、ボリュームの FILTER_VOLUME_STANDARD_INFORMATION 構造体を受け取ります。 この構造は、Windows Vista 以降で使用できます。 |
[out] Buffer
要求された情報を受信する呼び出し元によって割り当てられたバッファーへのポインター。 バッファーで返される情報の型は、InformationClass パラメーターによって定義されます。
[in] BufferSize
Buffer パラメーターが指すバッファーのサイズ (バイト単位)。 呼び出し元は、指定された InformationClass 値に従って、このパラメーターを設定する必要があります。
[out] BytesReturned
バッファー が指すバッファーで返されたバイト数を受け取る呼び出し元によって割り当てられた変数へのポインター 。 BufferSize の入力値が小さすぎる場合、FltEnumerateVolumeInformation はSTATUS_BUFFER_TOO_SMALLを返し、要求された情報を格納するために必要なバイト数にこの変数を設定します。 このパラメーターは必須であり、NULL することはできません。
戻り値
FltEnumerateVolumeInformation 、次のいずれかのSTATUS_SUCCESSまたは適切な NTSTATUS 値を返します。
リターン コード | 形容 |
---|---|
|
Buffer パラメーターが指すバッファーは、要求された情報を格納するのに十分な大きさではありません。 これはエラー コードです。 |
|
一致するボリュームが見つかりましたが、取り壊されています。 これはエラー コードです。 |
|
InformationClass パラメーターに無効な値が指定されました。 たとえば、Windows Vista より前のオペレーティング システム FilterVolumeStandardInformation が指定されている場合、ルーチンはSTATUS_INVALID_PARAMETERを返します。 これはエラー コードです。 |
|
ボリュームのグローバル リストには、これ以上エントリがありません。 これは警告コードです。 |
備考
Index パラメーターを使用することは、単に、FltEnumerateVolumeInformation ルーチンがフィルター マネージャーのボリュームのグローバル リスト内のボリュームを選択する方法です。 Index パラメーターの値が同じ FltEnumerateVolumeInformation を する 2 回の呼び出しでは、ボリュームをいつでもマウントまたはマウント解除できるため、必ずしも同じ結果が返されるわけではありません。
FltEnumerateVolumeInformation を使用してボリューム情報構造体の一覧を作成する場合、これらの構造体の 2 つ以上に同じボリューム名を含める可能性があります。 詳細については、「ボリューム名が重複するボリューム列挙について」を参照してください。
登録されているすべてのミニフィルター ドライバーを列挙するには、FltEnumerateFilters 呼び出します。
フィルター マネージャーに認識されているすべてのボリュームを列挙するには、FltEnumerateVolumes 呼び出します。
登録されているすべてのミニフィルター ドライバーのフィルター情報を一覧表示するには、FltEnumerateFilterInformation を呼び出します。
特定のミニフィルター ドライバーのフィルター情報を取得するには、FltGetFilterInformation 呼び出します。
特定のミニフィルター ドライバーのすべてのインスタンスを列挙するには、FltEnumerateInstanceInformationByFilter を呼び出します。
特定のボリューム上のすべてのミニフィルター ドライバー インスタンスを列挙するには、FltEnumerateInstanceInformationByVolume 呼び出します。
すべてのボリューム上のすべてのミニフィルター ドライバーのインスタンスを列挙するには、FltEnumerateInstances 呼び出します。
必要条件
要件 | 価値 |
---|---|
ターゲット プラットフォーム の | 万国 |
ヘッダー | fltkernel.h (FltKernel.h を含む) |
ライブラリ | FltMgr.lib |
IRQL | <= APC_LEVEL |
関連項目
FILTER_VOLUME_BASIC_INFORMATION
FILTER_VOLUME_STANDARD_INFORMATION
FltEnumerateFilterInformation の
FltEnumerateFilters を する
FltEnumerateInstanceInformationByFilter の
FltEnumerateInstanceInformationByVolume の
FltEnumerateInstances の
FltEnumerateVolumes の
FltGetFilterInformation の