Метод IWDFUsbInterface::GetNumEndPoints (wudfusb.h)
[Предупреждение: UMDF 2 является последней версией UMDF и заменяет UMDF 1. Все новые драйверы UMDF должны быть написаны с помощью UMDF 2. Новые функции не добавляются в UMDF 1, а поддержка UMDF 1 в более новых версиях Windows 10 ограничена. Универсальные драйверы Windows должны использовать UMDF 2. Дополнительные сведения см. в разделе начало работы с помощью UMDF.]
Метод GetNumEndPoints извлекает количество конечных точек (каналов) в ИНТЕРФЕЙСе USB.
Синтаксис
UCHAR GetNumEndPoints();
Возвращаемое значение
GetNumEndPoints возвращает количество конечных точек в ИНТЕРФЕЙСе USB.
Комментарии
Метод GetNumEndPoints предоставляется для удобства, так как драйвер UMDF может получить количество конечных точек из элемента bNumEndpointsструктуры USB_INTERFACE_DESCRIPTOR , которую драйвер получает при вызове метода IWDFUsbInterface::GetInterfaceDescriptor .
Примеры
В следующем примере кода извлекается количество каналов в ИНТЕРФЕЙСе USB, а затем извлекаются определенные типы каналов.
HRESULT hr;
UCHAR NumEndPoints;
NumEndPoints = pIUsbInterface->GetNumEndPoints();
if (NumEndPoints != NUM_OSRUSB_ENDPOINTS) {
hr = E_UNEXPECTED;
}
if (SUCCEEDED(hr)) {
for (UCHAR PipeIndex = 0; PipeIndex < NumEndPoints; PipeIndex++) {
hr = pIUsbInterface->RetrieveUsbPipeObject(PipeIndex,
&pIUsbPipe);
if (FAILED(hr)) {
// Output an error.
}
else {
if ( pIUsbPipe->IsInEndPoint() && (UsbdPipeTypeBulk == pIUsbPipe->GetType()) ) {
pIUsbInputPipe = pIUsbPipe;
}
else if ( pIUsbPipe->IsOutEndPoint() && (UsbdPipeTypeBulk == pIUsbPipe->GetType()) )
{
pIUsbOutputPipe = pIUsbPipe;
}
else
{
SAFE_RELEASE(pIUsbPipe);
}
}
Требования
Требование | Значение |
---|---|
Дата окончания поддержки | Недоступно в UMDF 2.0 и более поздних версиях. |
Целевая платформа | Персональный компьютер |
Минимальная версия UMDF | 1.5 |
Верхняя часть | wudfusb.h (включая Wudfusb.h) |
DLL | WUDFx.dll |