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 目標狀態。
範例
下列程式代碼範例顯示呼叫 CloseForQueryRemove 的 IRemoteTargetCallbackRemoval::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 |