IWDFRemoteTarget::Reopen 方法 (wudfddi.h)

[警告: UMDF 2 是最新版本的 UMDF,取代了 UMDF 1。 所有新的 UMDF 驱动程序都应使用 UMDF 2 编写。 没有将新功能添加到 UMDF 1,并且对较新版本的 Windows 10 上的 UMDF 1 的支持有限。 通用 Windows 驱动程序必须使用 UMDF 2。 有关详细信息,请参阅 UMDF入门 。]

重新打开 方法在暂时关闭后重新打开 远程 I/O 目标

语法

HRESULT Reopen();

返回值

如果作成功,重新打开 将返回S_OK。 否则,该方法可能会返回以下值:

返回代码 描述
E_OUTOFMEMORY
框架尝试分配内存失败。
 

此方法可能会返回 Winerror.h 包含的其他值之一。

如果框架无法打开文件,框架 验证程序 报告错误。

言论

通常,驱动程序从 IRemoteTargetCallbackRemoval::OnRemoteTargetRemoveCanceled 回调函数中调用 重新打开但在 OnRemoteTargetRemoveCanceled 返回后,可以改为调用重新打开

重新打开使用之前指定的驱动程序 IWDFRemoteTarget::OpenFileByNameIWDFRemoteTarget::OpenRemoteInterface的文件或接口名称。 如果要更改驱动程序正在使用的文件或接口,驱动程序可以调用 IWDFRemoteTarget::Close,然后它可以调用 OpenFileByNameOpenRemoteInterface,而不是 重新打开

有关 重新打开 以及如何在基于 UMDF 的驱动程序中使用远程 I/O 目标的详细信息,请参阅 控制 UMDF中的常规 I/O 目标状态。

例子

下面的代码示例演示 IRemoteTargetCallbackRemoval::OnRemoteTargetRemoveCanceled 回调函数,该函数调用 重新打开

VOID 
STDMETHODCALLTYPE
CMyRemoteTarget::OnRemoteTargetRemoveCanceled(
    __in IWDFRemoteTarget* FxTarget
    )
{
 if (S_OK == (FxTarget->Reopen()))
    {
    //
    // Resume sending I/O requests to the remote target.
    //
    ...
    }
 else
    {
       FxTarget->Close();
    }
}

要求

要求 价值
终止支持 在 UMDF 2.0 及更高版本中不可用。
目标平台 桌面
最低 UMDF 版本 1.9
标头 wudfddi.h (包括 Wudfddi.h)
DLL WUDFx.dll

另请参阅

IWDFRemoteTarget

IWDFRemoteTarget::Close