Condividi tramite


Metodo IWDTFPNPActions2::EDTTryStopDeviceFailRestart (wdtfpnpaction.h)

Tenta di inviare un evento IRP_MN_STOP_DEVICE al dispositivo di destinazione e quindi non riesce il successivo riavvio del dispositivo.

Sintassi

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

Parametri

[out, retval] pbSuccess

True se l'operazione ha esito positivo; in caso contrario, false.

Valore restituito

Se questo metodo ha esito positivo, restituisce S_OK. In caso contrario, restituisce un codice di errore HRESULT .

Commenti

Nota Il metodo IWDTFEnhancedDeviceTestSupportAction2::Enable deve essere chiamato per il dispositivo di destinazione prima di chiamare questo metodo.
 
EDTTryStopDeviceFailRestart tenta di attivare un ribilanciamento della risorsa PnP (una sequenza Query Stop, Stop, Start IRP) in cui ha esito negativo l'evento IRP_MN_START_DEVICE che segue un errore di arresto e arresto della query. L'IRP di avvio non riuscito, a sua volta, fa sì che il sistema rimuova il dispositivo (IRP_MN_SURPRISE_REMOVAL).

Stop IRP non è garantito. Altri driver nello stack possono avere esito negativo in un evento di IRP_MN_QUERY_STOP_DEVICE che precede l'IRP stop (con conseguente IRP_MN_CANCEL_STOP_DEVICE). Inoltre, il sistema può ottimizzare se rileva che il dispositivo di destinazione non usa risorse hardware (ad esempio un mouse USB) e invia invece un IRP CancelStop.

Se il dispositivo non utilizza risorse hardware ma si vuole comunque tentare di testare il modo in cui i driver e le applicazioni gestiscono il ribilanciamento della risorsa PnP con un avvio non riuscito, è possibile eseguire invece il metodo EDTTryStopDeviceFailRestart su un dispositivo padre, un nonno e così via, che utilizza risorse hardware. Ad esempio, se il dispositivo è un mouse USB, è possibile eseguire questo metodo sul controller USB padre.

Requisiti

Requisito Valore
Piattaforma di destinazione Desktop
Intestazione wdtfpnpaction.h