Funzione WdfUsbTargetDeviceQueryUsbCapability (wdfusb.h)
[Si applica a KMDF e UMDF]
Il metodo WdfUsbTargetDeviceQueryUsbCapability determina se il controller host e lo stack di driver USB supportano una funzionalità specifica.
Sintassi
NTSTATUS WdfUsbTargetDeviceQueryUsbCapability(
[in] WDFUSBDEVICE UsbDevice,
[in] const GUID *CapabilityType,
[in] ULONG CapabilityBufferLength,
[out, optional] PVOID CapabilityBuffer,
[out, optional] PULONG ResultLength
);
Parametri
[in] UsbDevice
Handle per un oggetto dispositivo USB.
[in] CapabilityType
Puntatore a un GUID che rappresenta la funzionalità su cui il driver client vuole recuperare informazioni. I valori PGUID possibili sono i seguenti:
- 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
Lunghezza, in byte, del buffer a cui fa riferimento CapabilityBuffer.
[out, optional] CapabilityBuffer
Puntatore a un buffer allocato dal chiamante per ricevere la funzionalità USB richiesta. Questo parametro è facoltativo e, Se CapabilityBufferLength è zero, questo parametro deve essere NULL. Analogamente, se CapabilityBufferLength è diverso da zero, questo parametro deve essere fornito. Questo parametro corrisponde al parametro OutputBuffer della routine USBD_QueryUsbCapability .
[out, optional] ResultLength
Puntatore a una posizione contenente le dimensioni, in byte, della funzionalità restituita. Questo parametro è facoltativo e,
Valore restituito
WdfUsbTargetDeviceQueryUsbCapability restituisce STATUS_SUCCESS se l'operazione ha esito positivo. In caso contrario, questo metodo può restituire uno dei valori seguenti:
Codice restituito | Descrizione |
---|---|
|
L'handle dell'oggetto dispositivo USB non è valido. |
|
Memoria insufficiente disponibile. |
|
Il chiamante ha passato un valore di parametro non valido.
|
|
La funzionalità specificata non è supportata dallo stack di driver USB sottostante. |
|
La funzionalità specificata non è supportata dall'hardware del controller host. |
Questo metodo potrebbe restituire anche altri valori NTSTATUS.
Commenti
Prima di chiamare WdfUsbTargetDeviceQueryUsbCapability, il driver deve chiamare WdfUsbTargetDeviceCreateWithParameters per registrare con lo stack di driver USB sottostante.
WdfUsbTargetDeviceQueryUsbCapability deve essere chiamato dopo che è stata chiamata la funzione di callback evtDevicePrepareHardware del driver.
La tabella seguente descrive le funzionalità specifiche di USB che un driver client USB basato su KMDF può eseguire query tramite una chiamata WdfUsbTargetDeviceQueryUsbCapability .
GUID della funzionalità | Descrizione |
---|---|
GUID_USB_CAPABILITY_CHAINED_MDLS |
Il nuovo stack di driver USB in Windows 8 è in grado di accettare un MDL concatenato (vedere MDL) da un driver client USB basato su KMDF.
Per altre informazioni sulla funzionalità MDLs concatenati nello stack di driver USB, vedere How to Send Chained MDLs (Come inviare MDL con catena). Questo GUID si applica solo ai driver KMDF. |
GUID_USB_CAPABILITY_STATIC_STREAMS |
Mentre USB 2.0 e versioni precedenti supporta l'invio di un singolo flusso di dati tramite un endpoint bulk, USB 3.0 consente l'invio e la ricezione di più flussi di dati tramite un endpoint bulk.
Per altre informazioni sull'apertura dei flussi, vedere Come aprire e chiudere i flussi statici in un endpoint bulk USB. Questo GUID si applica solo ai driver KMDF. |
GUID_USB_CAPABILITY_FUNCTION_SUSPEND |
La specifica Universal Serial Bus (USB) 3.0 definisce una nuova funzionalità denominata sospensione della funzione. La funzionalità consente a una singola funzione di un dispositivo composito di immettere uno stato di bassa potenza, indipendentemente da altre funzioni.
Per altre informazioni sulla sospensione delle funzioni, vedere Come implementare la sospensione della funzione in un driver composito. Questo GUID si applica solo ai driver KMDF. |
GUID_USB_CAPABILITY_SELECTIVE_SUSPEND |
Per informazioni sulla sospensione selettiva, vedere Sospensione selettiva USB.
Questo GUID si applica solo ai driver KMDF. |
GUID_USB_CAPABILITY_DEVICE_CONNECTION_HIGH_SPEED_COMPATIBLE |
Determina se il bus è operativo ad alta velocità o superiore.
Questo GUID si applica ai driver KMDF e UMDF. |
GUID_USB_CAPABILITY_DEVICE_CONNECTION_SUPER_SPEED_COMPATIBLE |
Determina se il bus è operativo in SuperSpeed o superiore.
Questo GUID si applica ai driver KMDF e UMDF. |
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows Vista |
Piattaforma di destinazione | Universale |
Versione KMDF minima | 1.11 |
Versione UMDF minima | 2,0 |
Intestazione | wdfusb.h (include Wdfusb.h) |
Libreria | Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF) |
IRQL | PASSIVE_LEVEL |
Regole di conformità DDI | DriverCreate(kmdf) |