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

O método GetDevice recupera um dispositivo de ponto de extremidade de áudio identificado por uma cadeia de caracteres de ID do ponto de extremidade.

Sintaxe

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

Parâmetros

[in] pwstrId

Ponteiro para uma cadeia de caracteres que contém a ID do ponto de extremidade. O chamador normalmente obtém essa cadeia de caracteres do método IMMDevice::GetId ou de um dos métodos na interface IMMNotificationClient .

A partir de Windows 11, versão 24H2 (build 26100), o chamador também pode passar uma cadeia de caracteres obtida da propriedade PKEY_AudioEndpoint_StableId em um ponto de extremidade de áudio, para recuperar um ponto de extremidade de áudio com uma StableId correspondente.

[out] ppDevice

Ponteiro para uma variável de ponteiro na qual o método grava o endereço da interface IMMDevice para o dispositivo especificado. Por meio desse método, o chamador obtém uma referência contada à interface. O chamador é responsável por liberar a interface, quando ela não é mais necessária, chamando o método de versão da interface. Se a chamada GetDevice falhar, *ppDevice será NULL.

Valor de devolução

Se o método for bem-sucedido, retornará S_OK. Se falhar, os códigos de retorno possíveis incluem, mas não se limitam a, os valores mostrados na tabela a seguir.

Código de retorno Description
E_POINTER
O parâmetro pwstrId ou ppDevice é NULL.
E_NOTFOUND
A ID do dispositivo não identifica um dispositivo de áudio que está nesse sistema.
E_OUTOFMEMORY
Sem memória.

Observações

Se dois programas estiverem em execução em dois processos diferentes e ambos precisarem acessar o mesmo dispositivo de ponto de extremidade de áudio, um programa não poderá simplesmente passar a interface IMMDevice do dispositivo para o outro programa. No entanto, os programas podem acessar o mesmo dispositivo seguindo estas etapas:

  1. O primeiro programa chama o método IMMDevice::GetId no primeiro processo para obter a cadeia de caracteres de ID do ponto de extremidade que identifica o dispositivo.
  2. O primeiro programa passa a cadeia de caracteres de ID do ponto de extremidade no limite do processo para o segundo programa.
  3. Para obter uma referência à interface IMMDevice do dispositivo no segundo processo, o segundo programa chama GetDevice com a cadeia de caracteres de ID do ponto de extremidade.
Para obter mais informações sobre o método GetDevice , consulte os seguintes tópicos: Para obter exemplos de código que usam o método GetDevice , consulte os seguintes tópicos:

Requirements

Requirement Valor
Cliente mínimo suportado Windows Vista [somente aplicativos da área de trabalho]
Servidor mínimo compatível Windows Server 2008 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Header mmdeviceapi.h

Consulte também

IMMDevice Interface

IMMDevice::GetId

IMMDeviceEnumerator Interface

IMMNotificationClient Interface