IQueueCallbackIoCanceledOnQueue::OnIoCanceledOnQueue 方法 (wudfddi.h)
[警告: UMDF 2 是最新版本的 UMDF,并取代 UMDF 1。 所有新的 UMDF 驱动程序都应使用 UMDF 2 编写。 不会向 UMDF 1 添加任何新功能,并且较新版本的 Windows 10 上对 UMDF 1 的支持有限。 通用 Windows 驱动程序必须使用 UMDF 2。 有关详细信息,请参阅使用 UMDF 入门。]
驱动程序的 OnIoCanceledOnQueue 事件回调函数通知驱动程序 I/O 请求在 I/O 队列中时已取消。
语法
void OnIoCanceledOnQueue(
[in] IWDFIoQueue *pWdfQueue,
[in] IWDFIoRequest *pWdfRequest
);
参数
[in] pWdfQueue
指向 I/O 请求取消时位于的 IWDFIoQueue 接口的指针。
[in] pWdfRequest
指向 I/O 请求的 IWDFIoRequest 接口的指针。
返回值
无
备注
驱动程序在调用 IWDFDevice::CreateIoQueue 时注册 IQueueCallbackIoCanceledOnQueue 接口和 OnIoCanceledOnQueue 回调函数。 有关如何注册接口的详细信息,请参阅 IQueueCallbackIoCanceledOnQueue。
如果驱动程序为 I/O 队列注册 OnIoCanceledOnQueue 回调函数,则如果请求处理程序从 I/O 队列收到 I/O 请求,则框架将调用回调函数,驱动程序将调用 IWDFIoRequest::ForwardToIoQueue 或 IWDFIoRequest2::Requeue ,以重新排队到为其注册 OnIoCanceledOnQueue 回调函数的 I/O 队列的请求, 随后会取消关联的 I/O 操作。
在框架调用 OnIoCanceledOnQueue 回调函数后,驱动程序拥有请求对象,因此必须 取消 请求。
框架不会为框架从未传递给驱动程序的 I/O 请求调用驱动程序的 OnIoCanceledOnQueue 回调函数。
框架在确定 I/O 请求已被取消后立即调用 OnIoCanceledOnQueue 回调函数,而不考虑驱动程序为 I/O 队列设置的 调度方法 。 因此,框架可以为使用顺序调度的队列中的请求调用 OnIoCanceledOnQueue 回调函数,即使驱动程序当前拥有队列中的另一个请求也是如此。
有关 OnIoCanceledOnQueue 回调函数的详细信息,请参阅 取消 I/O 请求。
要求
要求 | 值 |
---|---|
结束支持 | 在 UMDF 2.0 及更高版本中不可用。 |
目标平台 | 桌面 |
最低 UMDF 版本 | 1.9 |
标头 | wudfddi.h (包括 Wudfddi.h) |