Share via


FltGetFilterFromInstance 関数 (fltkernel.h)

FltGetFilterFromInstance ルーチンは、指定されたインスタンスを作成したミニフィルター ドライバーの不透明なフィルター ポインターを返します。

構文

NTSTATUS FLTAPI FltGetFilterFromInstance(
  [in]  PFLT_INSTANCE Instance,
  [out] PFLT_FILTER   *RetFilter
);

パラメーター

[in] Instance

インスタンスの不透明なインスタンス ポインター。

[out] RetFilter

ミニフィルター ドライバーの不透明なフィルター ポインターを受け取る呼び出し元によって割り当てられた変数へのポインター。 このパラメーターは必須であり、 NULL にすることはできません。

戻り値

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

リターン コード 説明
STATUS_FLT_DELETING_OBJECT
ミニフィルター ドライバーが取り壊されています。 これはエラー コードです。

注釈

FltGetFilterFromInstance は、 RetFilter パラメーターで返される不透明なフィルター ポインターにランダウン参照を追加します。 このポインターが不要になった場合、呼び出し元は FltObjectDereference を呼び出してポインターを解放する必要があります。 したがって、 FltGetFilterFromInstance を正常に呼び出すたびに、 後続の FltObjectDereference の呼び出しと一致する必要があります。

特定のミニフィルター ドライバー インスタンスがアタッチされているボリュームの不透明なボリューム ポインターを取得するには、 FltGetVolumeFromInstance を呼び出します。

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

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

要件

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

こちらもご覧ください

FltEnumerateInstanceInformationByFilter

FltEnumerateInstances

FltGetVolumeFromInstance

FltObjectDereference