función WinUsb_GetDescriptor (winusb.h)
La función WinUsb_GetDescriptor devuelve el descriptor solicitado. Se trata de una operación sincrónica.
Sintaxis
BOOL WinUsb_GetDescriptor(
[in] WINUSB_INTERFACE_HANDLE InterfaceHandle,
[in] UCHAR DescriptorType,
[in] UCHAR Index,
[in] USHORT LanguageID,
[out] PUCHAR Buffer,
[in] ULONG BufferLength,
[out] PULONG LengthTransferred
);
Parámetros
[in] InterfaceHandle
Identificador opaco de una interfaz en la configuración seleccionada.
Para recuperar el descriptor de configuración o dispositivo, use el identificador devuelto por WinUsb_Initialize.
Para recuperar el descriptor de interfaz de la primera interfaz, use el identificador devuelto por WinUsb_Initialize.
Para recuperar el descriptor de punto de conexión de un punto de conexión en la primera interfaz, use el identificador devuelto por WinUsb_Initialize.
Para recuperar descriptores de todas las demás interfaces y sus puntos de conexión relacionados, use el identificador para la interfaz de destino, recuperada por WinUsb_GetAssociatedInterface.
[in] DescriptorType
Valor que especifica el tipo de descriptor que se va a devolver. Este parámetro corresponde al campo bDescriptorType de un descriptor de dispositivo estándar, cuyos valores se describen en la especificación de Bus serie universal . Algunos de estos valores se enumeran en la descripción del miembro DescriptorType de la estructura _URB_CONTROL_DESCRIPTOR_REQUEST .
[in] Index
Índice del descriptor. Para obtener una explicación del índice del descriptor, consulte la especificación universal de Bus serie (www.usb.org).
[in] LanguageID
Valor que especifica el identificador de idioma, si el descriptor solicitado es un descriptor de cadena.
[out] Buffer
Un búfer asignado por el autor de la llamada que recibe el descriptor solicitado.
[in] BufferLength
Longitud, en bytes, del búfer.
[out] LengthTransferred
Número de bytes que se copiaron en búfer.
Valor devuelto
WinUsb_GetDescriptor devuelve TRUE si la operación se realiza correctamente. De lo contrario, esta rutina devuelve FALSE y el autor de la llamada puede recuperar el error registrado llamando a GetLastError.
GetLastError puede devolver el siguiente código de error.
Código devuelto | Descripción |
---|---|
|
El llamador pasó NULL en el parámetro InterfaceHandle . |
Comentarios
Si el búfer de salida al que apunta el parámetro Buffer es lo suficientemente grande, WinUsb_GetDescriptor crea una copia del descriptor especificado en el búfer de salida. No se copia ningún dato si el búfer no es lo suficientemente grande como para contener los datos del descriptor. El descriptor se crea durante la llamada WinUsb_Initialize o se puede recuperar en este momento desde el dispositivo.
Requisitos
Requisito | Value |
---|---|
Plataforma de destino | Universal |
Encabezado | winusb.h (incluya Winusb.h) |
Library | Winusb.lib |
Archivo DLL | Winusb.dll |