Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Énumère les périphériques d’entrée brutes attachés au système.
Syntaxe
UINT GetRawInputDeviceList(
[out, optional] PRAWINPUTDEVICELIST pRawInputDeviceList,
[in, out] PUINT puiNumDevices,
[in] UINT cbSize
);
Paramètres
[out, optional] pRawInputDeviceList
Type : PRAWINPUTDEVICELIST
Tableau de structures RAWINPUTDEVICELIST pour les appareils attachés au système. Le pointeur doit être aligné sur une limite DWORD (32 bits).
Si la valeur est NULL, le nombre d’appareils est retourné dans *puiNumDevices.
[in, out] puiNumDevices
Type : PUINT
Si pRawInputDeviceList a la valeur NULL, la fonction remplit cette variable avec le nombre d’appareils attachés au système ; sinon, cette variable spécifie le nombre de structures RAWINPUTDEVICELIST qui peuvent être contenues dans la mémoire tampon vers laquelle pRawInputDeviceList pointe. Si cette valeur est inférieure au nombre d’appareils attachés au système, la fonction retourne le nombre réel d’appareils dans cette variable et échoue avec ERROR_INSUFFICIENT_BUFFER. Si cette valeur est supérieure ou égale au nombre d’appareils attachés au système, la valeur est inchangée et le nombre d’appareils est signalé comme valeur de retour.
[in] cbSize
Type : uiNT
Taille d’une structure RAWINPUTDEVICELIST , en octets.
Valeur retournée
Type : uiNT
Si la fonction réussit, la valeur de retour correspond au nombre d’appareils stockés dans la mémoire tampon pointée par pRawInputDeviceList.
Sur toute autre erreur, la fonction retourne (UINT) -1 et GetLastError retourne l’indication d’erreur.
Remarques
Les appareils retournés par cette fonction sont la souris, le clavier et d’autres appareils HID (Human Interface Device).
Pour obtenir des informations plus détaillées sur les appareils attachés, appelez GetRawInputDeviceInfo à l’aide de hDevice à partir de RAWINPUTDEVICELIST.
Les appareils d’entrée accessibles via rdp (Remote Desktop Protocal) n’apparaissent pas dans la liste des périphériques d’entrée brutes.
Exemples
L’exemple de code suivant montre un appel classique à 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);
Spécifications
| Besoin | Valeur |
|---|---|
| Client minimum requis | Windows XP [applications de bureau uniquement] |
| Serveur minimal pris en charge | Windows Server 2003 [applications de bureau uniquement] |
| plateforme cible | Fenêtres |
| En-tête | winuser.h (include Windows.h) |
| Bibliothèque | User32.lib |
| DLL | User32.dll |
| ensemble d’API | ext-ms-win-ntuser-rawinput-l1-1-0 (introduit dans Windows 10, version 10.0.14393) |
Voir aussi
conceptuelle