IWDFIoRequest2::IsCanceled 方法 (wudfddi.h)
[警告: UMDF 2 是最新版本的 UMDF,並取代 UMDF 1。 所有新的UMDF驅動程式都應該使用UMDF 2撰寫。 未將新功能新增至 UMDF 1,而且較新版本的 Windows 10 上對 UMDF 1 的支援有限。 通用 Windows 驅動程式必須使用 UMDF 2。 如需詳細資訊,請參閱 開始使用 UMDF。]
IsCanceled 方法會判斷 I/O 管理員是否嘗試取消 I/O 要求。
語法
BOOL IsCanceled();
傳回值
如果 I/O 管理員嘗試取消 I/O 要求,IsCanceled 會傳 回 true。 此方法會傳回下列任何原因 FALSE:
- I/O 管理員未嘗試取消要求。
- 呼叫的驅動程式並不擁有要求。
- 呼叫端驅動程式已呼叫 IWDFIoRequest::MarkCancelable 方法。
言論
如果您的驅動程式尚未呼叫 IWDFIoRequest::MarkCancelable 來註冊 IRequestCallbackCancel::OnCancel 回呼函式,但如果您想要讓驅動程式判斷 I/O 管理員是否已嘗試取消 I/O 要求,則驅動程式可以呼叫 IsCanceled。
只有在驅動程式擁有 I/O 要求時,驅動程式才能針對要求呼叫 IsCanceled。 如果驅動程式已呼叫 IWDFIoRequest::MarkCancelable,則必須先呼叫 IWDFIoRequest::UnmarkCancelable,才能呼叫 IsCanceled。
如果 IsCanceled 傳回 TRUE ,您的驅動程式應該呼叫 IWDFIoRequest::Complete,並將 CompletionStatus 參數設定為 HRESULT_FROM_WIN32(ERROR_OPERATION_ABORTED)。
如需 IsCanceled的詳細資訊,請參閱 取消 I/O 要求。
例子
在下列程式代碼範例中,如果 IsCanceled 傳回 TRUE ,驅動程式會呼叫 IWDFIoRequest::Complete,完成狀態為 HRESULT_FROM_WIN32(ERROR_OPERATION_ABORTED)。
if (fxRequest2->IsCanceled())
{
fxRequest2->Complete(HRESULT_FROM_WIN32(ERROR_OPERATION_ABORTED));
}
...
要求
要求 | 價值 |
---|---|
終止支援 | UMDF 2.0 和更新版本中無法使用。 |
目標平臺 | 桌面 |
最低 UMDF 版本 | 1.9 |
標頭 | wudfddi.h (包括 Wudfddi.h) |
DLL | WUDFx.dll |