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 desidera recuperare informazioni. I possibili valori 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.
Commenti
Prima di chiamare WdfUsbTargetDeviceQueryUsbCapability, il driver deve chiamare WdfUsbTargetDeviceCreateWithParameters per la registrazione con lo stack di driver USB sottostante.
WdfUsbTargetDeviceQueryUsbCapability deve essere chiamato dopo la chiamata della funzione di callback EvtDevicePrepareHardware del driver.
La tabella seguente descrive le funzionalità specifiche di USB su cui un driver client USB basato su KMDF può eseguire query tramite una chiamata WdfUsbTargetDeviceQueryUsbCapability .
GUID 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) dal driver client USB basato su KMDF.
Per altre informazioni sulla funzionalità MDLs concatenati nello stack di driver USB, vedere How to Send Chained MDLs .For more information about the chained MDLs in the chained MDLs in the USB driver stack, see 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 della funzione, vedere How to Implement Function Suspend in a Composite Driver.For more information about function suspend, see 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 l'autobus 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 l'autobus funziona a SuperSpeed o superiore.
Questo GUID si applica ai driver KMDF e UMDF. |
Requisiti
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) |
Vedi anche
Commenti e suggerimenti
Invia e visualizza il feedback per