EXT_DELETE_CALLBACK回呼函式 (wdm.h)
ExTimerDeleteCallback 回呼例程會在作系統刪除 EX_TIMER 定時器物件時執行。
語法
EXT_DELETE_CALLBACK ExtDeleteCallback;
void ExtDeleteCallback(
[in, optional] PVOID Context
)
{...}
參數
[in, optional] Context
來自 DeleteContext 的內容值EXT_DELETE_PARAMETERS 結構的成員,驅動程式先前將做為輸入參數傳遞至 ExDeleteTimer 例程。
傳回值
沒有
言論
作為選項,驅動程式可以在 DeleteCallback 成員中,提供 ExTimerDeleteCallback 例程 EXT_DELETE_PARAMETERS 的指標,讓驅動程式以輸入參數的形式傳遞給 ExDeleteTimer 例程。 ExTimerDeleteCallback 例程可以釋放驅動程式先前可能配置給與已刪除定時器物件搭配使用的任何記憶體或其他系統資源。
如果驅動程式提供 ExTimerDeleteCallback 例程,且 ExDeleteRoutine 呼叫中的 Wait 參數 TRUE,則 ExTimerDeleteCallback 例程會在 ExDeleteTimer 傳回之前執行。 否則,ExTimerDeleteCallback 例程可能會在 ExDeleteTimer 呼叫傳回之前或之後執行。 ExTimerDeleteCallback 例程只會在定時器物件停用後呼叫,以防止進一步定時器作業,而且定時器物件上的任何暫止定時器作業會取消或完成。 驅動程式將輸入參數傳遞至 ExDeleteTimer 例程的定時器物件(EX_TIMER 結構),在 ExTimerDeleteCallback 例程執行時可能不再有效。
如需詳細資訊,請參閱 ExXxxTimer 例程和 EX_TIMER Objects。
例子
若要定義 ExTimerDeleteCallback 回呼例程,您必須先提供函式宣告,以識別您要定義的回呼例程類型。 Windows 提供一組驅動程式的回呼函式類型。 使用回呼函式類型宣告函式有助於 驅動程式的程式代碼分析、靜態驅動程式驗證器 (SDV)和其他驗證工具尋找錯誤,而且是撰寫 Windows作系統驅動程式的需求。
例如,若要定義名為 MyExTimerDeleteCallback
的 ExTimerDeleteCallback 回呼例程,請使用 EXT_DELETE_CALLBACK 函式類型,如下列程式代碼範例所示:
EXT_DELETE_CALLBACK MyExTimerDeleteCallback;
然後,實作回呼例程,如下所示:
_Use_decl_annotations_
VOID
MyExTimerDeleteCallback(
PVOID Context
)
{...}
EXT_DELETE_CALLBACK函式類型定義於 Wdm.h 頭檔中。 若要在執行程式代碼分析工具時更準確地識別錯誤,請務必將 _Use_decl_annotations_
批註新增至函式定義。
_Use_decl_annotations_
批注可確保在頭檔中套用至EXT_DELETE_CALLBACK函式類型的批注。 如需函式宣告需求的詳細資訊,請參閱 使用 WDM 驅動程式的函式角色類型來宣告函式。 如需 _Use_decl_annotations_
的詳細資訊,請參閱 批注函式行為。
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | 從 Windows 8.1 開始提供。 |
目標平臺 | 桌面 |
標頭 | wdm.h (包括 Wdm.h、Ntddk.h、Ntifs.h) |
IRQL | 在 DISPATCH_LEVEL呼叫。 |