Partager via


fonction WinUsb_RegisterIsochBuffer (winusb.h)

La fonction WinUsb_RegisterIsochBuffer inscrit une mémoire tampon à utiliser pour les transferts isochronieux.

Syntaxe

BOOL WinUsb_RegisterIsochBuffer(
  [in]  WINUSB_INTERFACE_HANDLE     InterfaceHandle,
  [in]  UCHAR                       PipeID,
  [in]  PUCHAR                      Buffer,
  [in]  ULONG                       BufferLength,
  [out] PWINUSB_ISOCH_BUFFER_HANDLE IsochBufferHandle
);

Paramètres

[in] InterfaceHandle

Handle opaque pour une interface dans la configuration sélectionnée. Ce handle doit être créé par un appel précédent à WinUsb_Initialize ou WinUsb_GetAssociatedInterface.

[in] PipeID

Dérivé du bit 3...0 du champ bEndpointAddress dans le descripteur de point de terminaison.

[in] Buffer

Pointeur vers la mémoire tampon de transfert à inscrire.

[in] BufferLength

Longueur, en octets, de la mémoire tampon de transfert pointée par Buffer.

[out] IsochBufferHandle

Reçoit un handle opaque pour la mémoire tampon inscrite. Ce handle est requis par d’autres fonctions WinUSB qui effectuent des transferts isochronieux. Pour libérer le handle, appelez la fonction WinUsb_UnregisterIsochBuffer .

Valeur retournée

WinUsb_RegisterIsochBuffer 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.

Si l’appelant définit ContinueStream sur TRUE, le transfert échoue si Winusb.sys ne parvient pas à planifier le transfert pour continuer le flux sans supprimer une ou plusieurs images.

Remarques

Avant d’initier des transferts isochronieux vers ou depuis une mémoire tampon, l’appelant doit inscrire la mémoire tampon auprès de WinUsb_RegisterIsochBuffer. Cet appel permet au Winusb.sys de pré mapper et de verrouiller la mémoire tampon après pour tous les transferts suivants à l’aide de la mémoire tampon.

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 isochronieux USB à partir d’une application de bureau WinUSB

Fonctions WinUSB

WinUsb_UnregisterIsochBuffer