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

O método RegisterEndpointNotificationCallback registra a interface de retorno de chamada de notificação de um cliente.

Sintaxe

HRESULT RegisterEndpointNotificationCallback(
  [in] IMMNotificationClient *pClient
);

Parâmetros

[in] pClient

Ponteiro para a interface IMMNotificationClient que o cliente está registrando para retornos de chamada de notificação.

Retornar valor

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 Descrição
E_POINTER
O parâmetro pNotify é NULL.
E_OUTOFMEMORY
Sem memória.

Comentários

Esse método registra uma interface IMMNotificationClient a ser chamada pelo sistema quando as funções, estado, existência ou propriedades de um dispositivo de ponto de extremidade forem alteradas. O chamador implementa a interface IMMNotificationClient.

Quando as notificações não são mais necessárias, o cliente pode chamar o método IMMDeviceEnumerator::UnregisterEndpointNotificationCallback para encerrar as notificações.

O cliente deve garantir que o objeto IMMNotificationClient não seja liberado após a chamada RegisterEndpointNotificationCallback e antes de chamar UnregisterEndpointNotificationCallback. Esses métodos não chamam as implementações IMMNotificationClient::AddRef e IMMNotificationClient::Release do cliente. O cliente é responsável por manter a contagem de referência do objeto IMMNotificationClient . O cliente deverá incrementar a contagem se a chamada RegisterEndpointNotificationCallback for bem-sucedida e liberar a referência final somente depois de chamar UnregisterEndpointNotificationCallback ou implementar algum outro mecanismo para garantir que o objeto não seja excluído antes de UnregisterEndpointNotificationCallback ser chamado. Caso contrário, o aplicativo vazará os recursos mantidos pelo IMMNotificationClient e qualquer outro objeto implementado no mesmo contêiner.

Para obter mais informações sobre os métodos AddRef e Release, consulte a discussão sobre a interface IUnknown na documentação do SDK do Windows.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows Vista [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2008 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho mmdeviceapi.h

Confira também

IMMDeviceEnumerator Interface

IMMDeviceEnumerator::UnregisterEndpointNotificationCallback

IMMNotificationClient Interface