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. Non vengono aggiunte nuove funzionalità 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, vedi Introduzione a 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.

Osservazioni

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

Esempi

Nell'esempio di codice seguente viene recuperato il numero di pipe in un'interfaccia USB e quindi vengono recuperati determinati tipi 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);
              }
          }

Fabbisogno

Requisito Valore
Fine del supporto Non disponibile in UMDF 2.0 e versioni successive.
piattaforma di destinazione Desktop
versione minima di UMDF 1.5
intestazione wudfusb.h (include Wudfusb.h)
dll WUDFx.dll

Vedere anche

IWDFUsbInterface

IWDFUsbInterface::GetInterfaceDescriptor

USB_INTERFACE_DESCRIPTOR