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 |