Compartilhar via


IOCTL_INTERNAL_USB_GET_PORT_STATUS IOCTL (usbioctl.h)

A solicitação de E/S de 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 os sinalizadores de status da porta.

Comprimento do buffer de entrada

O tamanho de um ULONG.

Buffer de saída

Parameters.Others.Argument1 aponta para um ULONG que tem os sinalizadores de status da porta 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 após a redefinição do dispositivo conectado à porta. Quando o bit USB_PORT_ENABLED estiver claro, o software desabilitou a porta ou o hardware a desabilitou devido a condições anormais de hardware. Quando o USB_PORT_CONNECTED bit é 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 de 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 para STATUS_SUCCESS ou o status de erro apropriado.

Requisitos

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