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.

Nota Não use essa solicitação para recuperar o descritor de interface definido para todo o 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

Confira também

IOCTL_INTERNAL_USBFN_ACTIVATE_USB_BUS

USBFN_INTERFACE_INFO