Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Listet die an das System angeschlossenen Roheingabegeräte auf.
Syntax
UINT GetRawInputDeviceList(
[out, optional] PRAWINPUTDEVICELIST pRawInputDeviceList,
[in, out] PUINT puiNumDevices,
[in] UINT cbSize
);
Die Parameter
[out, optional] pRawInputDeviceList
Typ: PRAWINPUTDEVICELIST
Ein Array von RAWINPUTDEVICELIST-Strukturen für die an das System angeschlossenen Geräte. Der Zeiger sollte an einer DWORD-Grenze (32-Bit) ausgerichtet werden.
Wenn NULL, wird die Anzahl der Geräte in *puiNumDevices zurückgegeben.
[in, out] puiNumDevices
Typ: PUINT
Wenn pRawInputDeviceListNULL ist, füllt die Funktion diese Variable mit der Anzahl der an das System angeschlossenen Geräte auf; andernfalls gibt diese Variable die Anzahl der RAWINPUTDEVICELIST-Strukturen an, die im Puffer enthalten sein können, auf den pRawInputDeviceList verweist. Wenn dieser Wert kleiner als die Anzahl der an das System angeschlossenen Geräte ist, gibt die Funktion die tatsächliche Anzahl der Geräte in dieser Variablen zurück und schlägt mit ERROR_INSUFFICIENT_BUFFER fehl. Wenn dieser Wert größer oder gleich der Anzahl der an das System angeschlossenen Geräte ist, ist der Wert unverändert, und die Anzahl der Geräte wird als Rückgabewert gemeldet.
[in] cbSize
Typ: UINT-
Die Größe einer RAWINPUTDEVICELIST-Struktur in Bytes.
Rückgabewert
Typ: UINT-
Wenn die Funktion erfolgreich ist, ist der Rückgabewert die Anzahl der im Puffer gespeicherten Geräte, auf die von pRawInputDeviceList verwiesen wird.
Bei einem anderen Fehler gibt die Funktion -1 (UINT) zurück, und GetLastError gibt die Fehleranzeige zurück.
Bemerkungen
Die von dieser Funktion zurückgegebenen Geräte sind die Maus, die Tastatur und andere HID-Geräte (Human Interface Device).
Um detailliertere Informationen zu den angeschlossenen Geräten zu erhalten, rufen Sie GetRawInputDeviceInfo mit dem hDevice von RAWINPUTDEVICELIST auf.
Eingabegeräte, auf die über Remotedesktop Protocal (RDP) zugegriffen wird, werden nicht in der Liste der rohen Eingabegeräte angezeigt.
Beispiele
Der folgende Beispielcode zeigt einen typischen Aufruf von 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);
Anforderungen
| Anforderung | Wert |
|---|---|
| Mindestens unterstützter Client | Windows XP [nur Desktop-Apps] |
| Mindestanforderungen für unterstützte Server | Windows Server 2003 [Nur Desktop-Apps] |
| Zielplattform | Fenster |
| Überschrift | winuser.h (enthalten Windows.h) |
| Bibliothek | User32.lib |
| DLL | User32.dll |
| API-Satz | ext-ms-win-ntuser-rawinput-l1-1-0 (eingeführt in Windows 10, Version 10.0.14393) |
Siehe auch
Konzeptionelle