WinUsb_GetDescriptor, fonction (winusb.h)
La fonction WinUsb_GetDescriptor retourne le descripteur demandé. Il s’agit d’une opération synchrone.
Syntaxe
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
);
Paramètres
[in] InterfaceHandle
Handle opaque pour une interface dans la configuration sélectionnée.
Pour récupérer l’appareil ou le descripteur de configuration, utilisez le handle retourné par WinUsb_Initialize.
Pour récupérer le descripteur d’interface de la première interface, utilisez le handle retourné par WinUsb_Initialize.
Pour récupérer le descripteur de point de terminaison d’un point de terminaison dans la première interface, utilisez le handle retourné par WinUsb_Initialize.
Pour récupérer les descripteurs de toutes les autres interfaces et leurs points de terminaison associés, utilisez le handle pour l’interface cible, récupéré par WinUsb_GetAssociatedInterface.
[in] DescriptorType
Valeur qui spécifie le type de descripteur à retourner. Ce paramètre correspond au champ bDescriptorType d’un descripteur d’appareil standard, dont les valeurs sont décrites dans la spécification Universal Serial Bus . Certaines de ces valeurs sont répertoriées dans la description du membre DescriptorType de la structure _URB_CONTROL_DESCRIPTOR_REQUEST .
[in] Index
Index de descripteur. Pour obtenir une explication de l’index du descripteur, consultez la spécification Universal Serial Bus (www.usb.org).
[in] LanguageID
Valeur qui spécifie l’identificateur de langue, si le descripteur demandé est un descripteur de chaîne.
[out] Buffer
Mémoire tampon allouée à l’appelant qui reçoit le descripteur demandé.
[in] BufferLength
Longueur, en octets, de Buffer.
[out] LengthTransferred
Nombre d’octets qui ont été copiés dans Buffer.
Valeur retournée
WinUsb_GetDescriptor retourne TRUE si l’opération réussit. Sinon, cette routine retourne FALSE et l’appelant peut récupérer l’erreur journalisée en appelant GetLastError.
GetLastError peut retourner le code d’erreur suivant.
Code de retour | Description |
---|---|
|
L’appelant a passé la valeur NULL dans le paramètre InterfaceHandle . |
Remarques
Si la mémoire tampon de sortie pointée par le paramètre Buffer est suffisamment grande, WinUsb_GetDescriptor crée une copie du descripteur spécifié dans la mémoire tampon de sortie. Aucune donnée n’est copiée si la mémoire tampon n’est pas suffisamment grande pour contenir les données de descripteur. Le descripteur est créé pendant l’appel WinUsb_Initialize ou peut être récupéré à ce stade à partir de l’appareil.
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Universal |
En-tête | winusb.h (inclure Winusb.h) |
Bibliothèque | Winusb.lib |
DLL | Winusb.dll |