Freigeben über


USBD_CalculateUsbBandwidth-Funktion (usbdlib.h)

Die USBD_CalculateUsbBandwidth Routine ist in Windows XP und höheren Betriebssystemen veraltet. Darf nicht verwendet werden.

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 Pipetyp angibt.

[in] LowSpeed

Gibt an, wenn true, dass es sich bei dem Gerät um ein Gerät mit niedriger Geschwindigkeit handelt. Bei FALSE gibt dieses Element an, dass es sich bei dem Gerät um ein Hochgeschwindigkeitsgerät handelt.

Rückgabewert

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

Hinweise

Die USBD_CalculateUsbBandwidth Routine nähert die Bandbreite mithilfe des folgenden Verfahrens an. Erstens fügt USBD_CalculateUsbBandwidth die größtmögliche Paketgröße hinzu, die in MaxPacketSize angegeben ist, dem Mehraufwand, der dem typ des in EndpointType angegebenen Endpunkttyps zugeordnet ist. Als Nächstes multipliziert USBD_CalculateUsbBandwidth diese Summe mit 8, um die Einheiten aus Bytes pro Millisekunde in Bits pro Millisekunde umzuwandeln. Schließlich multipliziert USBD_CalculateUsbBandwidth diese Menge mit 7/6, um Füllbits zu berücksichtigen. Im schlimmsten Fall werden für sechs Datenbits ein Bit Fülldaten in den Datenstrom gefüllt. USBD_CalculateUsbBandwidth verwendet Annahmen im ungünstigsten Fall, um die von der Pipe erforderliche Bandbreite zu berechnen.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Veraltet.
Zielplattform Universell
Header usbdlib.h (include Usbdlib.h)
Bibliothek Usbd.lib
IRQL <=DISPATCH_LEVEL

Weitere Informationen

Referenz zur USB-Gerätetreiberprogrammierung

USBD_PIPE_TYPE