IOCTL_USB_GET_NODE_CONNECTION_NAME IOCTL (usbioctl.h)
A solicitação de controle de E/S IOCTL_USB_GET_NODE_CONNECTION_NAME é usada com a estrutura USB_NODE_CONNECTION_NAME para recuperar o nome simbólico do link do hub anexado à porta downstream.
IOCTL_USB_GET_NODE_CONNECTION_NAME é uma solicitação de controle de E/S no modo de usuário. Essa solicitação tem como destino o dispositivo de hub USB (GUID_DEVINTERFACE_USB_HUB).
Código principal
Buffer de entrada
O membro AssociatedIrp.SystemBuffer aponta para uma estrutura de USB_NODE_CONNECTION_NAME. Na entrada, o ConnectionIndex membro dessa estrutura deve indicar o número da porta para verificar se há um hub anexado.
Comprimento do buffer de entrada
O tamanho de uma estrutura USB_NODE_CONNECTION_NAME.
Buffer de saída
AssociatedIrp.SystemBuffer aponta para uma estrutura de USB_NODE_CONNECTION_NAME. Na saída, essa estrutura contém o nome simbólico do hub anexado no membro HubName. Se nenhum hub estiver anexado, o hub não terá um link simbólico ou o dispositivo anexado não for um hub, HubName[0] conterá um valor de UNICODE_NULL.
Comprimento do buffer de saída
O membro Parameters.DeviceIoControl.OutputBufferLength contém o tamanho, em bytes, de toda a estrutura de USB_NODE_CONNECTION_NAME.
Bloco de status
A pilha USB define Irp->IoStatus.Status para STATUS_SUCCESS se a solicitação for bem-sucedida. A solicitação relata êxito, mesmo que nenhum hub esteja anexado, o hub anexado não tenha nenhum link simbólico ou o dispositivo anexado não seja um hub.
Caso contrário, a pilha USB define Status à condição de erro apropriada, como STATUS_INVALID_PARAMETER ou STATUS_INSUFFICIENT_RESOURCES.
Requisitos
Requisito | Valor |
---|---|
cabeçalho | usbioctl.h (include Usbioctl.h) |