WinUsb_WriteIsochPipe-Funktion (winusb.h)

Die funktion WinUsb_WriteIsochPipe schreibt den Inhalt eines vom Aufrufer bereitgestellten Puffers in einen isochronen OUT-Endpunkt, beginnend mit einer angegebenen Framenummer.

Syntax

BOOL WinUsb_WriteIsochPipe(
  [in]           WINUSB_ISOCH_BUFFER_HANDLE BufferHandle,
  [in]           ULONG                      Offset,
  [in]           ULONG                      Length,
  [in, out]      PULONG                     FrameNumber,
  [in, optional] LPOVERLAPPED               Overlapped
);

Parameter

[in] BufferHandle

Ein undurchsichtiges Handle für den Übertragungspuffer, der durch einen vorherigen Aufruf von WinUsb_RegisterIsochBuffer registriert wurde.

[in] Offset

Offset in den Puffer relativ zum Starten der Übertragung.

[in] Length

Länge des Übertragungspuffers in Byte.

[in, out] FrameNumber

Gibt bei der Eingabe die Startframenummer für die Übertragung an. Enthält bei der Ausgabe die Framenummer des Frames, der auf den letzten Frame folgt, der in der Übertragung verwendet wurde.

[in, optional] Overlapped

Zeiger auf eine OVERLAPPED-Struktur , die für asynchrone Vorgänge verwendet wird.

Rückgabewert

WinUsb_WriteIsochPipe gibt TRUE zurück, wenn der Vorgang erfolgreich ist. Andernfalls gibt diese Funktion FALSE zurück, und der Aufrufer kann den protokollierten Fehler durch Aufrufen von GetLastError abrufen.

Hinweise

WinUsb_WriteIsochPipe paketisiert den Übertragungspuffer, sodass der Host in jedem Intervall von 1 ms die maximal zulässigen Bytes pro Intervall senden kann. Die maximale Byte wird vom Endpunktdeskriptor für Voll- und Hochgeschwindigkeitsendpunkte und vom Endpunktbegleitungsdeskriptor für SuperSpeed-Endpunkte angegeben. Wenn der Aufrufer mehrere Schreibanforderungen zum Streamen von Daten an das Gerät sendet, sollte die Übertragungsgröße ein Vielfaches der maximalen Bytes pro Intervall (wie von WinUsb_QueryPipeEx zurückgegeben) * 8 / Intervall betragen.

Aufgrund der Übertragungspaketerstellung, die in der zugrunde liegenden Kernelmodusschnittstelle verwendet wird, beträgt die niedrigste Latenzbenachrichtigung an eine Anwendung oder einen Treiber Intervalle von 1 ms.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 8.1
Unterstützte Mindestversion (Server) Windows Server 2012 R2
Zielplattform Universell
Header winusb.h (winusb.h einschließen)
Bibliothek Winusb.lib
DLL Winusb.dll

Weitere Informationen

Senden isochroner USB-Übertragungen von einer WinUSB-Desktop-App

WinUSB-Funktionen