Freigeben über


IWDTFPNPActions2::EDTTryStopDeviceFailRestart-Methode (wdtfpnpaction.h)

Versucht, ein IRP_MN_STOP_DEVICE-Ereignis an das Zielgerät zu senden, und schlägt dann den nachfolgenden Geräteneustart fehl.

Syntax

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

Parameter

[out, retval] pbSuccess

True, wenn der Vorgang erfolgreich ist; andernfalls "false".

Rückgabewert

Wenn diese Methode erfolgreich ist, wird S_OKzurückgegeben. Andernfalls wird ein HRESULT- Fehlercode zurückgegeben.

Bemerkungen

Hinweis Die IWDTFEnhancedDeviceTestSupportAction2::Enable-Methode muss vor dem Aufrufen dieser Methode für das Zielgerät aufgerufen werden.
 
EDTTryStopDeviceFailRestart versucht, eine PnP-Ressource neu auszubalancieren (ein Abfragestopp, Stopp, Start-IRP-Sequenz), in dem das IRP_MN_START_DEVICE-Ereignis fehlschlägt, das einem erfolgreichen Abfragestopp und -stopp folgt. Das fehlgeschlagene Start-IRP führt wiederum dazu, dass das System das Gerät (IRP_MN_SURPRISE_REMOVAL) überrascht.

Das Stop IRP ist nicht garantiert. Andere Treiber im Stapel können ein IRP_MN_QUERY_STOP_DEVICE-Ereignis fehlschlagen, das vor dem Stop IRP steht (was zu IRP_MN_CANCEL_STOP_DEVICE führt). Außerdem kann das System optimieren, wenn es erkennt, dass das Zielgerät keine Hardwareressourcen (z. B. eine USB-Maus) verwendet und stattdessen ein CancelStop-IRP sendet.

Wenn Ihr Gerät keine Hardwareressourcen verbraucht, sie aber dennoch versuchen möchten, zu testen, wie die Treiber und Anwendungen die PnP-Ressource mit einem fehlgeschlagenen Start behandeln, können Sie stattdessen die EDTTryStopDeviceFailRestart Methode auf einem übergeordneten Gerät, Großeltern usw. ausführen, was Hardwareressourcen verbraucht. Wenn Ihr Gerät beispielsweise eine USB-Maus ist, können Sie diese Methode stattdessen auf dem übergeordneten USB-Controller ausführen.

Anforderungen

Anforderung Wert
Zielplattform- Desktop
Header- wdtfpnpaction.h