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,则必须在调用 IsCanceled 之前调用 IWDFIoRequest::UnmarkCancelable。
如果 IsCanceled 返回 TRUE,则驱动程序应通过调用 IWDFIoRequest::Complete 来取消请求,并将 CompletionStatus 参数设置为 HRESULT_FROM_WIN32 (ERROR_OPERATION_ABORTED) 。
有关 IsCanceled 的详细信息,请参阅 取消 I/O 请求。
示例
在以下代码示例中,如果 IsCanceled 返回 TRUE,则驱动程序通过调用 IWDFIoRequest::Complete 完成 I/O 请求,完成状态为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 |