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) 。
框架不会调用 OnCancel 来取消请求,除非驱动程序之前调用 IWDFIoRequest::MarkCancelable 方法来启用取消请求并注册 IRequestCallbackCancel 接口。
User-Mode Driver Framework (UMDF) 只允许每个队列使用一个 OnCancel 方法。 因此,当驱动程序为与特定队列关联的请求调用 IWDFIoRequest::MarkCancelable 以使框架能够取消这些请求时,驱动程序必须将指针传递给同一请求回调对象的 IRequestCallbackCancel 接口。 稍后,为了取消每个请求,框架在调用此 request-callback 对象的 OnCancel 方法时将指向请求的 IWDFIoRequest 接口的指针。
要求
要求 | 值 |
---|---|
目标平台 | Windows |
标头 | wudfddi.h (包括 Wudfddi.h) |