Compartilhar via


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)

Confira também

_URB_PIPE_REQUEST