FltDeleteFileContext 函式 (fltkernel.h)

FltDeleteFileContext 例程會擷取並刪除指定迷你篩選驅動程式針對指定檔案設定的檔案內容。

語法

NTSTATUS FLTAPI FltDeleteFileContext(
  [in]  PFLT_INSTANCE Instance,
  [in]  PFILE_OBJECT  FileObject,
  [out] PFLT_CONTEXT  *OldContext
);

參數

[in] Instance

呼叫端的不透明實例指標。 這個參數是必要的,而且不能是 NULL

[in] FileObject

檔案的檔案對象指標。 這個參數是必要的,而且不能是 NULL

[out] OldContext

接收已刪除內容位址之呼叫端配置的變數指標。 如果找不到相符的內容,此變數會收到NULL_CONTEXT。 此參數是選擇性的,可以是 NULL。 如需此參數的詳細資訊,請參閱下列一節。

傳回值

FltDeleteFileContext 會傳回STATUS_SUCCESS或適當的 NTSTATUS 值,例如下列其中一項:

傳回碼 Description
STATUS_NOT_FOUND 找不到相符的內容。 這是錯誤碼。
STATUS_NOT_SUPPORTED 此檔案不支援檔案內容。 這是錯誤碼。

備註

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

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

迷你篩選驅動程式會呼叫 FltDeleteFileContext ,藉由呼叫 FltSetFileContext 來擷取和刪除先前為檔案設定的檔案內容。

如果輸入上的 OldContext 參數為 NULL ,而且找到相符的檔案內容, FltDeleteFileContext 會釋放 Minifilter 驅動程式先前呼叫 FltSetFileContext 所新增的參考。 刪除的內容通常會立即釋放,除非有未處理的參考 (,因為另一個線程仍會使用內容) 。

如果 OldContext 參數不是 NULL ,而且找到並傳回相符的檔案內容,則呼叫端會負責釋放 FltSetFileContext 所新增的參考。 若要釋放此參考,迷你篩選驅動程式必須在刪除的檔案內容上儘快呼叫 FltReleaseContext ,再執行任何必要的清除。

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

若要判斷指定檔案是否支援檔案內容,請呼叫 FltSupportsFileContextsFltSupportsFileContextsEx

規格需求

需求
最低支援的用戶端 Windows Vista 和更新版本
目標平台 Universal
標頭 fltkernel.h (包含 Fltkernel.h)
程式庫 FltMgr.lib
IRQL <= APC_LEVEL

另請參閱

FLT_CONTEXT_REGISTRATION

FltAllocateContext

FltDeleteContext

FltGetFileContext

FltReleaseContext

FltSetFileContext

FltSupportsFileContexts

FltSupportsFileContextsEx