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 conjunto de descritores de interface, 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 da classe de função USB (UFX) retornará STATUS_SUCCESS ou outro valor de status para o qual NT_SUCCESS(status) é igual a TRUE. Caso contrário, retornará um valor de status para o qual NT_SUCCESS(status) é igual a FALSE.
Observações
Essa solicitação deve ser enviada depois de enviar a 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 conjunto de descritores.
Se o comprimento de todo o conjunto de descritores for maior que o tamanho do buffer de saída especificado, o UFX definirá o Size membro de USBFN_INTERFACE_INFO para 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 Tamanho e reenviar a solicitação.
Requisitos
Requisito | Valor |
---|---|
cabeçalho | usbfnioctl.h |