Partager via


GetRawInputDeviceList, fonction (winuser.h)

É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

GetRawInputDeviceInfo

RAWINPUTDEVICELIST

d’entrée brute