Share via


IPortableDeviceManager ::GetPrivateDevices, méthode (portabledeviceapi.h)

La méthode GetPrivateDevices récupère une liste d’appareils portables privés connectés à l’ordinateur. Ces appareils privés sont accessibles uniquement par le biais d’une application conçue pour ces appareils particuliers.

Syntaxe

HRESULT GetPrivateDevices(
  [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

Pour écrire une application qui communique avec un appareil privé, vous devez connaître les fonctionnalités personnalisées exposées par un pilote de périphérique particulier. La description de cette fonctionnalité doit être obtenue auprès du fabricant de l’appareil.

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 .

Un appareil privé peut ne pas répondre correctement aux appels de fonction d’appareils portables Windows standard qui effectuent l’énumération d’objets, le transfert de ressources, la récupération des fonctionnalités de l’appareil, etc.

Configuration requise

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

Voir aussi

IPortableDeviceManager, interface