Partager via


Méthode IWDFUsbInterface ::GetNumEndPoints (wudfusb.h)

[Avertissement : UMDF 2 est la dernière version d’UMDF et remplace UMDF 1. Tous les nouveaux pilotes UMDF doivent être écrits à l’aide d’UMDF 2. Aucune nouvelle fonctionnalité n’est ajoutée à UMDF 1 et la prise en charge d’UMDF 1 est limitée sur les versions plus récentes de Windows 10. Les pilotes Windows universels doivent utiliser UMDF 2. Pour plus d’informations, consultez Prise en main 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 à des fins pratiques, car un pilote UMDF peut obtenir le nombre de points de terminaison à partir du membre bNumEndpoints 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);
              }
          }

Configuration requise

Condition requise Valeur
Fin de la prise en charge Non disponible dans UMDF 2.0 et versions ultérieures.
Plateforme cible Desktop (Expérience utilisateur)
Version UMDF minimale 1.5
En-tête wudfusb.h (inclure Wudfusb.h)
DLL WUDFx.dll

Voir aussi

IWDFUsbInterface

IWDFUsbInterface ::GetInterfaceDescriptor

USB_INTERFACE_DESCRIPTOR