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

另请参阅

IRequestCallbackRequestCompletion::OnCompletion

IWDFIoRequest2

IWDFIoRequest::SetCompletionCallback