共用方式為


IWDTFPNPActions2::EDTTryStopDeviceFailRestart 方法 (wdtfpnpaction.h)

嘗試將IRP_MN_STOP_DEVICE事件傳送至目標裝置,然後失敗後續的裝置重新啟動。

語法

HRESULT EDTTryStopDeviceFailRestart(
  [out, retval] VARIANT_BOOL *pbSuccess
);

參數

[out, retval] pbSuccess

如果作業成功,則為 True;否則為 false。

傳回值

如果此方法成功,則會傳回 S_OK。 否則,它會傳回 HRESULT 錯誤碼。

言論

注意 呼叫此方法之前,必須先呼叫目標裝置的 IWDTFEnhancedDeviceTestSupportAction2::Enable 方法。
 
EDTTryStopDeviceFailRestart 嘗試觸發 PnP 資源重新平衡(查詢停止、停止、啟動 IRP 序列),其中會失敗IRP_MN_START_DEVICE事件,其會遵循成功的查詢停止和停止。 失敗的啟動 IRP 接著會導致系統意外移除裝置 (IRP_MN_SURPRISE_REMOVAL)。

不保證停止 IRP。 堆疊上的其他驅動程式可能會失敗IRP_MN_QUERY_STOP_DEVICE事件,該事件位於停止 IRP 之前(導致IRP_MN_CANCEL_STOP_DEVICE)。 此外,如果系統偵測到目標裝置未使用硬體資源(例如 USB 滑鼠),並改為傳送 CancelStop IRP,系統可能會進行優化。

如果您的裝置未耗用硬體資源,但仍想要嘗試測試驅動程式和應用程式如何處理失敗啟動的 PnP 資源重新平衡,您可以改為在父裝置、祖父母等上層裝置上執行 EDTTryStopDeviceFailRestart 方法,這會耗用硬體資源。 例如,如果您的裝置是USB滑鼠,您可以改為在父USB控制器上執行此方法。

要求

要求 價值
目標平臺 桌面
標頭 wdtfpnpaction.h