Share via


Méthode IPortableDeviceManager ::GetDevices (portabledeviceapi.h)

Récupère une liste d’appareils portables connectés à l’ordinateur.

Syntaxe

HRESULT GetDevices(
  [in, out] LPWSTR *pPnPDeviceIDs,
  [in, out] DWORD  *pcPnPDeviceIDs
);

Paramètres

[in, out] pPnPDeviceIDs

Tableau de pointeurs de chaîne alloués par l’appelant qui contient les noms Plug-and-Play de tous les appareils connectés. Pour connaître la taille requise pour ce paramètre, appelez d’abord cette méthode avec ce paramètre défini sur NULL et pcPnPDeviceIDs défini sur zéro, puis allouez une mémoire tampon en fonction de la valeur récupérée par pcPnPDeviceIDs. Ces noms peuvent être utilisés par IPortableDevice ::Open pour créer une connexion à un appareil.

[in, out] pcPnPDeviceIDs

Lors de l’entrée, nombre de valeurs que pPnPDeviceIDs peut contenir. Lors de la sortie, pointeur vers le nombre d’appareils réellement écrits dans pPnPDeviceIDs.

Valeur retournée

Cette méthode retourne un code HRESULT. Les valeurs possibles sont notamment celles figurant dans le tableau suivant.

Code de retour Description
S_OK
S_OK
E_POINTER
Au moins l’un des arguments requis était un pointeur NULL .
S_FALSE
La mémoire tampon pPnPDeviceIDs est trop petite pour contenir toutes les valeurs demandées, mais les valeurs pcPnPDeviceIDs ont été écrites dans pPnPDeviceIDs.

Remarques

La liste des appareils est générée lorsque le gestionnaire d’appareils est instancié ; il ne s’actualise pas à mesure que les appareils se connectent et se déconnectent. Pour actualiser la liste des appareils connectés, appelez RefreshDeviceList.

L’API alloue la mémoire pour chaque chaîne pointée par le tableau pPnPDeviceIDs . Une fois que votre application n’a plus besoin de ces chaînes, elle doit itérer dans ce tableau et libérer la mémoire associée en appelant la fonction CoTaskMemFree .

Exemples

Pour obtenir un exemple d’utilisation de cette méthode pour énumérer des appareils, consultez Énumération d’appareils. Pour obtenir un exemple d’utilisation de cette méthode pour énumérer des services, consultez Énumération des services.

Configuration requise

Condition requise Valeur
Plateforme cible Windows
En-tête portabledeviceapi.h
Bibliothèque PortableDeviceGUIDs.lib

Voir aussi

Énumération des appareils

Énumération des services

IPortableDeviceManager, interface