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) |