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 |