共用方式為


IRemoteTargetCallbackRemoval::OnRemoteTargetQueryRemove 方法 (wudfddi.h)

[警告: UMDF 2 是最新版本的 UMDF,並取代 UMDF 1。 所有新的UMDF驅動程式都應該使用UMDF 2撰寫。 未將新功能新增至 UMDF 1,而且較新版本的 Windows 10 上對 UMDF 1 的支援有限。 通用 Windows 驅動程式必須使用 UMDF 2。 如需詳細資訊,請參閱 開始使用 UMDF。]

以 UMDF 為基礎的驅動程式 OnRemoteTargetQueryRemove 事件回呼函式會決定遠端 I/O 目標的裝置是否可以停止和移除。

語法

BOOL OnRemoteTargetQueryRemove(
  [in] IWDFRemoteTarget *pWdfRemoteTarget
);

參數

[in] pWdfRemoteTarget

遠端目標物件的 IWDFRemoteTarget 介面指標,表示遠端 I/O 目標 。 驅動程式會在呼叫 IWDFDevice2::CreateRemoteTarget時取得此指標。

傳回值

如果驅動程式判斷裝置可以停止並移除,OnRemoteTargetQueryRemove 事件回呼函式必須傳 回 TRUE。 否則,回呼函式必須傳回 FALSE

言論

如果您的驅動程式提供 OnRemoteTargetQueryRemove 事件回呼函式,回呼函式應該判斷作系統是否應該允許移除裝置。 如果驅動程式判斷可以移除裝置,它應該執行下列動作:

  1. 對遠端目標停止 I/O 所需的任何驅動程式特定動作。
  2. 呼叫 IWDFRemoteTarget::CloseForQueryRemove
  3. 傳回 true ,表示可能發生移除。
如果驅動程式判斷不應該移除裝置,則回呼函式必須傳回 FALSE。 一般而言,驅動程式應該避免傳回 FALSE,因為 FALSE 傳回值可能會導致 Windows 重新啟動。

如果驅動程式未提供此回呼函式,架構會呼叫驅動程式 IWDFRemoteTarget::CloseForQueryRemove。 換句話說,除非驅動程式提供 OnRemoteTargetQueryRemove 事件回呼函式,否則架構一律允許移除裝置。

如需有關 OnRemoteTargetQueryRemove 事件回呼函式的詳細資訊,請參閱 在 UMDF中控制一般 I/O 目標的狀態。

要求

要求 價值
終止支援 UMDF 2.0 和更新版本中無法使用。
目標平臺 桌面
最低 UMDF 版本 1.9
標頭 wudfddi.h (包括 Wudfddi.h)

另請參閱

IRemoteTargetCallbackRemoval

IRemoteTargetCallbackRemoval::OnRemoteTargetRemoveCanceled

IRemoteTargetCallbackRemoval::OnRemoteTargetRemoveComplete