Partager via


IWDFUsbInterface ::GetNumEndPoints, méthode (wudfusb.h)

[Avertissement : UMDF 2 est la dernière version de UMDF et remplace UMDF 1. Tous les nouveaux pilotes UMDF doivent être écrits à l’aide de UMDF 2. Aucune nouvelle fonctionnalité n’est ajoutée à UMDF 1 et il existe une prise en charge limitée de UMDF 1 sur les versions plus récentes de Windows 10. Les pilotes Windows universels doivent utiliser UMDF 2. Pour plus d’informations, consultez Bien démarrer avec UMDF.]

La méthode GetNumEndPoints récupère le nombre de points de terminaison (canaux) sur une interface USB.

Syntaxe

UCHAR GetNumEndPoints();

Valeur de retour

GetNumEndPoints retourne le nombre de points de terminaison sur l’interface USB.

Remarques

La méthode GetNumEndPoints est fournie pour des raisons pratiques, car un pilote UMDF peut obtenir le nombre de points de terminaison à partir du membre membre de la structure USB_INTERFACE_DESCRIPTOR que le pilote récupère lorsqu’il appelle la méthode IWDFUsbInterface ::GetInterfaceDescriptor.

Exemples

L’exemple de code suivant récupère le nombre de canaux sur une interface USB, puis récupère des types particuliers de canaux.

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

Exigences

Exigence Valeur
fin du support Indisponible dans UMDF 2.0 et versions ultérieures.
plateforme cible Bureau
version minimale de UMDF 1.5
d’en-tête wudfusb.h (include Wudfusb.h)
DLL WUDFx.dll

Voir aussi

IWDFUsbInterface

IWDFUsbInterface ::GetInterfaceDescriptor

USB_INTERFACE_DESCRIPTOR