Bagikan melalui


fungsi HidP_GetUsageValueArray (hidpi.h)

Rutinitas HidP_GetUsageValueArray mengekstrak data yang terkait dengan kontrol HID array nilai penggunaan dari laporan HID.

Sintaksis

NTSTATUS HidP_GetUsageValueArray(
  [in]      HIDP_REPORT_TYPE     ReportType,
  [in]      USAGE                UsagePage,
  [in]      USHORT               LinkCollection,
  [in]      USAGE                Usage,
  [in, out] PCHAR                UsageValue,
  [in]      USHORT               UsageValueByteLength,
  [in]      PHIDP_PREPARSED_DATA PreparsedData,
  [in]      PCHAR                Report,
  [in]      ULONG                ReportLength
);

Parameter

[in] ReportType

Menentukan nilai enumerator HIDP_REPORT_TYPE yang mengidentifikasi jenis laporan.

[in] UsagePage

Menentukan halaman penggunaan array nilai penggunaan.

[in] LinkCollection

Menentukan kumpulan tautan yang berisi array nilai penggunaan. Jika LinkCollection bukan nol, rutinitas hanya mencari array nilai penggunaan dalam koleksi tautan ini; jika tidak, jika LinkCollection adalah nol, rutin mencari array nilai penggunaan di koleksi tingkat atas yang terkait dengan PreparsedData.

[in] Usage

Menentukan penggunaan array nilai penggunaan.

[in, out] UsageValue

Penunjuk ke buffer yang dialokasikan pemanggil di mana rutinitas mengembalikan data yang terkait dengan array nilai penggunaan.

[in] UsageValueByteLength

Menentukan panjang, dalam byte, buffer pada UsageValue.

[in] PreparsedData

Penunjuk ke data koleksi tingkat atas yang disiapkan.

[in] Report

Penunjuk ke laporan yang berisi nilai.

[in] ReportLength

Menentukan panjang, dalam byte, laporan yang terletak di Laporan.

Mengembalikan nilai

HidP_GetUsageValueArray mengembalikan salah satu nilai status berikut:

Mengembalikan kode Deskripsi
HIDP_STATUS_SUCCESS Rutinitas berhasil mengembalikan data nilai.
HIDP_STATUS_INVALID_REPORT_LENGTH Panjang laporan tidak valid.
HIDP_STATUS_INVALID_REPORT_TYPE Tipe laporan yang ditentukan tidak valid.
HIDP_STATUS_NOT_VALUE_ARRAY Penggunaan yang diminta bukan array nilai penggunaan.
HIDP_STATUS_BUFFER_TOO_SMALL Buffer UsageValue terlalu kecil untuk menahan penggunaan yang diminta.
HIDP_STATUS_INCOMPATIBLE_REPORT_ID Koleksi berisi array nilai penggunaan pada halaman penggunaan yang ditentukan dalam laporan jenis yang ditentukan, tetapi tidak ada penggunaan tersebut dalam laporan yang ditentukan.
HIDP_STATUS_INVALID_PREPARSED_DATA Data yang disiapkan tidak valid.
HIDP_STATUS_USAGE_NOT_FOUND Koleksi tidak berisi array nilai penggunaan pada halaman penggunaan yang ditentukan dalam laporan apa pun dari jenis laporan yang ditentukan.

Komentar

Ukuran yang diperlukan, dalam byte, dari UsageValueByteLength ditentukan dengan mengalikan bersama-sama BitSize dan ReportCount anggota struktur HIDP_VALUE_CAPS array nilai penggunaan, dan membulatkan hasil hingga byte terdekat.

HidP_GetUsageValueArray mengatur buffer UsageValue dalam urutan little-endian, dimulai dengan bit data penggunaan yang paling tidak signifikan. Data tidak selaras dengan byte, dan digeser sedemikian sehingga bit data yang paling tidak signifikan terletak di bit pertama usageValue buffer.

HidP_GetUsageValueArray dirancang untuk mengekstrak semua nilai penggunaan untuk penggunaan yang jumlah laporannya lebih besar dari 1. Untuk mengekstrak penggunaan yang jumlah laporannya sama dengan 1, gunakan HidP_GetUsageValue.

Untuk informasi selengkapnya, lihat Koleksi HID.

Persyaratan

Syarat Nilai
klien minimum yang didukung Tersedia di Windows 2000 dan versi Windows yang lebih baru.
Platform Target Universal
Header hidpi.h (termasuk Hidpi.h)
Pustaka Hidparse.lib
IRQL <= TINGKAT_PENGIRIMAN

Lihat juga