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 |