FltDeleteInstanceContext 関数 (fltkernel.h)

FltDeleteInstanceContext 、特定のインスタンスからコンテキストを削除し、そのコンテキストを削除対象としてマークします。

構文

NTSTATUS FLTAPI FltDeleteInstanceContext(
  [in]  PFLT_INSTANCE Instance,
  [out] PFLT_CONTEXT  *OldContext
);

パラメーター

[in] Instance

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

[out] OldContext

削除されたコンテキストのアドレスを受け取る呼び出し元によって割り当てられた変数へのポインター。 このパラメーターは省略可能であり、NULL できます。 OldContext が NULL されず、NULL_CONTEXTを指していない場合、呼び出し元は、必要なくなったときにこのコンテキストを解放するために FltReleaseContext呼び出す必要があります。

戻り値

FltDeleteInstanceContext は、次のいずれかのSTATUS_SUCCESSまたは適切な NTSTATUS 値を返します。

リターン コード 形容
STATUS_FLT_DELETING_OBJECT 指定した インスタンス が取り壊されています。 これはエラー コードです。
STATUS_NOT_FOUND 一致するコンテキストが見つかりませんでした。 これはエラー コードです。

備考

コンテキストの詳細については、「ミニフィルター コンテキストについて」を参照してください。

コンテキストは参照カウントされるため、通常、ミニフィルター ドライバーが、明示的にコンテキストを削除するために fltDeleteInstanceContext などのルーチン 呼び出す必要はありません。

ミニフィルター ドライバーは、FltDeleteInstanceContext 呼び出して、インスタンスからコンテキストを削除し、コンテキストに削除のマークを付けます。 コンテキストは通常、未処理の参照がない限りすぐに解放されます (たとえば、コンテキストがまだ別のスレッドで使用されているため)。

新しいコンテキストを割り当てるには、FltAllocateContext呼び出します。

インスタンス コンテキストを取得するには、FltGetInstanceContext呼び出します。

インスタンス コンテキストを設定するには、FltSetInstanceContext呼び出します。

必要条件

要件 価値
ターゲット プラットフォーム の 万国
ヘッダー fltkernel.h (Fltkernel.h を含む)
ライブラリ FltMgr.lib
IRQL <= APC_LEVEL

関連項目

FltAllocateContextの

FltDeleteContextの

FltGetInstanceContextの

FltReleaseContextの

FltSetInstanceContextの