Condividi tramite


Metodo IWDFUsbInterface::GetNumEndPoints (wudfusb.h)

[Avviso: UMDF 2 è la versione più recente di UMDF e sostituisce UMDF 1. Tutti i nuovi driver UMDF devono essere scritti usando UMDF 2. Nessuna nuova funzionalità viene aggiunta a UMDF 1 ed è disponibile un supporto limitato per UMDF 1 nelle versioni più recenti di Windows 10. I driver di Windows universali devono usare UMDF 2. Per altre informazioni, vedere Introduzione con UMDF.]

Il metodo GetNumEndPoints recupera il numero di endpoint (pipe) in un'interfaccia USB.

Sintassi

UCHAR GetNumEndPoints();

Valore restituito

GetNumEndPoints restituisce il numero di endpoint nell'interfaccia USB.

Commenti

Il metodo GetNumEndPoints viene fornito per praticità perché un driver UMDF può ottenere il numero di endpoint dal membro bNumEndpoints della struttura USB_INTERFACE_DESCRIPTOR recuperata dal driver quando chiama il metodo IWDFUsbInterface::GetInterfaceDescriptor .

Esempio

Nell'esempio di codice seguente viene recuperato il numero di pipe in un'interfaccia USB e quindi recupera tipi specifici di pipe.

 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);
              }
          }

Requisiti

Requisito Valore
Fine del supporto Non disponibile in UMDF 2.0 e versioni successive.
Piattaforma di destinazione Desktop
Versione UMDF minima 1.5
Intestazione wudfusb.h (include Wudfusb.h)
DLL WUDFx.dll

Vedi anche

IWDFUsbInterface

IWDFUsbInterface::GetInterfaceDescriptor

USB_INTERFACE_DESCRIPTOR