Поделиться через


функция USBD_CalculateUsbBandwidth (usbdlib.h)

Подпрограмма USBD_CalculateUsbBandwidth не рекомендуется использовать в операционных системах Windows XP и более поздних версий. Не используйте.

Синтаксис

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

Параметры

[in] MaxPacketSize

Указывает максимальный размер пакета.

[in] EndpointType

Содержит значение типа USBD_PIPE_TYPE , указывающее тип канала.

[in] LowSpeed

При значении TRUE указывает, что устройство является низкоскоростным. При значении FALSE этот элемент указывает, что устройство является высокоскоростным.

Возвращаемое значение

Подпрограмма USBD_CalculateUsbBandwidth возвращает ноль для конечных точек массовых и управляющих конечных точек и пропускной способности, потребляемой в битах в миллисекундах. возвращает для всех остальных конечных точек.

Комментарии

Подпрограмма USBD_CalculateUsbBandwidth приблизила пропускную способность с помощью следующей процедуры. Во-первых, USBD_CalculateUsbBandwidth добавляет максимальный размер пакета, указанный в параметре MaxPacketSize, к затратам, связанным с типом конечной точки, указанным в EndpointType. Затем USBD_CalculateUsbBandwidth умножает эту сумму на 8, чтобы преобразовать единицы из байтов в миллисекунды в биты в миллисекундах . Наконец, USBD_CalculateUsbBandwidth умножает это количество на 7/6, чтобы учитывать биты наполнителя. В худшем случае будет один бит данных заполнителей, вложенных в поток данных на каждые шесть битов данных. USBD_CalculateUsbBandwidth использует наихудшие предположения для вычисления пропускной способности, необходимой для канала.

Требования

Требование Значение
Минимальная версия клиента Не рекомендуется.
Целевая платформа Универсальное
Верхняя часть usbdlib.h (включая Usbdlib.h)
Библиотека Usbd.lib
IRQL <=DISPATCH_LEVEL

См. также раздел

Справочник по программированию драйверов USB-устройств

USBD_PIPE_TYPE