共用方式為


IWDFUsbInterface::GetNumEndPoints 方法 (wudfusb.h)

[警告: UMDF 2 是最新版的 UMDF,並取代 UMDF 1。 所有新的UMDF驅動程式都應該使用UMDF 2撰寫。 未將新功能新增至 UMDF 1,且較新版本的 Windows 10 上,UMDF 1 的支援有限。 通用 Windows 驅動程式必須使用 UMDF 2。 如需詳細資訊,請參閱使用 UMDF 使用者入門。]

GetNumEndPoints 方法會擷取 USB 介面上 (管道) 端點數目。

Syntax

UCHAR GetNumEndPoints();

傳回值

GetNumEndPoints 會傳回 USB 介面上的端點數目。

備註

GetNumEndPoints 方法是為了方便起見,因為 UMDF 驅動程式可以從驅動程式呼叫 IWDFUsbInterface::GetInterfaceDescriptor 方法時,從USB_INTERFACE_DESCRIPTOR結構的 bNumEndpoints 成員取得端點數目。

範例

下列程式代碼範例會擷取 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