IOCTL_INTERNAL_USB_GET_PORT_STATUS IOCTL (usbioctl.h)

A solicitação de E/S IOCTL_INTERNAL_USB_GET_PORT_STATUS consulta o status do PDO.

IOCTL_INTERNAL_USB_GET_PORT_STATUS é uma solicitação de controle de E/S no modo kernel. Essa solicitação tem como destino o PDO do hub USB. Este IOCTL deve ser enviado em IRQL = PASSIVE_LEVEL.

Código principal

IRP_MJ_INTERNAL_DEVICE_CONTROL

Buffer de entrada

Parameters.Others.Argument1 deve ser um ponteiro para um ULONG a ser preenchido com a porta status sinalizadores.

Comprimento do buffer de entrada

O tamanho de um ULONG.

Buffer de saída

Parameters.Others.Argument1 aponta para um ULONG que tem a porta status sinalizadores preenchidos. Os sinalizadores podem ser um ou ambos de USBD_PORT_ENABLED (bit 0) ou USBD_PORT_CONNECTED (bit 1). Quando o USB_PORT_ENABLED bit é definido, a porta foi habilitada depois de redefinir o dispositivo conectado à porta. Quando o USB_PORT_ENABLED bit está claro, o software desabilitou a porta ou o hardware a desabilitou devido a condições anormais de hardware. Quando o bit USB_PORT_CONNECTED é definido, o hub raiz do controlador de host ou o hub externo detectou que um dispositivo está conectado à porta. Quando o USB_PORT_CONNECTED bit está claro, o hub raiz do controlador host ou o hub externo detectou que um dispositivo não está conectado à porta.

Comprimento do buffer de saída

O tamanho de um ULONG.

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 (include Usbioctl.h)