Método IWDFUsbInterface::GetNumEndPoints (wudfusb.h)
[Advertencia: UMDF 2 es la versión más reciente de UMDF y sustituye a UMDF 1. Todos los controladores UMDF nuevos deben escribirse con UMDF 2. No se agregan nuevas características a UMDF 1 y hay compatibilidad limitada con UMDF 1 en versiones más recientes de Windows 10. Los controladores universales de Windows deben usar UMDF 2. Para obtener más información, consulta Introducción con UMDF.
El método GetNumEndPoints recupera el número de puntos de conexión (canalizaciones) en una interfaz USB.
Sintaxis
UCHAR GetNumEndPoints();
Valor devuelto
GetNumEndPoints devuelve el número de puntos de conexión en la interfaz USB.
Comentarios
El método GetNumEndPoints se proporciona para mayor comodidad porque un controlador UMDF puede obtener el número de puntos de conexión del miembro bNumEndpoints de la estructura USB_INTERFACE_DESCRIPTOR que recupera el controlador cuando llama al método IWDFUsbInterface::GetInterfaceDescriptor .
Ejemplos
En el ejemplo de código siguiente se recupera el número de canalizaciones en una interfaz USB y, a continuación, se recuperan determinados tipos de canalizaciones.
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);
}
}
Requisitos
Requisito | Value |
---|---|
Finalización del soporte técnico | No disponible en UMDF 2.0 y versiones posteriores. |
Plataforma de destino | Escritorio |
Versión mínima de UMDF | 1.5 |
Encabezado | wudfusb.h (incluya Wudfusb.h) |
Archivo DLL | WUDFx.dll |