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 nuevos controladores UMDF deben escribirse mediante 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 a 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.
Observaciones
El método GetNumEndPoints se proporciona para mayor comodidad porque un controlador UMDF puede obtener el número de puntos de conexión del bNumEndpoints miembro 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 | Valor |
---|---|
fin del soporte técnico | No disponible en UMDF 2.0 y versiones posteriores. |
de la plataforma de destino de | Escritorio |
versión mínima de UMDF | 1.5 |
encabezado de | wudfusb.h (incluya Wudfusb.h) |
DLL de | WUDFx.dll |