Compartir a través de


Método IWDTFPNPActions2::EDTTryStopDeviceFailRestart (wdtfpnpaction.h)

Intenta enviar un evento IRP_MN_STOP_DEVICE al dispositivo de destino y, a continuación, produce un error en el reinicio posterior del dispositivo.

Sintaxis

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

Parámetros

[out, retval] pbSuccess

True si la operación se realiza correctamente; de lo contrario, false.

Valor devuelto

Si este método se realiza correctamente, devuelve S_OK. De lo contrario, devuelve un hrESULT código de error.

Observaciones

Nota Se debe llamar al método IWDTFEnhancedDeviceTestSupportAction2::Enable para el dispositivo de destino antes de llamar a este método.
 
EDTTryStopDeviceFailRestart intenta desencadenar un reequilibrio de recursos PnP (una secuencia Query Stop, Stop, Start IRP) en la que se produce un error en el evento IRP_MN_START_DEVICE que sigue a una detención y detención de consultas correcta. El IRP de inicio con errores, a su vez, hace que el sistema sorprenda quitar el dispositivo (IRP_MN_SURPRISE_REMOVAL).

No se garantiza la detención de IRP. Otros controladores de la pila pueden producir un error en un evento de IRP_MN_QUERY_STOP_DEVICE que precede al IRP de detención (lo que da lugar a IRP_MN_CANCEL_STOP_DEVICE). Además, el sistema puede optimizar si detecta que el dispositivo de destino no usa recursos de hardware (por ejemplo, un mouse USB) y envía un IRP CancelStop en su lugar.

Si el dispositivo no consume recursos de hardware, pero sigue intentando probar cómo los controladores y las aplicaciones controlan el reequilibrio de recursos PnP con un inicio erróneo, puede ejecutar en su lugar el EDTTryStopDeviceFailRestart método en un dispositivo primario, abuelo, etc., que consume recursos de hardware. Por ejemplo, si el dispositivo es un mouse USB, puede ejecutar este método en el controlador USB primario en su lugar.

Requisitos

Requisito Valor
de la plataforma de destino de Escritorio
encabezado de wdtfpnpaction.h