USBD_IsochUrbAllocate-Funktion (usbdlib.h)

Die USBD_IsochUrbAllocate Routine ordnet und formatiert eine URB-Struktur für eine isochrone Übertragungsanforderung.

Hinweis

Für WDF-Treiber (Windows Driver Framework) Wenn Ihr Clienttreiber WDF-basiert, müssen Sie die WdfUsbTargetDeviceCreateIsochUrb-Methode aufrufen, anstatt USBD_IsochUrbAllocate , um Arbeitsspeicher für die URB-Struktur zuzuweisen.

Syntax

NTSTATUS USBD_IsochUrbAllocate(
  [in]  USBD_HANDLE USBDHandle,
  [in]  ULONG       NumberOfIsochPackets,
  [out] PURB        *Urb
);

Parameter

[in] USBDHandle

USBD-Handle, das vom Clienttreiber in einem vorherigen Aufruf der USBD_CreateHandle-Routine abgerufen wird.

[in] NumberOfIsochPackets

Gibt die maximale Anzahl von isochronen Paketen an, die für die Übertragung erforderlich sind. Der Übertragungspuffer wird in einem Array mit variabler Länge von USBD_ISO_PACKET_DESCRIPTOR-Strukturen beschrieben, in denen Informationen zu den einzelnen Paketen gespeichert werden, z. B. byteoffset des Pakets innerhalb des Puffers. Das Array wird im IsoPacket-Element der _URB_ISOCH_TRANSFER-Struktur angegeben, das zum Definieren des Formats einer isochronen Anforderungs-URB verwendet wird.

[out] Urb

Zeiger auf eine URB-Struktur , die die von USBD_IsochUrbAllocate zugeordnete URB empfängt. Alle Member der URB-Struktur sind auf 0 (null) festgelegt. Der zugeordnete URB ist groß genug, um die maximale Anzahl isochroner Pakete zu enthalten, die durch NumberOfIsochPacket angegeben werden.

Der Clienttreiber muss die URB freigeben, wenn der Treiber die Verwendung durch aufruft USBD_UrbFree.

Rückgabewert

Die USBD_IsochUrbAllocate Routine gibt STATUS_SUCCESS zurück, wenn die Anforderung erfolgreich ist. Andernfalls legt USBD_UrbAllocateUrb auf fest NULL und gibt einen NT-status-Fehlercode zurück.

Mögliche Werte sind u. a. STATUS_INVALID_PARAMETER, die an USBDHandle oder Urb übergebenen NULL Aufrufer angeben.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Erfordert WDK für Windows 8. Zielt auf Windows Vista und höhere Versionen des Windows-Betriebssystems ab.
Zielplattform Desktop
Kopfzeile usbdlib.h
Bibliothek Usbdex.lib
IRQL <=DISPATCH_LEVEL

Weitere Informationen