IWDFRemoteTarget::CloseForQueryRemove 方法(wudfddi.h)

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

CloseForQueryRemove 方法关闭 远程 I/O 目标,因为作系统可能允许删除设备。

语法

HRESULT CloseForQueryRemove();

返回值

CloseForQueryRemove 方法始终返回S_OK。

言论

如果驱动程序提供 IRemoteTargetCallbackRemoval::OnRemoteTargetQueryRemove 回调函数,则回调函数必须调用 closeForQueryRemove(如果返回 true TRUE 以指示可以删除设备)。

CloseForQueryRemove 方法完成或取消驱动程序已发送到 I/O 目标的所有 I/O 请求。

在驱动程序 CloseForQueryRemove调用后,驱动程序无法将 I/O 请求发送到 I/O 目标,直到调用 IWDFRemoteTarget::Reopen

有关 CloseForQueryRemove 方法的详细信息,请参阅 控制 UMDF中的常规 I/O 目标状态。

例子

下面的代码示例演示 IRemoteTargetCallbackRemoval::OnRemoteTargetQueryRemove 回调函数,该函数调用 CloseForQueryRemove

BOOL
STDMETHODCALLTYPE
CMyRemoteTarget::OnRemoteTargetQueryRemove(
    __in IWDFRemoteTarget  *FxTarget
    )
{
    //
    // Here, do any driver-specific actions that your driver requires
    // to stop sending I/O requests to the I/O target.
    //
...
    //
    // Close the target.
    //
    FxTarget->CloseForQueryRemove();

    //
    // Return TRUE if you want to allow removal of the device.
    //
    return TRUE;
}

要求

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

另请参阅

IWDFRemoteTarget

IWDFRemoteTarget::Close