Partilhar 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 reeleita a configuração e as configurações de interface alternativas que o dispositivo tinha antes da redefinição. Todas as alças 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 esperar que elas sejam concluídas 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 para STATUS_SUCCESS ou o status de erro apropriado.

Requisitos

Requisito Valor
cabeçalho usbioctl.h (include Usbioctl.h)

Consulte também

_URB_PIPE_REQUEST