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

El método RegisterEndpointNotificationCallback registra la interfaz de devolución de llamada de notificación de un cliente.

Sintaxis

HRESULT RegisterEndpointNotificationCallback(
  [in] IMMNotificationClient *pClient
);

Parámetros

[in] pClient

Puntero a la interfaz IMMNotificationClient que el cliente está registrando para devoluciones de llamada de notificación.

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 pNotify es NULL.
E_OUTOFMEMORY
Memoria insuficiente

Comentarios

Este método registra una interfaz IMMNotificationClient a la que llamará el sistema cuando cambien los roles, el estado, la existencia o las propiedades de un dispositivo de punto de conexión. El autor de la llamada implementa la interfaz IMMNotificationClient.

Cuando ya no se necesitan notificaciones, el cliente puede llamar al método IMMDeviceEnumerator::UnregisterEndpointNotificationCallback para finalizar las notificaciones.

El cliente debe asegurarse de que el objeto IMMNotificationClient no se libere después de la llamada RegisterEndpointNotificationCallback y antes de llamar a UnregisterEndpointNotificationCallback. Estos métodos no llaman a las implementaciones IMMNotificationClient::AddRef e IMMNotificationClient::Release del cliente. El cliente es responsable de mantener el recuento de referencias del objeto IMMNotificationClient . El cliente debe incrementar el recuento si la llamada RegisterEndpointNotificationCallback se realiza correctamente y libera la referencia final solo después de llamar a UnregisterEndpointNotificationCallback o implementar algún otro mecanismo para asegurarse de que el objeto no se elimina antes de llamar a UnregisterEndpointNotificationCallback . De lo contrario, la aplicación filtra los recursos mantenidos por IMMNotificationClient y cualquier otro objeto que se implemente en el mismo contenedor.

Para obtener más información sobre los métodos AddRef y Release, consulte la explicación de la interfaz IUnknown en la documentación de Windows SDK.

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

IMMDeviceEnumerator (Interfaz)

IMMDeviceEnumerator::UnregisterEndpointNotificationCallback

Interfaz IMMNotificationClient