Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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 de punto de conexión. El autor de la llamada normalmente obtiene esta cadena del método IMMDevice::GetId o de uno de los métodos de la interfaz IMMNotificationClient .
A partir de Windows 11, versión 24H2 (compilación 26100), el autor de la llamada también puede pasar una cadena obtenida de la propiedad PKEY_AudioEndpoint_StableId en un punto de conexión de audio, para recuperar un punto de conexión de audio con un StableId coincidente.
[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 GetDevice , *ppDevice es NULL.
Valor de retorno
Si el método se realiza correctamente, devuelve S_OK. Si se produce un error, los códigos de retorno posibles incluyen, pero no están limitados a, los valores que se muestran en la tabla siguiente.
| Código de retorno | Description |
|---|---|
|
El parámetro pwstrId o ppDevice es NULL. |
|
El identificador del dispositivo no identifica un dispositivo de audio que se encuentra en este sistema. |
|
Memoria insuficiente. |
Observaciones
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 simplemente no puede pasar la interfaz IMMDevice del dispositivo al otro programa. Sin embargo, los programas pueden acceder al mismo dispositivo siguiendo estos pasos:
- 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.
- El primer programa pasa la cadena de identificador de punto de conexión a través del límite del proceso al segundo programa.
- 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.
- Propiedades del dispositivo
- Eventos de dispositivo
- Usar la interfaz IKsControl para acceder a las propiedades de audio
Requirements
| Requirement | Value |
|---|---|
| Cliente mínimo compatible | Windows Vista [solo aplicaciones de escritorio] |
| Servidor mínimo admitido | Windows Server 2008 [solo aplicaciones de escritorio] |
| Plataforma de destino | Windows |
| Encabezado | mmdeviceapi.h |