HidP_GetCollectionDescription (hidpddi.h)

Mengisi blok deskripsi perangkat dengan deskripsi koleksi dan informasi ID laporan terkait untuk pendeskripsi laporan yang ditentukan. Minidriver HID umumnya tidak perlu memanggil fungsi ini. Sebaliknya, ia mengembalikan pendeskripsi laporan ke driver Hidclass sebagai respons terhadap IOCTL_HID_GET_REPORT_DESCRIPTOR.

Sintaks

NTSTATUS HidP_GetCollectionDescription(
  [in]  PHIDP_REPORT_DESCRIPTOR ReportDesc,
  [in]  ULONG                   DescLength,
  [in]  POOL_TYPE               PoolType,
  [out] PHIDP_DEVICE_DESC       DeviceDescription
);

Parameter

[in] ReportDesc

Penunjuk ke array UCHAR yang berisi pendeskripsi laporan mentah.

[in] DescLength

Panjang array deskriptor laporan.

[in] PoolType

Nilai POOL_TYPE yang menunjukkan jenis kumpulan tempat memori untuk daftar tertaut dialokasikan. Ini termasuk setiap elemen array HIDP_COLLECTION_DESC HIDP_DEVICE_DESC, setiap HIDP_PREPARSED_DATA di setiap HIDP_COLLECTION_DESC, setiap elemen array HIDP_REPORT_IDS HIDP_DEVICE_DESC.

[out] DeviceDescription

Penunjuk ke struktur HIDP_DEVICE_DESC yang diisi dengan blok deskripsi perangkat yang diisi deskriptor koleksi sebagai daftar tertaut. Ini adalah struktur yang dialokasikan penelepon. Namun, elemen array HIDP_COLLECTION_DESC dan elemen array HIDP_REPORT_IDS dialokasikan oleh fungsi ini.

Menampilkan nilai

HidP_GetCollectionDescription dapat mengembalikan salah satu nilai ini: TRUE jika berhasil mengisi blok deskripsi perangkat. Jika tidak, ia mengembalikan FALSE.

Mengembalikan nilai Deskripsi
STATUS_SUCCESS
Berhasil mengurai deskriptor laporan dan mengalokasikan blok memori yang diperlukan untuk menjelaskan perangkat.
STATUS_NO_DATA_DETECTED
Gagal menemukan koleksi tingkat atas di deskriptor laporan.
STATUS_COULD_NOT_INTERPRET
Kesalahan terdeteksi di deskriptor laporan. Lihat kode kesalahan di bidang Dbg dari struktur HIDP_DEVICE_DESC .
STATUS_BUFFER_TOO_SMALL
Menemukan akhir deskriptor laporan saat mengharapkan lebih banyak data.
STATUS_INSUFFICIENT_RESOURCES
Gagal mengalokasikan memori.
STATUS_ILLEGAL_INSTRUCTION
Gagal mengurai item dalam deskriptor laporan.
HIDP_STATUS_INVALID_REPORT_TYPE
ID laporan 0 ditemukan di deskriptor.

Keterangan

Untuk pendeskripsi laporan mentah yang ditentukan oleh parameter ReportDesc , HidP_GetCollectionDescription mengisi blok DeviceDescription dengan daftar deskriptor koleksi tertaut yang dialokasikan pemanggil dan informasi ID Laporan terkait yang dijelaskan oleh pendeskripsi laporan yang diberikan. Memori untuk informasi pengumpulan dan informasi ReportID dialokasikan berdasarkan nilai PoolType .

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Tersedia di Windows 2000 dan versi Windows yang lebih baru.
Target Platform Universal
Header hidpddi.h (termasuk Hidpddi.h)
Pustaka Hidparse.lib
IRQL <= DISPATCH_LEVEL