UsbBuildInterruptOrBulkTransferRequest-Makro (usbdlib.h)

Das Makro UsbBuildInterruptOrBulkTransferRequest formatiert eine URB zum Senden oder Empfangen von Daten in einer Massenpipe oder zum Empfangen von Daten von einer Interruptpipe.

Syntax

void UsbBuildInterruptOrBulkTransferRequest(
  [in, out]       urb,
  [in]            length,
  [in]            pipeHandle,
  [in, optional]  transferBuffer,
  [in, optional]  transferBufferMDL,
  [in]            transferBufferLength,
  [in]            transferFlags,
  [in]            link
);

Parameter

[in, out] urb

Zeiger auf eine URB , die als Interrupt- oder Massenübertragungsanforderung formatiert werden soll.

[in] length

Gibt die Größe des URB in Bytes an.

[in] pipeHandle

Gibt das Handle für diese Pipe an, das vom HCD zurückgegeben wurde, wenn eine Konfiguration ausgewählt wurde.

[in, optional] transferBuffer

Zeiger auf einen residenten Puffer für die Übertragung oder ist NULL , wenn eine MDL in TransferBufferMDL bereitgestellt wird. Der Inhalt dieses Puffers hängt vom Wert von TransferFlags ab. Wenn USBD_TRANSFER_DIRECTION_IN angegeben ist, enthält dieser Puffer Daten, die beim Zurückgeben vom HCD vom Gerät gelesen werden. Andernfalls enthält dieser Puffer vom Treiber bereitgestellte Daten, die auf das Gerät übertragen werden sollen.

[in, optional] transferBufferMDL

Zeiger auf eine MDL, die einen residenten Puffer beschreibt, oder null ist, wenn ein Puffer in TransferBuffer bereitgestellt wird. Der Inhalt des Puffers hängt vom Wert von TransferFlags ab. Wenn USBD_TRANSFER_DIRECTION_IN angegeben ist, enthält der beschriebene Puffer Daten, die vom Gerät gelesen werden, wenn er von der HCD zurückgegeben wird. Andernfalls enthält der Puffer vom Treiber bereitgestellte Daten, die auf das Gerät übertragen werden sollen. Die MDL muss aus einem nicht ausseitigen Pool zugeordnet werden.

[in] transferBufferLength

Gibt die Länge des in TransferBuffer angegebenen oder in TransferBufferMDL beschriebenen Puffers in Bytes an.

[in] transferFlags

Gibt null, eins oder eine Kombination der folgenden Flags an:

USBD_TRANSFER_DIRECTION_IN

Ist so festgelegt, dass Daten von einem Gerät angefordert werden. Um Daten auf ein Gerät zu übertragen, muss dieses Flag eindeutig sein.

USBD_SHORT_TRANSFER_OK

Kann verwendet werden, wenn USBD_TRANSFER_DIRECTION_IN festgelegt ist. Wenn festgelegt, weist die HCD an, keinen Fehler zurückzugeben, wenn ein Paket von dem Gerät empfangen wird, das kürzer als die maximale Paketgröße für den Endpunkt ist. Andernfalls gibt eine kurze Anforderung eine Fehlerbedingung zurück.

[in] link

Reserviert. Muss auf NULL festgelegt werden.

Rückgabewert

Keine

Anforderungen

Anforderung Wert
Zielplattform Desktop
Kopfzeile usbdlib.h (include Usbdlib.h)

Weitere Informationen

URB

Programmierreferenz für USB-Gerätetreiber

USB_DEVICE_DESCRIPTOR