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. Nessuna nuova funzionalità viene aggiunta 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, vedere Introduzione con 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.
Commenti
Il metodo GetNumEndPoints viene fornito per praticità perché un driver UMDF può ottenere il numero di endpoint dal membro bNumEndpoints della struttura USB_INTERFACE_DESCRIPTOR recuperata dal driver quando chiama il metodo IWDFUsbInterface::GetInterfaceDescriptor .
Esempio
Nell'esempio di codice seguente viene recuperato il numero di pipe in un'interfaccia USB e quindi recupera tipi specifici 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);
}
}
Requisiti
Requisito | Valore |
---|---|
Fine del supporto | Non disponibile in UMDF 2.0 e versioni successive. |
Piattaforma di destinazione | Desktop |
Versione UMDF minima | 1.5 |
Intestazione | wudfusb.h (include Wudfusb.h) |
DLL | WUDFx.dll |