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 |