IOCTL_USB_GET_NODE_CONNECTION_DRIVERKEY_NAME IOCTL (usbioctl.h)
A solicitação de controle de E/S IOCTL_USB_GET_NODE_CONNECTION_DRIVERKEY_NAME recupera o nome da chave do registro do driver associado ao dispositivo conectado à porta indicada.
IOCTL_USB_GET_NODE_CONNECTION_DRIVERKEY_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_DRIVERKEY_NAME alocada pelo usuário. Na entrada, o membro ConnectionIndex dessa estrutura contém o número da porta à qual o dispositivo está conectado.
Comprimento do buffer de entrada
O tamanho de uma estrutura USB_NODE_CONNECTION_DRIVERKEY_NAME .
Buffer de saída
Na saída, o membro DriverKeyName da estrutura USB_NODE_CONNECTION_DRIVERKEY_NAME em AssociatedIrp.SystemBuffer contém o nome da chave de driver associado ao dispositivo conectado à porta indicada por ConnectionIndex.
O membro ActualLength indica o comprimento, em bytes, do nome da chave do driver. O membro Parameters.DeviceIoControl.OutputBufferLength indica o tamanho, em bytes, de toda a estrutura USB_NODE_CONNECTION_DRIVERKEY_NAME .
Comprimento do buffer de saída
O tamanho de uma estrutura USB_NODE_CONNECTION_DRIVERKEY_NAME .
Bloco de status
A pilha USB define Irp-IoStatus.Status> como STATUS_SUCCESS se a solicitação for bem-sucedida. Caso contrário, a pilha USB define Status como a condição de erro apropriada, como STATUS_INVALID_PARAMETER ou STATUS_INSUFFICIENT_RESOURCES.
Se o chamador alocar um buffer de saída grande o suficiente para manter todos os dados de saída, IoStatus.Information será igual ao valor de ActualLength. Se o buffer de saída for grande o suficiente para conter todos os dados de saída, IoStatus.Information será igual a sizeof(USB_NODE_CONNECTION_DRIVERKEY_NAME)
.
Requisitos
Requisito | Valor |
---|---|
Cabeçalho | usbioctl.h (inclua Usbioctl.h) |