FltDeleteTransactionContext 例程會從指定的交易中移除內容,並將內容標示為要刪除。
語法
NTSTATUS FLTAPI FltDeleteTransactionContext(
[in] PFLT_INSTANCE Instance,
[in] PKTRANSACTION Transaction,
[out, optional] PFLT_CONTEXT *OldContext
);
參數
[in] Instance
呼叫端的不透明實例指標。
[in] Transaction
正在刪除其內容之交易的不透明交易指標。
[out, optional] OldContext
接收已刪除內容位址之呼叫端配置的變數指標。 這個參數是選擇性的,而且可以 NULL。 如果 OldContext 未 NULL,且未指向NULL_CONTEXT,則呼叫者會負責呼叫 FltReleaseContext,以在不再需要時釋放此內容。
傳回值
FltDeleteTransactionContext 會傳回STATUS_SUCCESS或適當的 NTSTATUS 值,如下所示:
| 傳回碼 | 描述 |
|---|---|
| STATUS_FLT_DELETING_OBJECT | 指定的實例 正在被拆毀。 這是錯誤碼。 |
| STATUS_NOT_FOUND | 找不到相符的內容。 這是錯誤碼。 |
言論
如需內容的詳細資訊,請參閱 關於小型篩選內容。
因為內容是參考計數,所以小型篩選驅動程式通常不需要呼叫例程,例如 FltDeleteTransactionContext 明確刪除內容。
小型篩選驅動程式會呼叫 FltDeleteTransactionContext,以從交易中移除內容,並將內容標示為刪除。 除非其上有未處理的參考,否則通常會立即釋放內容(例如,因為內容仍由另一個線程使用)。
若要設定新的內容,請呼叫 FltAllocateContext。
若要擷取交易內容,請呼叫 FltGetTransactionContext。
若要設定交易內容,請呼叫 FltSetTransactionContext。
要求
| 要求 | 價值 |
|---|---|
| 最低支援的用戶端 | Windows Vista 和更新版本 |
| 目標平臺 | 普遍 |
| 標頭 | fltkernel.h (包括 Fltkernel.h) |
| 連結庫 | FltMgr.lib |
| IRQL | <= APC_LEVEL |