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


Метод 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 (include Wudfusb.h)
DLL WUDFx.dll

См. также

IWDFUsbInterface

IWDFUsbInterface::GetInterfaceDescriptor

USB_INTERFACE_DESCRIPTOR