Fungsi WdfUsbTargetDeviceQueryUsbCapability (wdfusb.h)

[Berlaku untuk KMDF dan UMDF]

Metode WdfUsbTargetDeviceQueryUsbCapability menentukan apakah pengontrol host dan tumpukan driver USB mendukung kemampuan tertentu.

Sintaks

NTSTATUS WdfUsbTargetDeviceQueryUsbCapability(
  [in]            WDFUSBDEVICE UsbDevice,
  [in]            const GUID   *CapabilityType,
  [in]            ULONG        CapabilityBufferLength,
  [out, optional] PVOID        CapabilityBuffer,
  [out, optional] PULONG       ResultLength
);

Parameter

[in] UsbDevice

Handel ke objek perangkat USB.

[in] CapabilityType

Penunjuk ke GUID yang mewakili kemampuan yang ingin diambil oleh driver klien. Kemungkinan nilai PGUID adalah sebagai berikut:

  • 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
Lihat informasi selengkapnya di Keterangan.

[in] CapabilityBufferLength

Panjang, dalam byte, dari buffer yang diacu oleh CapabilityBuffer.

[out, optional] CapabilityBuffer

Penunjuk ke buffer yang dialokasikan pemanggil untuk menerima kemampuan USB yang diminta. Parameter ini bersifat opsional. Jika CapabilityBufferLength adalah nol, parameter ini harus NULL. Demikian pula, jika CapabilityBufferLength bukan nol, parameter ini harus disediakan. Parameter ini sesuai dengan parameter OutputBuffer dari rutinitas USBD_QueryUsbCapability .

[out, optional] ResultLength

Penunjuk ke lokasi yang berisi ukuran, dalam byte, dari kemampuan yang dikembalikan. Parameter ini bersifat opsional.

Menampilkan nilai

WdfUsbTargetDeviceQueryUsbCapability mengembalikan STATUS_SUCCESS jika operasi berhasil. Jika tidak, metode ini dapat mengembalikan salah satu nilai berikut:

Menampilkan kode Deskripsi
STATUS_INVALID_DEVICE_STATE
Handel objek perangkat USB tidak valid.
STATUS_INSUFFICIENT_RESOURCES
Memori tidak cukup tersedia.
STATUS_INVALID_PARAMETER
Penelepon melewati nilai parameter yang tidak valid.
  • UsbDevice atau CapabilityType adalah NULL.
  • CapabilityBuffer ADALAH NULL tetapi CapabilityBufferLength berisi nilai bukan nol. Sebaliknya, pemanggil menyediakan CapabilityBuffer tetapi CapabilityBufferLength adalah nol.
STATUS_NOT_IMPLEMENTED
Kemampuan yang ditentukan tidak didukung oleh tumpukan driver USB yang mendasar.
STATUS_NOT_SUPPORTED
Kemampuan yang ditentukan tidak didukung oleh perangkat keras pengontrol host.
 

Metode ini juga mungkin mengembalikan nilai NTSTATUS lainnya.

Keterangan

Sebelum memanggil WdfUsbTargetDeviceQueryUsbCapability, driver harus memanggil WdfUsbTargetDeviceCreateWithParameters untuk mendaftar dengan tumpukan driver USB yang mendasarinya.

WdfUsbTargetDeviceQueryUsbCapability harus dipanggil setelah fungsi panggilan balik EvtDevicePrepareHardware driver telah dipanggil.

Tabel berikut menjelaskan kemampuan khusus USB yang dapat dikueri driver klien USB berbasis KMDF melalui panggilan WdfUsbTargetDeviceQueryUsbCapability .

GUID kemampuan Deskripsi
GUID_USB_CAPABILITY_CHAINED_MDLS Tumpukan driver USB baru di Windows 8 mampu menerima MDL berantai (lihat MDL) dari driver klien USB berbasis KMDF.

Untuk informasi selengkapnya tentang kemampuan MDL berantai di tumpukan driver USB, lihat Cara Mengirim MDL Berantai.

GUID ini hanya berlaku untuk driver KMDF.

GUID_USB_CAPABILITY_STATIC_STREAMS Sedangkan USB 2.0 dan yang lebih lama hanya mendukung pengiriman satu aliran data melalui titik akhir massal, USB 3.0 mengizinkan pengiriman dan penerimaan beberapa aliran data melalui titik akhir massal.

Untuk informasi selengkapnya tentang membuka aliran, lihat Cara Membuka dan Menutup Aliran Statis di Titik Akhir Massal USB.

GUID ini hanya berlaku untuk driver KMDF.

GUID_USB_CAPABILITY_FUNCTION_SUSPEND Spesifikasi Universal Serial Bus (USB) 3.0 mendefinisikan fitur baru yang disebut fungsi ditangguhkan. Fitur ini memungkinkan fungsi individual perangkat komposit untuk memasuki status daya rendah, secara independen dari fungsi lain.

Untuk informasi selengkapnya tentang fungsi yang ditangguhkan, lihat Cara Menerapkan Fungsi Ditangguhkan dalam Driver Komposit.

GUID ini hanya berlaku untuk driver KMDF.

GUID_USB_CAPABILITY_SELECTIVE_SUSPEND Untuk informasi tentang penangguhan selektif, lihat Penangguhan Selektif USB.

GUID ini hanya berlaku untuk driver KMDF.

GUID_USB_CAPABILITY_DEVICE_CONNECTION_HIGH_SPEED_COMPATIBLE Menentukan apakah bus beroperasi pada kecepatan tinggi atau lebih tinggi.

GUID ini berlaku untuk driver KMDF dan UMDF.

GUID_USB_CAPABILITY_DEVICE_CONNECTION_SUPER_SPEED_COMPATIBLE Menentukan apakah bus beroperasi di SuperSpeed atau lebih tinggi.

GUID ini berlaku untuk driver KMDF dan UMDF.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows Vista
Target Platform Universal
Versi KMDF minimum 1.11
Versi UMDF minimum 2.0
Header wdfusb.h (termasuk Wdfusb.h)
Pustaka Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF)
IRQL PASSIVE_LEVEL
Aturan kepatuhan DDI DriverCreate(kmdf)

Lihat juga

USBD_QueryUsbCapability

WdfUsbTargetDeviceRetrieveInformation