共用方式為


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 回呼函式,則如果回呼函式傳回 TRUE,則回呼函式必須呼叫 CloseForQueryRemove,以指出裝置可以移除。

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