共用方式為


FltDeleteContext 函式 (fltkernel.h)

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

語法

VOID FLTAPI FltDeleteContext(
  [in] PFLT_CONTEXT Context
);

參數

[in] Context

要刪除之內容的指標。 這是必要參數,而且無法 NULL

傳回值

沒有。

言論

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

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

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

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

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

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

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

內容類型 Delete-Context 例程
FLT_FILE_CONTEXT FltDeleteFileContext (僅限 Windows Vista 和更新版本。
FLT_INSTANCE_CONTEXT FltDeleteInstanceContext
FLT_SECTION_CONTEXT FltCloseSectionForDataScan (僅限 Windows 8 和更新版本。
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 來解除分配區段內容。

要求

要求 價值
目標平臺 普遍
標頭 fltkernel.h (包括 Fltkernel.h)
連結庫 FltMgr.lib
DLL Fltmgr.sys
IRQL <= APC_LEVEL

另請參閱

FltAllocateContext

FltCloseSectionForDataScan

FltDeleteFileContext

FltDeleteInstanceContext

FltDeleteStreamContext

FltDeleteStreamHandleContext

FltDeleteTransactionContext

FltDeleteVolumeContext

FltReferenceContext

FltReleaseContext