IOCTL_USB_GET_NODE_CONNECTION_DRIVERKEY_NAME IOCTL (usbioctl.h)
A solicitação de controle de E/S do 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 ConnectionIndex membro 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 DriverKeyName membro da estrutura USB_NODE_CONNECTION_DRIVERKEY_NAME em AssociatedIrp.SystemBuffer contém o nome da chave de driver associado ao dispositivo que está conectado à porta indicada pelo ConnectionIndex.
O membro ActualLength indica o comprimento, em bytes, do nome da chave de driver. O membro Parameters.DeviceIoControl.OutputBufferLength indica o tamanho, em bytes, de toda a estrutura de 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 para STATUS_SUCCESS se a solicitação for bem-sucedida. Caso contrário, a pilha USB define Status à 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 (include Usbioctl.h) |