IOCTL_INTERNAL_USBFN_GET_INTERFACE_DESCRIPTOR_SET IOCTL (usbfnioctl.h)
O driver de classe envia essa solicitação para obter todo o descritor de interface USB definido para uma função no dispositivo.
Código principal
IRP_MJ_INTERNAL_DEVICE_CONTROL
Buffer de entrada
Um ponteiro para um buffer que contém uma estrutura USBFN_INTERFACE_INFO .
Comprimento do buffer de entrada
O comprimento do buffer de entrada deve ser pelo menos sizeof(USBFN_INTERFACE_INFO)
.
Buffer de saída
Um ponteiro para um buffer que contém uma estrutura USBFN_INTERFACE_INFO . A extensão de classe de função USB (UFX) preenche a estrutura com todo o descritor de interface definido, incluindo seus descritores de ponto de extremidade.
Comprimento do buffer de saída
O comprimento do buffer de saída deve ser pelo menos sizeof(USBFN_INTERFACE_INFO)
.
Bloco de status
Se a solicitação for bem-sucedida, a EXTENSÃO de classe de função USB (UFX) retornará STATUS_SUCCESS ou outro valor status para o qual NT_SUCCESS(status) é igual a TRUE. Caso contrário, retornará um valor status para o qual NT_SUCCESS(status) é igual a FALSE.
Comentários
Essa solicitação deve ser enviada após o envio da solicitação de IOCTL_INTERNAL_USBFN_ACTIVATE_USB_BUS .
O comprimento de todo o descritor de interface é variável. O driver de classe pode precisar enviar essa solicitação IOCTL duas vezes para obter todo o descritor definido.
Se o comprimento de todo o conjunto de descritores for maior que o tamanho do buffer de saída especificado, o UFX definirá o membro Size de USBFN_INTERFACE_INFO como o comprimento real do buffer e falhará na solicitação com STATUS_BUFFER_TOO_SMALL. Em seguida, o driver deve alocar um buffer de saída de comprimento especificado por Size e reenviar a solicitação.
Requisitos
Requisito | Valor |
---|---|
Cabeçalho | usbfnioctl.h |