Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Menghitung perangkat input mentah yang melekat pada sistem.
Sintaksis
UINT GetRawInputDeviceList(
[out, optional] PRAWINPUTDEVICELIST pRawInputDeviceList,
[in, out] PUINT puiNumDevices,
[in] UINT cbSize
);
Parameter-parameternya
[out, optional] pRawInputDeviceList
Jenis: PRAWINPUTDEVICELIST
Array struktur RAWINPUTDEVICELIST untuk perangkat yang melekat pada sistem. Penunjuk harus diratakan pada batas DWORD (32-bit).
Jika NULL, jumlah perangkat dikembalikan dalam *puiNumDevices.
[in, out] puiNumDevices
Jenis: PUINT
Jika pRawInputDeviceListadalah NULL, fungsi mengisi variabel ini dengan jumlah perangkat yang melekat pada sistem; jika tidak, variabel ini menentukan jumlah struktur RAWINPUTDEVICELIST yang dapat dimuat dalam buffer tempat titik pRawInputDeviceList . Jika nilai ini kurang dari jumlah perangkat yang terpasang pada sistem, fungsi mengembalikan jumlah aktual perangkat dalam variabel ini dan gagal dengan ERROR_INSUFFICIENT_BUFFER. Jika nilai ini lebih besar dari atau sama dengan jumlah perangkat yang terpasang pada sistem, maka nilainya tidak berubah, dan jumlah perangkat dilaporkan sebagai nilai pengembalian.
[in] cbSize
Jenis: UINT
Ukuran struktur RAWINPUTDEVICELIST , dalam byte.
Mengembalikan nilai
Jenis: UINT
Jika fungsi berhasil, nilai pengembalian adalah jumlah perangkat yang disimpan dalam buffer yang diarahkan oleh pRawInputDeviceList.
Pada kesalahan lain, fungsi mengembalikan -1 (UINT) dan GetLastError mengembalikan indikasi kesalahan.
Komentar
Perangkat yang dikembalikan dari fungsi ini adalah mouse, keyboard, dan perangkat Human Interface Device (HID) lainnya.
Untuk mendapatkan informasi lebih rinci tentang perangkat terlampir, hubungi GetRawInputDeviceInfo menggunakan hDevice dari RAWINPUTDEVICELIST.
Perangkat input yang diakses melalui Remote Desktop Protocal (RDP) tidak muncul dalam daftar perangkat input mentah.
Contoh
Contoh kode berikut menunjukkan panggilan umum ke GetRawInputDeviceList:
UINT nDevices;
PRAWINPUTDEVICELIST pRawInputDeviceList = NULL;
while (true) {
if (GetRawInputDeviceList(NULL, &nDevices, sizeof(RAWINPUTDEVICELIST)) != 0) { Error();}
if (nDevices == 0) { break; }
if ((pRawInputDeviceList = malloc(sizeof(RAWINPUTDEVICELIST) * nDevices)) == NULL) {Error();}
nDevices = GetRawInputDeviceList(pRawInputDeviceList, &nDevices, sizeof(RAWINPUTDEVICELIST));
if (nDevices == (UINT)-1) {
if (GetLastError() != ERROR_INSUFFICIENT_BUFFER) { Error(); }
// Devices were added.
free(pRawInputDeviceList);
continue;
}
break;
}
// do the job...
// after the job, free the RAWINPUTDEVICELIST
free(pRawInputDeviceList);
Persyaratan
| Persyaratan | Nilai |
|---|---|
| Klien minimum yang didukung | Windows XP [hanya aplikasi desktop] |
| Server minimum yang didukung | Windows Server 2003 [hanya aplikasi desktop] |
| Platform Target | Windows |
| Header | winuser.h (termasuk Windows.h) |
| Perpustakaan | User32.lib |
| DLL | User32.dll |
| set API | ext-ms-win-ntuser-rawinput-l1-1-0 (diperkenalkan di Windows 10, versi 10.0.14393) |
Lihat juga
Konseptual