共用方式為


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 目標,因為操作系統可能會允許移除裝置。

Syntax

HRESULT CloseForQueryRemove();

傳回值

CloseForQueryRemove 方法一律會傳回S_OK。

備註

如果您的驅動程式提供 IRemoteTargetCallbackRemoval::OnRemoteTargetQueryRemove 回呼函式,則如果回呼函式傳回 TRUE,就必須呼叫 CloseForQueryRemove,以指出可以移除裝置。

CloseForQueryRemove 方法會完成或取消驅動程式已傳送至 I/O 目標的所有 I/O 要求。

在驅動程式呼叫 CloseForQueryRemove 之後,驅動程式在呼叫 IWDFRemoteTarget::Reopen 之前,無法將 I/O 要求傳送至 I/O 目標。

如需 CloseForQueryRemove 方法的詳細資訊,請參閱 控制 UMDF 中的一般 I/O 目標狀態

範例

下列程式代碼範例顯示呼叫 CloseForQueryRemoveIRemoteTargetCallbackRemoval::OnRemoteTargetQueryRemove 回呼函式。

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