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。 否则,该方法可能会返回以下值:
返回代码 | 描述 |
---|---|
|
框架尝试分配内存失败。 |
此方法可能会返回 Winerror.h 包含的其他值之一。
如果框架无法打开文件,框架 验证程序 报告错误。
言论
通常,驱动程序从 IRemoteTargetCallbackRemoval::OnRemoteTargetRemoveCanceled 回调函数中调用 重新打开,但在 OnRemoteTargetRemoveCanceled 返回后,可以改为调用重新打开。
重新打开使用之前指定的驱动程序 IWDFRemoteTarget::OpenFileByName 或 IWDFRemoteTarget::OpenRemoteInterface的文件或接口名称。 如果要更改驱动程序正在使用的文件或接口,驱动程序可以调用 IWDFRemoteTarget::Close,然后它可以调用 OpenFileByName 或 OpenRemoteInterface,而不是 重新打开。
有关 重新打开 以及如何在基于 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 |