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 |
|
Au moins l’un des arguments requis était un pointeur NULL . |
|
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 |