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

El método UnregisterEndpointNotificationCallback elimina el registro de una interfaz de notificación que el cliente registró en una llamada anterior al método IMMDeviceEnumerator::RegisterEndpointNotificationCallback .

Sintaxis

HRESULT UnregisterEndpointNotificationCallback(
  [in] IMMNotificationClient *pClient
);

Parámetros

[in] pClient

Puntero a la interfaz IMMNotificationClient del cliente. El cliente pasó este mismo puntero de interfaz al enumerador de dispositivos en una llamada anterior al método IMMDeviceEnumerator::RegisterEndpointNotificationCallback . Para obtener más información, vea la sección Comentarios.

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_NOTFOUND
No se encontró la interfaz de notificación especificada.

Comentarios

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::RegisterEndpointNotificationCallback

Interfaz IMMNotificationClient