Метод IAudioSessionControl::SetDisplayName (audiopolicy.h)
Метод SetDisplayName назначает отображаемое имя текущему сеансу.
Синтаксис
HRESULT SetDisplayName(
[in] LPCWSTR Value,
[in] LPCGUID EventContext
);
Параметры
[in] Value
Указатель на строку расширенных символов, завершающуюся null, которая содержит отображаемое имя сеанса.
[in] EventContext
Указатель на GUID контекста события. Если вызов этого метода создает событие изменения имени, диспетчер сеансов отправляет уведомления всем клиентам, которые зарегистрировали интерфейсы IAudioSessionEvents с диспетчером сеансов. Диспетчер сеансов включает значение указателя EventContext с каждым уведомлением. Получив уведомление, клиент может определить, является ли он или другой клиент источником события, проверив значение EventContext . Эта схема зависит от того, выбирает клиент значение для этого параметра, которое является уникальным среди всех клиентов в сеансе. Если вызывающий объект предоставляет указатель NULL для этого параметра, метод уведомления клиента получает указатель контекста NULL .
Возвращаемое значение
Если метод завершается успешно, возвращает значение S_OK. В случае сбоя возможные коды возврата включают, помимо прочего, значения, показанные в следующей таблице.
Код возврата | Описание |
---|---|
|
Значение параметра равно NULL. |
|
Устройство конечной точки аудио отключено, звуковое оборудование или связанные аппаратные ресурсы были перенастроены, отключены, удалены или иным образом недоступны для использования. |
|
Служба звука Windows не запущена. |
Комментарии
В Windows Vista системная программа, Sndvol.exe, использует отображаемое имя для маркировки элемента управления громкости для сеанса. Если клиент не вызывает SetDisplayName для назначения отображаемого имени сеансу, программа Sndvol использует автоматически созданное имя по умолчанию для метки сеанса. Имя по умолчанию содержит такие сведения, как заголовок окна или ресурс версии звукового приложения.
Если у клиента есть несколько активных сеансов, указанные клиентом отображаемые имена особенно полезны для различения элементов управления громкости для различных сеансов.
В случае сеанса между процессами в сеансе отсутствуют идентифицирующие сведения, такие как имя приложения или идентификатор процесса, из которых можно создать отображаемое имя по умолчанию. Таким образом, клиент должен вызвать SetDisplayName , чтобы избежать отображения бессмысленного отображаемого имени по умолчанию.
Отображаемое имя не сохраняется после времени существования объекта IAudioSessionControl . Таким образом, после освобождения всех ссылок на объект созданная впоследствии версия объекта (с тем же приложением, тем же GUID сеанса и тем же устройством конечной точки) снова будет иметь отображаемое имя по умолчанию, автоматически созданное до тех пор, пока клиент не вызовет SetDisplayName.
Клиент может получить отображаемое имя сеанса, вызвав метод IAudioSessionControl::GetDisplayName .
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows Vista [классические приложения | Приложения UWP] |
Минимальная версия сервера | Windows Server 2008 [классические приложения | Приложения UWP] |
Целевая платформа | Windows |
Header | audiopolicy.h |
См. также раздел
Интерфейс IAudioSessionControl