Метод IMMDeviceEnumerator::UnregisterEndpointNotificationCallback (mmdeviceapi.h)

Метод UnregisterEndpointNotificationCallback удаляет регистрацию интерфейса уведомлений, зарегистрированного клиентом в предыдущем вызове метода IMMDeviceEnumerator::RegisterEndpointNotificationCallback .

Синтаксис

HRESULT UnregisterEndpointNotificationCallback(
  [in] IMMNotificationClient *pClient
);

Параметры

[in] pClient

Указатель на интерфейс IMMNotificationClient клиента. Клиент передал этот же указатель интерфейса перечислителю устройства в предыдущем вызове метода IMMDeviceEnumerator::RegisterEndpointNotificationCallback . Дополнительные сведения см. в подразделе "Примечания".

Возвращаемое значение

Если метод завершается успешно, возвращает значение S_OK. В случае сбоя возможные коды возврата включают, помимо прочего, значения, показанные в следующей таблице.

Код возврата Описание
E_POINTER
Параметр pNotify имеет значение NULL.
E_NOTFOUND
Указанный интерфейс уведомлений не найден.

Комментарии

Клиент должен убедиться, что объект IMMNotificationClient не был освобожден после вызова RegisterEndpointNotificationCallback и перед вызовом UnregisterEndpointNotificationCallback. Эти методы не вызывают реализации IMMNotificationClient::AddRef и IMMNotificationClient::Release клиента. Клиент отвечает за обслуживание количества ссылок объекта IMMNotificationClient . Клиент должен увеличить число, если вызов RegisterEndpointNotificationCallback выполнен успешно, и освободить окончательную ссылку только после вызова UnregisterEndpointNotificationCallback или реализовать другой механизм, чтобы гарантировать, что объект не был удален до вызова UnregisterEndpointNotificationCallback . В противном случае приложение утечает ресурсы, хранящиеся в IMMNotificationClient , и любой другой объект, реализованный в том же контейнере.

Дополнительные сведения о методах AddRef и Release см. в обсуждении интерфейса IUnknown в документации по Windows SDK.

Требования

Требование Значение
Минимальная версия клиента Windows Vista [только классические приложения]
Минимальная версия сервера Windows Server 2008 [только классические приложения]
Целевая платформа Windows
Header mmdeviceapi.h

См. также раздел

Интерфейс IMMDeviceEnumerator

IMMDeviceEnumerator::RegisterEndpointNotificationCallback

Интерфейс IMMNotificationClient