Поделиться через


Метод IAudioSessionControl::SetIconPath (audiopolicy.h)

Метод SetIconPath назначает значок отображения текущему сеансу.

Синтаксис

HRESULT SetIconPath(
  [in] LPCWSTR Value,
  [in] LPCGUID EventContext
);

Параметры

[in] Value

Указатель на строку с широкими символами, заканчивающуюся null, которая указывает путь и имя файла ICO, .dll или .exe файла, содержащего значок. Сведения о путях к значкам см. в документации по Windows SDK.

[in] EventContext

Указатель на GUID контекста события. Если вызов этого метода создает событие изменения значка, диспетчер сеансов отправляет уведомления всем клиентам, которые зарегистрировали интерфейсы IAudioSessionEvents с диспетчером сеансов. Диспетчер сеансов включает значение указателя EventContext с каждым уведомлением. Получив уведомление, клиент может определить, является ли он или другой клиент источником события, проверив значение EventContext . Эта схема зависит от того, выбирает клиент значение для этого параметра, уникальное для всех клиентов в сеансе. Если вызывающий объект предоставляет указатель NULL для этого параметра, метод уведомления клиента получает указатель контекста NULL .

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

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

Код возврата Описание
E_POINTER
Значение параметра равно NULL.
AUDCLNT_E_DEVICE_INVALIDATED
Устройство конечной точки звука было отключено, или звуковое оборудование или связанные аппаратные ресурсы были перенастроены, отключены, удалены или иным образом стали недоступными для использования.
AUDCLNT_E_SERVICE_NOT_RUNNING
Аудиослужба Windows не запущена.

Комментарии

В Windows Vista системная программа, Sndvol.exe, использует значок отображения (вместе с отображаемым именем) для маркировки элемента управления громкости для сеанса. Если клиент не вызывает SetIconPath для назначения значка сеансу, программа Sndvol использует значок из окна приложения в качестве значка по умолчанию для сеанса.

В случае сеанса между процессами сеанс не связан с одним процессом приложения. Таким образом, sndvol не имеет значка для конкретного приложения для использования по умолчанию, и клиент должен вызвать SetIconPath , чтобы избежать отображения бессмысленного значка.

Значок отображения не сохраняется после времени существования объекта IAudioSessionControl . Таким образом, после освобождения всех ссылок на объект созданная впоследствии версия объекта (с тем же приложением, тем же ИДЕНТИФИКАТОРом GUID сеанса и тем же устройством конечной точки) снова будет иметь значок по умолчанию, пока клиент не вызовет SetIconPath.

Клиент может получить значок отображения для сеанса, вызвав метод IAudioSessionControl::GetIconPath .

Требования

   
Минимальная версия клиента Windows Vista [классические приложения | Приложения UWP]
Минимальная версия сервера Windows Server 2008 [классические приложения | Приложения UWP]
Целевая платформа Windows
Header audiopolicy.h

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

Интерфейс IAudioSessionControl

IAudioSessionControl::GetIconPath