IWDFIoRequest2::Reuse 方法 (wudfddi.h)
[警告: UMDF 2 是最新版本的 UMDF,并取代 UMDF 1。 所有新的 UMDF 驱动程序都应使用 UMDF 2 编写。 不会向 UMDF 1 添加任何新功能,并且较新版本的 Windows 10 上对 UMDF 1 的支持有限。 通用 Windows 驱动程序必须使用 UMDF 2。 有关详细信息,请参阅使用 UMDF 入门。]
Reuse 方法重新初始化框架请求对象,以便可以重复使用它。
语法
void Reuse(
[in] HRESULT hrNewStatus
);
参数
[in] hrNewStatus
框架分配给请求的 HRESULT 类型状态值。
返回值
无
备注
如果基于框架的驱动程序调用 IWDFDevice::CreateRequest 来创建请求对象,则驱动程序可以重用这些请求对象。 驱动程序还可以重复使用从其 I/O 队列中的框架接收的请求对象。
在完成原始请求后,驱动程序可以重用请求对象。 驱动程序调用 “重用”后,必须重新初始化请求的内容。
如果希望重复使用的请求具有 IRequestCallbackRequestCompletion::OnCompletion 回调函数,驱动程序必须在调用 Reuse 后调用 IWDFIoRequest::SetCompletionCallback。
有关 重用的详细信息,请参阅 重用框架请求对象。
示例
下面的代码示例演示 IRequestCallbackRequestCompletion::OnCompletion 回调函数如何获取 IWDFIoRequest2 接口,然后调用 Reuse。
void
STDMETHODCALLTYPE
CMyRemoteDevice::OnCompletion(
__in IWDFIoRequest* FxRequest,
__in IWDFIoTarget* FxTarget,
__in IWDFRequestCompletionParams* Params,
__in void* Context
)
{
...
CComQIPtr<IWDFIoRequest2> fxRequest2(FxRequest);
fxRequest2->Reuse(S_OK);
...
}
要求
要求 | 值 |
---|---|
结束支持 | 在 UMDF 2.0 及更高版本中不可用。 |
目标平台 | 桌面 |
最低 UMDF 版本 | 1.9 |
标头 | wudfddi.h (包括 Wudfddi.h) |
DLL | WUDFx.dll |