Partager via


MÉTHODE IMMDeviceEnumerator ::GetDevice (mmdeviceapi.h)

La méthode GetDevice récupère un appareil de point de terminaison audio identifié par une chaîne d’ID de point de terminaison.

Syntaxe

HRESULT GetDevice(
  [in]  LPCWSTR   pwstrId,
  [out] IMMDevice **ppDevice
);

Paramètres

[in] pwstrId

Pointeur vers une chaîne contenant l’ID de point de terminaison. L’appelant obtient généralement cette chaîne à partir de la méthode IMMDevice ::GetId ou de l’une des méthodes de l’interface IMMNotificationClient .

[out] ppDevice

Pointeur vers une variable pointeur dans laquelle la méthode écrit l’adresse de l’interface IMMDevice pour l’appareil spécifié. Grâce à cette méthode, l’appelant obtient une référence comptabilisée à l’interface. L’appelant est chargé de libérer l’interface, quand elle n’est plus nécessaire, en appelant la méthode Release de l’interface. Si l’appel GetDevice échoue, *ppDevice a la valeur NULL.

Valeur retournée

Si la méthode réussit, retourne S_OK. En cas d’échec, les codes de retour possibles incluent, sans s’y limiter, les valeurs indiquées dans le tableau suivant.

Code de retour Description
E_POINTER
Le paramètre pwstrId ou ppDevice est NULL.
E_NOTFOUND
L’ID d’appareil n’identifie pas un périphérique audio qui se trouve dans ce système.
E_OUTOFMEMORY
Mémoire insuffisante.

Remarques

Si deux programmes s’exécutent dans deux processus différents et doivent accéder au même appareil de point de terminaison audio, un programme ne peut pas simplement passer l’interface IMMDevice de l’appareil à l’autre programme. Toutefois, les programmes peuvent accéder au même appareil en procédant comme suit :

  1. Le premier programme appelle la méthode IMMDevice ::GetId dans le premier processus pour obtenir la chaîne d’ID de point de terminaison qui identifie l’appareil.
  2. Le premier programme transmet la chaîne d’ID de point de terminaison à travers la limite de processus au deuxième programme.
  3. Pour obtenir une référence à l’interface IMMDevice de l’appareil dans le deuxième processus, le deuxième programme appelle GetDevice avec la chaîne d’ID de point de terminaison.
Pour plus d’informations sur la méthode GetDevice , consultez les rubriques suivantes : Pour obtenir des exemples de code qui utilisent la méthode GetDevice , consultez les rubriques suivantes :

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows Vista [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2008 [applications de bureau uniquement]
Plateforme cible Windows
En-tête mmdeviceapi.h

Voir aussi

IMMDevice, interface

IMMDevice ::GetId

IMMDeviceEnumerator, interface

IMMNotificationClient, interface