Freigeben über


USBD_CalculateUsbBandwidth-Funktion (usbdlib.h)

Die USBD_CalculateUsbBandwidth Routine ist in Windows XP und späteren Betriebssystemen veraltet. Nicht verwenden.

Syntax

ULONG USBD_CalculateUsbBandwidth(
  [in] ULONG   MaxPacketSize,
  [in] UCHAR   EndpointType,
  [in] BOOLEAN LowSpeed
);

Parameter

[in] MaxPacketSize

Gibt die maximale Paketgröße an.

[in] EndpointType

Enthält einen Wert vom Typ USBD_PIPE_TYPE, der den Rohrtyp angibt.

[in] LowSpeed

Gibt an, wenn TRUE, dass das Gerät ein Gerät mit niedriger Geschwindigkeit ist. Wenn FALSE-, gibt dieses Element an, dass es sich bei dem Gerät um ein Hi-Speed-Gerät handelt.

Rückgabewert

Die USBD_CalculateUsbBandwidth Routine gibt null für Massen- und Kontrollendpunkte und die in Bits pro Millisekunden verbrauchte Bandbreite zurück. gibt für alle anderen Endpunkte zurück.

Bemerkungen

Die USBD_CalculateUsbBandwidth Routine nähert die Bandbreite mithilfe des folgenden Verfahrens an. Zunächst fügt USBD_CalculateUsbBandwidth die größtmögliche Paketgröße hinzu, die in MaxPacketSizeangegeben ist, dem Aufwand, der dem in EndpointType-angegebenen Endpunkttyp zugeordnet ist. Als Nächstes multipliziert USBD_CalculateUsbBandwidth diese Summe um 8, um die Einheiten aus Byte pro Millisekunden in Bits pro Millisekunden zu konvertieren. Schließlich multipliziert USBD_CalculateUsbBandwidth diese Menge um 7/6, um Füllbits zu berücksichtigen. In einem schlimmsten Fall gibt es für alle sechs Datenbits ein Bit von Fülldaten, die in den Datenstrom eingefügt werden. USBD_CalculateUsbBandwidth verwendet im schlimmsten Fall Annahmen, um die bandbreite zu berechnen, die für die Rohre erforderlich ist.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Veraltet.
Zielplattform- Universal
Header- usbdlib.h (include Usbdlib.h)
Library Usbd.lib
IRQL- <=DISPATCH_LEVEL

Siehe auch

Programmierreferenz für USB-Gerätetreiber

USBD_PIPE_TYPE