Метод IMMDeviceEnumerator::RegisterEndpointNotificationCallback (mmdeviceapi.h)
Метод RegisterEndpointNotificationCallback регистрирует интерфейс обратного вызова уведомления клиента.
Синтаксис
HRESULT RegisterEndpointNotificationCallback(
[in] IMMNotificationClient *pClient
);
Параметры
[in] pClient
Указатель на интерфейс IMMNotificationClient , который клиент регистрирует для обратных вызовов уведомлений.
Возвращаемое значение
Если метод завершается успешно, возвращает значение S_OK. В случае сбоя возможные коды возврата включают, помимо прочего, значения, показанные в следующей таблице.
Код возврата | Описание |
---|---|
|
Параметр pNotify имеет значение NULL. |
|
Недостаточно памяти. |
Комментарии
Этот метод регистрирует интерфейс IMMNotificationClient, вызываемый системой при изменении ролей, состояния, существования или свойств устройства конечной точки. Вызывающий объект реализует интерфейс IMMNotificationClient.
Если уведомления больше не нужны, клиент может вызвать метод IMMDeviceEnumerator::UnregisterEndpointNotificationCallback для завершения уведомлений.
Клиент должен убедиться, что объект 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 |
См. также раздел
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по