Método IMMDeviceEnumerator::GetDevice (mmdeviceapi.h)

El método GetDevice recupera un dispositivo de punto de conexión de audio identificado por una cadena de identificador de punto de conexión.

Sintaxis

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

Parámetros

[in] pwstrId

Puntero a una cadena que contiene el identificador del punto de conexión. Normalmente, el autor de la llamada obtiene esta cadena del método IMMDevice::GetId o de uno de los métodos de la interfaz IMMNotificationClient .

[out] ppDevice

Puntero a una variable de puntero en la que el método escribe la dirección de la interfaz IMMDevice para el dispositivo especificado. A través de este método, el autor de la llamada obtiene una referencia contada a la interfaz . El autor de la llamada es responsable de liberar la interfaz, cuando ya no es necesario, llamando al método Release de la interfaz. Si se produce un error en la llamada a GetDevice , *ppDevice es NULL.

Valor devuelto

Si el método se realiza correctamente, devuelve S_OK. Si se produce un error, los códigos de retorno posibles incluyen, entre otros, los valores que se muestran en la tabla siguiente.

Código devuelto Descripción
E_POINTER
El parámetro pwstrId o ppDevice es NULL.
E_NOTFOUND
El identificador de dispositivo no identifica un dispositivo de audio que se encuentra en este sistema.
E_OUTOFMEMORY
Memoria insuficiente

Comentarios

Si dos programas se ejecutan en dos procesos diferentes y ambos necesitan acceder al mismo dispositivo de punto de conexión de audio, un programa no puede pasar simplemente la interfaz IMMDevice del dispositivo al otro programa. Sin embargo, los programas pueden acceder al mismo dispositivo siguiendo estos pasos:

  1. El primer programa llama al método IMMDevice::GetId en el primer proceso para obtener la cadena de identificador de punto de conexión que identifica el dispositivo.
  2. El primer programa pasa la cadena de identificador de punto de conexión a través del límite del proceso al segundo programa.
  3. Para obtener una referencia a la interfaz IMMDevice del dispositivo en el segundo proceso, el segundo programa llama a GetDevice con la cadena de identificador de punto de conexión.
Para obtener más información sobre el método GetDevice , vea los temas siguientes: Para obtener ejemplos de código que usan el método GetDevice , consulte los temas siguientes:

Requisitos

Requisito Value
Cliente mínimo compatible Windows Vista [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2008 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado mmdeviceapi.h

Consulte también

IMMDevice (Interfaz)

IMMDevice::GetId

IMMDeviceEnumerator (Interfaz)

Interfaz IMMNotificationClient