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) |