IOCTL_INTERNAL_USB_RESET_PORT IOCTL (usbioctl.h)
A solicitação de controle de E/S IOCTL_INTERNAL_USB_RESET_PORT é usada por um driver para redefinir a porta upstream do dispositivo que ele gerencia. Após uma redefinição bem-sucedida, o driver de barramento reeleciona a configuração e todas as configurações de interface alternativas que o dispositivo tinha antes da redefinição ocorrer. Todos os identificadores de pipe, identificadores de configuração e identificadores de interface permanecem válidos.
Os drivers devem cancelar todas as solicitações de E/S e aguardar a conclusão antes de iniciar essa operação.
Um driver que gerencia uma interface individual em um dispositivo composto não pode redefinir a interface sem redefinir todo o dispositivo composto e todas as suas interfaces. Por esse motivo, os drivers que gerenciam interfaces devem tentar outros tipos de recuperação de erro, como redefinir pipes (_URB_PIPE_REQUEST), antes de redefinir a interface.
Este IOCTL deve ser enviado em um IRQL de PASSIVE_LEVEL.
IOCTL_INTERNAL_USB_RESET_PORT é uma solicitação de controle de E/S no modo kernel. Essa solicitação tem como destino o PDO do hub USB.
Código principal
IRP_MJ_INTERNAL_DEVICE_CONTROL
Buffer de entrada
Nenhum.
Comprimento do buffer de entrada
Nenhum.
Buffer de saída
Nenhum.
Comprimento do buffer de saída
Nenhum.
Bloco de status
O driver de barramento ou porta define Irp-IoStatus.Status> como STATUS_SUCCESS ou o erro apropriado status.
Requisitos
Requisito | Valor |
---|---|
Cabeçalho | usbioctl.h (inclua Usbioctl.h) |