WdfUsbTargetDeviceQueryUsbCapability-Funktion (wdfusb.h)
[Gilt für KMDF und UMDF]
Die WdfUsbTargetDeviceQueryUsbCapability Methode bestimmt, ob der Hostcontroller und der USB-Treiberstapel eine bestimmte Funktion unterstützen.
Syntax
NTSTATUS WdfUsbTargetDeviceQueryUsbCapability(
[in] WDFUSBDEVICE UsbDevice,
[in] const GUID *CapabilityType,
[in] ULONG CapabilityBufferLength,
[out, optional] PVOID CapabilityBuffer,
[out, optional] PULONG ResultLength
);
Parameter
[in] UsbDevice
Ein Handle für ein USB-Geräteobjekt.
[in] CapabilityType
Ein Zeiger auf eine GUID, die die Funktion darstellt, über die der Clienttreiber Informationen abrufen möchte. Die möglichen PGUID- Werte sind wie folgt:
- 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
Die Länge des Puffers in Bytes, auf den CapabilityBufferverweist.
[out, optional] CapabilityBuffer
Ein Zeiger auf einen vom Aufrufer zugewiesenen Puffer, um die angeforderte USB-Funktion zu empfangen. Dieser Parameter ist optional. Wenn CapabilityBufferLength null ist, muss dieser Parameter NULL sein. Wenn CapabilityBufferLength- ungleich Null ist, muss dieser Parameter angegeben werden. Dieser Parameter entspricht dem OutputBuffer Parameter der USBD_QueryUsbCapability Routine.
[out, optional] ResultLength
Ein Zeiger auf eine Position, die die Größe der zurückgegebenen Funktion in Byte enthält. Dieser Parameter ist optional.
Rückgabewert
WdfUsbTargetDeviceQueryUsbCapability gibt STATUS_SUCCESS zurück, wenn der Vorgang erfolgreich ist. Andernfalls kann diese Methode einen der folgenden Werte zurückgeben:
Rückgabecode | Beschreibung |
---|---|
|
Das USB-Geräteobjekthandle ist ungültig. |
|
Nicht genügend Arbeitsspeicher verfügbar. |
|
Der Aufrufer hat einen ungültigen Parameterwert übergeben.
|
|
Die angegebene Funktion wird vom zugrunde liegenden USB-Treiberstapel nicht unterstützt. |
|
Die angegebene Funktion wird von der Hostcontrollerhardware nicht unterstützt. |
Diese Methode kann auch andere NTSTATUS-Wertezurückgeben.
Bemerkungen
Vor dem Aufrufen WdfUsbTargetDeviceQueryUsbCapabilitymuss der Treiber WdfUsbTargetDeviceCreateWithParameters aufrufen, um sich beim zugrunde liegenden USB-Treiberstapel zu registrieren.
WdfUsbTargetDeviceQueryUsbCapability- muss aufgerufen werden, nachdem die EvtDevicePrepareHardware Rückruffunktion aufgerufen wurde.
In der folgenden Tabelle werden die USB-spezifischen Funktionen beschrieben, die ein KMDF-basierter USB-Clienttreiber über einen WdfUsbTargetDeviceQueryUsbCapability Aufruf abfragen kann.
Funktions-GUID | Beschreibung |
---|---|
GUID_USB_CAPABILITY_CHAINED_MDLS |
Der neue USB-Treiberstapel in Windows 8 kann eine verkettete MDL (siehe MDL-) von einem KMDF-basierten USB-Clienttreiber akzeptieren.
Weitere Informationen zur verketteten MDLs-Funktion im USB-Treiberstapel finden Sie unter How to Send Chained MDLs. Diese GUID gilt nur für KMDF-Treiber. |
GUID_USB_CAPABILITY_STATIC_STREAMS |
Während USB 2.0 und frühere Versionen das Senden eines einzelnen Datenstroms über einen Massenendpunkt unterstützen, ermöglicht USB 3.0 das Senden und Empfangen mehrerer Datenströme über einen Massenendpunkt.
Weitere Informationen zum Öffnen von Datenströmen finden Sie unter Öffnen und Schließen statischer Datenströme in einem USB-Massenendpunkt. Diese GUID gilt nur für KMDF-Treiber. |
GUID_USB_CAPABILITY_FUNCTION_SUSPEND |
Die Spezifikation Universal Serial Bus (USB) 3.0 definiert ein neues Feature, das als Funktions suspend bezeichnet wird. Das Feature ermöglicht es einer einzelnen Funktion eines zusammengesetzten Geräts, unabhängig von anderen Funktionen einen Energiesparzustand einzugeben.
Weitere Informationen zum Anhalten von Funktionen finden Sie unter Implementieren von Funktions suspend in einem zusammengesetzten Treiber. Diese GUID gilt nur für KMDF-Treiber. |
GUID_USB_CAPABILITY_SELECTIVE_SUSPEND |
Informationen zum selektiven Anhalten finden Sie unter USB Selektives Anhalten.
Diese GUID gilt nur für KMDF-Treiber. |
GUID_USB_CAPABILITY_DEVICE_CONNECTION_HIGH_SPEED_COMPATIBLE |
Bestimmt, ob der Bus mit hoher Geschwindigkeit oder höher arbeitet.
Diese GUID gilt für KMDF- und UMDF-Treiber. |
GUID_USB_CAPABILITY_DEVICE_CONNECTION_SUPER_SPEED_COMPATIBLE |
Bestimmt, ob der Bus bei SuperSpeed oder höher betrieben wird.
Diese GUID gilt für KMDF- und UMDF-Treiber. |
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Windows Vista |
Zielplattform- | Universal |
Minimale KMDF-Version | 1.11 |
Mindest-UMDF-Version | 2.0 |
Header- | wdfusb.h (include Wdfusb.h) |
Library | Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF) |
IRQL- | PASSIVE_LEVEL |
DDI-Complianceregeln | DriverCreate(kmdf) |