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 |
---|---|
|
El parámetro pNotify es NULL. |
|
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)