Partilhar via


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.

Observação 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 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

Consulte também

IOCTL_INTERNAL_USBFN_ACTIVATE_USB_BUS

USBFN_INTERFACE_INFO