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 要求。
Syntax
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) ,以完成 I/O 要求。
if (fxRequest2->IsCanceled())
{
fxRequest2->Complete(HRESULT_FROM_WIN32(ERROR_OPERATION_ABORTED));
}
...
規格需求
需求 | 值 |
---|---|
終止支援 | 在 UMDF 2.0 和更新版本中無法使用。 |
目標平台 | 桌面 |
最低UMDF版本 | 1.9 |
標頭 | wudfddi.h (包含 Wudfddi.h) |
Dll | WUDFx.dll |