WinUsb_WriteIsochPipe, fonction (winusb.h)
La fonction WinUsb_WriteIsochPipe écrit le contenu d’une mémoire tampon fournie par l’appelant sur un point de terminaison OUT isochronous, en commençant par un numéro de trame spécifié.
Syntaxe
BOOL WinUsb_WriteIsochPipe(
[in] WINUSB_ISOCH_BUFFER_HANDLE BufferHandle,
[in] ULONG Offset,
[in] ULONG Length,
[in, out] PULONG FrameNumber,
[in, optional] LPOVERLAPPED Overlapped
);
Paramètres
[in] BufferHandle
Handle opaque pour la mémoire tampon de transfert qui a été inscrite par un appel précédent à WinUsb_RegisterIsochBuffer.
[in] Offset
Décalage dans la mémoire tampon par rapport au début du transfert.
[in] Length
Longueur en octets de la mémoire tampon de transfert.
[in, out] FrameNumber
Lors de l’entrée, indique le numéro d’image de départ pour le transfert. Lors de la sortie, contient le numéro d’image de la trame qui suit la dernière image utilisée dans le transfert.
[in, optional] Overlapped
Pointeur vers une structure OVERLAPPED utilisée pour les opérations asynchrones.
Valeur retournée
WinUsb_WriteIsochPipe retourne TRUE si l’opération réussit. Sinon, cette fonction retourne FALSE et l’appelant peut récupérer l’erreur journalisée en appelant GetLastError.
Remarques
WinUsb_WriteIsochPipe paquete la mémoire tampon de transfert afin que, dans chaque intervalle de 1 ms, l’hôte puisse envoyer le nombre maximal d’octets autorisés par intervalle. Le nombre maximal d’octets est spécifié par le descripteur de point de terminaison pour les points de terminaison complets et haut débit, et par le descripteur de compagnon de point de terminaison pour les points de terminaison SuperSpeed. Si l’appelant envoie plusieurs demandes d’écriture pour diffuser des données vers l’appareil, la taille de transfert doit être un multiple des octets maximum par intervalle (comme retourné par WinUsb_QueryPipeEx) * 8 / intervalle.
En raison de l’empaquetage de transfert utilisé dans l’interface en mode noyau sous-jacente, la notification de latence la plus faible à une application ou à un pilote est d’intervalles de 1 ms.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 8.1 |
Serveur minimal pris en charge | Windows Server 2012 R2 |
Plateforme cible | Universal |
En-tête | winusb.h (inclure Winusb.h) |
Bibliothèque | Winusb.lib |
DLL | Winusb.dll |
Voir aussi
Envoyer des transferts isochrones USB à partir d’une application de bureau WinUSB