共用方式為


FltDeleteContext 函式 (fltkernel.h)

FltDeleteContext 會標示要刪除的指定內容。

語法

VOID FLTAPI FltDeleteContext(
  [in] PFLT_CONTEXT Context
);

參數

[in] Context

要刪除之內容的指標。 這個參數是必要的,而且不能是 NULL

傳回值

無。

備註

如需內容的詳細資訊,請參閱 關於迷你篩選內容

因為內容是參考計數的,所以小型篩選驅動程式通常不需要呼叫例程,例如 FltDeleteContext,才能明確刪除內容。

FltDeleteContext 會標示要刪除的內容。 除非有未處理的參考,否則內容通常會在發行時立即釋出,除非有未處理的參考 (,因為另一個線程仍會使用內容) 。

當您使用 FltDeleteContext 時,您應該考慮下列專案:

  • 當迷你篩選驅動程式呼叫 FltDeleteContext 時,迷你篩選驅動程式必須已經有內容的參考。 不過,當 minifilter 驅動程式呼叫 FltDeleteStreamHandleContextFltDeleteStreamContext、FltDeleteInstanceContext 等等時,minifilter 驅動程式不需要參考內容。 在迷你篩選驅動程式呼叫 FltDeleteContext 之後,該內容參考仍然有效。 迷你篩選驅動程式必須呼叫 FltReleaseContext 例程,以釋放內容的參考。

  • FltDeleteContext 會從內部篩選管理員結構中移除內容。 然後,進一步呼叫取得內容的函式,例如 FltGetContextsFltGetInstanceContext,找不到該內容。 不過,在內容參考計數移至 0 之前,不會釋放內容記憶體。

您也可以從下表呼叫適當的刪除內容例程來刪除內容。

內容類型 Delete-Context 例程
FLT_FILE_CONTEXT FltDeleteFileContext (Windows Vista 及更新版本。)
FLT_INSTANCE_CONTEXT FltDeleteInstanceContext
FLT_SECTION_CONTEXT FltCloseSectionForDataScan (Windows 8 和更新版本 only.)
FLT_STREAM_CONTEXT FltDeleteStreamContext
FLT_STREAMHANDLE_CONTEXT FltDeleteStreamHandleContext
FLT_TRANSACTION_CONTEXT FltDeleteTransactionContext (Windows Vista 及更新版本。)
FLT_VOLUME_CONTEXT FltDeleteVolumeContext

若要配置新的內容,請呼叫 FltAllocateContext

若要遞增內容上的參考計數,請呼叫 FltReferenceContext

若要遞減內容上的參考計數,請呼叫 FltReleaseContext

區段內容FLT_SECTION_CONTEXT類型,不得使用 FltDeleteContext 刪除。 請改用 FltReleaseContext 來解除分配區段內容。

規格需求

需求
目標平台 Universal
標頭 fltkernel.h (包含 Fltkernel.h)
程式庫 FltMgr.lib
Dll Fltmgr.sys
IRQL <= APC_LEVEL

另請參閱

FltAllocateContext

FltCloseSectionForDataScan

FltDeleteFileContext

FltDeleteInstanceContext

FltDeleteStreamContext

FltDeleteStreamHandleContext

FltDeleteTransactionContext

FltDeleteVolumeContext

FltReferenceContext

FltReleaseContext