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


Метод 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

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

IWDFUsbInterface

IWDFUsbInterface::GetInterfaceDescriptor

USB_INTERFACE_DESCRIPTOR