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 desea 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 CapabilityBufferLength es distinto de cero, se debe proporcionar este parámetro. Este parámetro corresponde al parámetro OutputBuffer de la rutina 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. |
|
No había suficiente memoria 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 en Windows 8 es capaz de aceptar una MDL encadenada (consulta 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 How to Send Chained MDLs( 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 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 | 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) |
Consulte también
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de