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 possibili valori di PGUID 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 punta CapabilityBuffer.
[out, optional] CapabilityBuffer
Puntatore a un buffer allocato dal chiamante per ricevere la funzionalità USB richiesta. Questo parametro è facoltativo. Se capabilityBufferLength è zero, questo parametro deve essere NULL. Analogamente, se CapabilityBufferLength è diverso da zero, è necessario specificare questo parametro. 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.
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 anche restituire altri valori NTSTATUS .
Osservazioni
Prima di chiamare WdfUsbTargetDeviceQueryUsbCapability, il driver deve chiamare WdfUsbTargetDeviceCreateWithParameters per eseguire la registrazione con lo stack di driver USB sottostante.
è necessario chiamare il WdfUsbTargetDeviceQueryUsbCapability dopo che è stata chiamata la funzione di callback evtDevicePrepareHard ware 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. 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 solo 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 flussi statici in un endpoint bulk USB. Questo GUID si applica solo ai driver KMDF. |
GUID_USB_CAPABILITY_FUNCTION_SUSPEND |
La specifica USB (Universal Serial Bus) 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 a basso consumo, indipendentemente da altre funzioni.
Per altre informazioni sulla sospensione delle funzioni, vedere How to Implement Function Suspend in a Composite Driver. 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 funziona 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 è in funzione a SuperSpeed o superiore.
Questo GUID si applica ai driver KMDF e UMDF. |
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Windows Vista |
piattaforma di destinazione | Universale |
versione minima di KMDF | 1.11 |
versione minima di UMDF | 2.0 |
intestazione | wdfusb.h (include Wdfusb.h) |
libreria | Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF) |
IRQL | PASSIVE_LEVEL |
regole di conformità DDI | DriverCreate(kmdf) |