EXT_DELETE_CALLBACK回呼函式 (wdm.h)
當操作系統刪除EX_TIMER定時器物件時,會執行 ExTimerDeleteCallback 回呼例程。
語法
EXT_DELETE_CALLBACK ExtDeleteCallback;
void ExtDeleteCallback(
[in, optional] PVOID Context
)
{...}
參數
[in, optional] Context
您驅動程式先前以輸入參數的形式傳遞至 ExDeleteTimer 例程之EXT_DELETE_PARAMETERS結構的 DeleteContext 成員的內容值。
傳回值
無
備註
作為選項,您的驅動程式可以在EXT_DELETE_PARAMETERS結構的DeleteCallback成員中提供ExTimerDeleteCallback例程的指標,讓驅動程式傳遞為輸入參數給ExDeleteTimer例程。 ExTimerDeleteCallback 例程可以釋放驅動程式先前可能配置用來與刪除定時器物件搭配使用的任何記憶體或其他系統資源。
如果驅動程式提供 ExTimerDeleteCallback 例程,且 ExDeleteRoutine 呼叫中的 Wait 參數為 TRUE,則 ExTimerDeleteCallback 例程會在 ExDeleteTimer 傳回之前執行。 否則, ExTimerDeleteCallback 例程可能會在 ExDeleteTimer 呼叫傳回之前或之後執行。 只有在停用定時器物件後,才會呼叫 ExTimerDeleteCallback 例程,以防止進一步的定時器作業,並取消或完成定時器物件上的任何擱置定時器作業。 定時器物件 (EX_TIMER結構) 驅動程式在 ExTimerDallback 例程執行時,當 ExDeleteTimer 例程傳遞為輸入參數時,可能不再有效。
如需詳細資訊,請參閱 ExXxxTimer 例程和EX_TIMER物件。
範例
若要定義 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呼叫。 |