IRequestCallbackCancel::OnCancel 方法 (wudfddi.h)
[警告: UMDF 2 是最新版本的 UMDF,並取代 UMDF 1。 所有新的UMDF驅動程式都應該使用UMDF 2撰寫。 未將新功能新增至 UMDF 1,而且較新版本的 Windows 10 上對 UMDF 1 的支援有限。 通用 Windows 驅動程式必須使用 UMDF 2。 如需詳細資訊,請參閱 開始使用 UMDF。]
當應用程式透過 Microsoft Win32 CancelIo、CancelIoEx或 CancelSynchronousIo 函式取消 I/O 作業時,會呼叫 OnCancel 方法。
語法
void OnCancel(
[in] IWDFIoRequest *pWdfRequest
);
參數
[in] pWdfRequest
IWDFIoRequest 介面的指標,表示要取消的架構要求物件。
傳回值
沒有
言論
架構會呼叫 OnCancel 方法來取消 pWdfRequest 參數所識別的 I/O 要求。 驅動程式應該先判斷是否可以取消 I/O 要求。 如果可以取消要求,驅動程式應該取消它。 如需如何取消要求的詳細資訊,請參閱 取消 I/O 要求。
如果驅動程式取消要求,驅動程式也必須呼叫 IWDFIoRequest::Complete 方法,並將 CompletionStatus 參數設定為 HRESULT_FROM_WIN32(ERROR_OPERATION_ABORTED)。
除非驅動程式先前呼叫 IWDFIoRequest::MarkCancelable 方法來啟用取消要求,並註冊 IRequestCallbackCancel 介面,否則架構不會呼叫 OnCancel 來取消要求。
User-Mode Driver Framework (UMDF) 只允許每個佇列一個 OnCancel 方法。 因此,當驅動程式針對與特定佇列相關聯的要求呼叫 IWDFIoRequest::MarkCancelable,讓架構取消這些要求時,驅動程式必須針對相同的要求回呼對象傳遞 IRequestCallbackCancel 介面的指標。 稍後,若要取消每個要求,架構會將指標傳遞至呼叫此 request-callback 對象的 OnCancel 方法中,要求 IWDFIoRequest 介面。
要求
要求 | 價值 |
---|---|
目標平臺 | 窗戶 |
標頭 | wudfddi.h (包括 Wudfddi.h) |