IOCTL_INTERNAL_USB_RESET_PORT IOCTL (usbioctl.h)
Un controlador usa la IOCTL_INTERNAL_USB_RESET_PORT solicitud de control de E/S para restablecer el puerto ascendente del dispositivo que administra. Después de un restablecimiento correcto, el controlador de bus vuelve a seleccionar la configuración y cualquier configuración de interfaz alternativa que el dispositivo tenía antes de que se produjera el restablecimiento. Todos los identificadores de canalización, los identificadores de configuración y los identificadores de interfaz siguen siendo válidos.
Los controladores deben cancelar todas las solicitudes de E/S y esperar a que se completen antes de iniciar esta operación.
Un controlador que administra una interfaz individual en un dispositivo compuesto no puede restablecer la interfaz sin restablecer todo el dispositivo compuesto y todas sus interfaces. Por este motivo, los controladores que administran interfaces deben intentar otros tipos de recuperación de errores, como restablecer canalizaciones (_URB_PIPE_REQUEST), antes de restablecer la interfaz.
Este IOCTL debe enviarse en un IRQL de PASSIVE_LEVEL.
IOCTL_INTERNAL_USB_RESET_PORT es una solicitud de control de E/S en modo kernel. Esta solicitud tiene como destino el PDO del concentrador USB.
Código principal
IRP_MJ_INTERNAL_DEVICE_CONTROL
Búfer de entrada
Ninguno.
Longitud del búfer de entrada
Ninguno.
Búfer de salida
Ninguno.
Longitud del búfer de salida
Ninguno.
Bloque de estado
El controlador de bus o puerto establece Irp->IoStatus.Status en STATUS_SUCCESS o el estado de error adecuado.
Requisitos
Requisito | Valor |
---|---|
encabezado de | usbioctl.h (incluya Usbioctl.h) |