Función WdfUsbTargetDeviceQueryUsbCapability (wdfusb.h)
[Se aplica a KMDF y UMDF]
El método WdfUsbTargetDeviceQueryUsbCapability determina si el controlador 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 valores PGUID posibles 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 CapabilityBufferLength no es 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 valores siguientes:
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 podría devolver otros valores NTSTATUS.
Comentarios
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 del controlador USB, consulte 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 enviar y recibir 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 función. La característica permite que una función individual de un dispositivo compuesto entre un estado de baja potencia, independientemente de otras funciones.
Para obtener más información sobre la suspensión de funciones, vea Cómo implementar la suspensión de funciones en un controlador compuesto. 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 está funcionando en SuperSpeed o superior.
Este GUID se aplica a los controladores KMDF y UMDF. |
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows Vista |
Plataforma de destino | Universal |
Versión mínima de KMDF | 1.11 |
Versión mínima de UMDF | 2.0 |
Encabezado | wdfusb.h (incluya Wdfusb.h) |
Library | Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF) |
IRQL | PASSIVE_LEVEL |
Reglas de cumplimiento de DDI | DriverCreate(kmdf) |