Compartir a través de


IOCTL_GENERICUSBFN_GET_INTERFACE_DESCRIPTOR_SET IOCTL (genericusbfnioctl.h)

Este código de control de E/S (IOCTL) se envía mediante un servicio o aplicación en modo de usuario para obtener todo el descriptor de interfaz del Bus serie universal (USB) establecido para una función en el dispositivo.

Nota Esta solicitud IOCTL no recupera el descriptor de interfaz establecido para todo el dispositivo.

 

Búfer de entrada

Puntero a una estructura USBFN_INTERFACE_INFO .

Longitud del búfer de entrada

Tamaño de una estructura de USBFN_INTERFACE_INFO .

Búfer de salida

Puntero a un búfer que contiene una estructura de USBFN_INTERFACE_INFO . La extensión de clase de función USB (UFX) rellena la estructura con todo el conjunto de descriptores de interfaz, incluidos sus descriptores de extremo.

Longitud del búfer de salida

Tamaño de un USBFN_INTERFACE_INFO.

Comentarios

Esta solicitud debe enviarse después de enviar la solicitud de IOCTL_GENERICUSBFN_ACTIVATE_USB_BUS .

La longitud del descriptor de interfaz completo es variable. Es posible que el controlador de clase tenga que enviar esta solicitud IOCTL dos veces para obtener todo el conjunto de descriptores.

Si la longitud del conjunto de descriptores completo es mayor que la longitud del búfer de salida especificada, UFX establece el miembro Size de USBFN_INTERFACE_INFO en la longitud real del búfer y produce un error en la solicitud con STATUS_BUFFER_TOO_SMALL. A continuación, el controlador debe asignar un búfer de salida de longitud especificado por Size y volver a enviar la solicitud.

Si se llama a este código de control de E/S (IOCTL) de forma sincrónica, establezca el parámetro lpOverlapped en NULL. Si se llama a este IOCTL de forma asincrónica, asigne el parámetro lpOverlapped a un puntero a una estructura SUPERPUESTA que contiene un identificador a un objeto de evento. Los objetos de evento indican cuándo se completa la operación.

El valor devuelto es un valor BOOL que indica que la operación se ha realizado correctamente o no. TRUE indica que se ha realizado correctamente; en caso contrario, FALSE.

Requisitos

Requisito Valor
Header genericusbfnioctl.h (include GenericUsbFnIoctl.h)

Consulte también

DeviceIoControl