Función WdfUsbTargetDeviceQueryUsbCapability (wdfusb.h)
[Se aplica a KMDF y UMDF]
El método WdfUsbTargetDeviceQueryUsbCapability determina si el controlador de host y la pila de controladores USB admiten una funcionalidad específica.
Sintaxis
NTSTATUS WdfUsbTargetDeviceQueryUsbCapability(
[in] WDFUSBDEVICE UsbDevice,
[in] const GUID *CapabilityType,
[in] ULONG CapabilityBufferLength,
[out, optional] PVOID CapabilityBuffer,
[out, optional] PULONG ResultLength
);
Parámetros
[in] UsbDevice
Identificador de un objeto de dispositivo USB.
[in] CapabilityType
Puntero a un GUID que representa la funcionalidad sobre la que el controlador cliente quiere recuperar información. Los posibles valores PGUID son los siguientes:
- GUID_USB_CAPABILITY_CHAINED_MDLS
- GUID_USB_CAPABILITY_STATIC_STREAMS
- GUID_USB_CAPABILITY_SELECTIVE_SUSPEND
- GUID_USB_CAPABILITY_FUNCTION_SUSPEND
- GUID_USB_CAPABILITY_DEVICE_CONNECTION_HIGH_SPEED_COMPATIBLE
- GUID_USB_CAPABILITY_DEVICE_CONNECTION_SUPER_SPEED_COMPATIBLE
[in] CapabilityBufferLength
Longitud, en bytes, del búfer al que apunta CapabilityBuffer.
[out, optional] CapabilityBuffer
Puntero a un búfer asignado por el autor de la llamada para recibir la funcionalidad USB solicitada. Este parámetro es opcional. Si CapabilityBufferLength es cero, este parámetro debe ser NULL. Del mismo modo, si la CapabilityBufferLength es distinto de cero, se debe proporcionar este parámetro. Este parámetro corresponde al parámetro OutputBuffer de la rutina de USBD_QueryUsbCapability.
[out, optional] ResultLength
Puntero a una ubicación que contiene el tamaño, en bytes, de la funcionalidad devuelta. Este parámetro es opcional.
Valor devuelto
WdfUsbTargetDeviceQueryUsbCapability devuelve STATUS_SUCCESS si la operación se realiza correctamente. De lo contrario, este método puede devolver uno de los siguientes valores:
Código devuelto | Descripción |
---|---|
|
El identificador de objeto del dispositivo USB no es válido. |
|
Memoria insuficiente disponible. |
|
El autor de la llamada pasó un valor de parámetro no válido.
|
|
La funcionalidad especificada no es compatible con la pila de controladores USB subyacente. |
|
El hardware del controlador de host no admite la funcionalidad especificada. |
Este método también puede devolver otros valores de NTSTATUS.
Observaciones
Antes de llamar a WdfUsbTargetDeviceQueryUsbCapability, el controlador debe llamar a WdfUsbTargetDeviceCreateWithParameters para registrarse con la pila de controladores USB subyacente.
se debe llamar a WdfUsbTargetDeviceQueryUsbCapability después de llamar a la función de devolución de llamada evtDevicePrepareHardware del controlador .
En la tabla siguiente se describen las funcionalidades específicas de USB que un controlador de cliente USB basado en KMDF puede consultar a través de una llamada WdfUsbTargetDeviceQueryUsbCapability.
GUID de funcionalidad | Descripción |
---|---|
GUID_USB_CAPABILITY_CHAINED_MDLS |
La nueva pila de controladores USB de Windows 8 es capaz de aceptar una MDL encadenada (consulte MDL) desde un controlador de cliente USB basado en KMDF.
Para obtener más información sobre la funcionalidad MDL encadenada en la pila de controladores USB, vea Envío de MDL encadenados. Este GUID solo se aplica a los controladores KMDF. |
GUID_USB_CAPABILITY_STATIC_STREAMS |
Mientras que USB 2.0 y versiones anteriores admiten el envío de un único flujo de datos a través de un punto de conexión masivo, USB 3.0 permite el envío y recepción de varios flujos de datos a través de un punto de conexión masivo.
Para obtener más información sobre cómo abrir secuencias, vea Cómo abrir y cerrar secuencias estáticas en un punto de conexión masivo USB. Este GUID solo se aplica a los controladores KMDF. |
GUID_USB_CAPABILITY_FUNCTION_SUSPEND |
La especificación Universal Serial Bus (USB) 3.0 define una nueva característica denominada suspensión de funciones. La característica permite que una función individual de un dispositivo compuesto entre en un estado de baja potencia, independientemente de otras funciones.
Para obtener más información sobre la suspensión de funciones, vea How to Implement Function Suspend in a Composite Driver. Este GUID solo se aplica a los controladores KMDF. |
GUID_USB_CAPABILITY_SELECTIVE_SUSPEND |
Para obtener información sobre la suspensión selectiva, consulte suspensión selectiva usb.
Este GUID solo se aplica a los controladores KMDF. |
GUID_USB_CAPABILITY_DEVICE_CONNECTION_HIGH_SPEED_COMPATIBLE |
Determina si el bus funciona a alta velocidad o superior.
Este GUID se aplica a los controladores KMDF y UMDF. |
GUID_USB_CAPABILITY_DEVICE_CONNECTION_SUPER_SPEED_COMPATIBLE |
Determina si el autobús funciona en SuperSpeed o superior.
Este GUID se aplica a los controladores KMDF y UMDF. |
Requisitos
Requisito | Valor |
---|---|
cliente mínimo admitido | Windows Vista |
de la plataforma de destino de | Universal |
versión mínima de KMDF | 1.11 |
versión mínima de UMDF | 2.0 |
encabezado de | wdfusb.h (incluya Wdfusb.h) |
biblioteca de | Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF) |
irQL | PASSIVE_LEVEL |
reglas de cumplimiento de DDI | DriverCreate(kmdf) |