다음을 통해 공유


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가 반환되고, 실패할 경우 가능한 반환 코드에는 다음 표에 표시된 값이 포함되지만 이에 국한되지는 않습니다.

반환 코드 설명
E_POINTER
매개 변수 NULL입니다.
AUDCLNT_E_DEVICE_INVALIDATED
오디오 엔드포인트 디바이스가 분리되었거나 오디오 하드웨어 또는 관련 하드웨어 리소스가 다시 구성, 비활성화, 제거 또는 사용할 수 없게 되었습니다.
AUDCLNT_E_SERVICE_NOT_RUNNING
Windows 오디오 서비스가 실행되고 있지 않습니다.

설명

Windows Vista에서 시스템 제공 프로그램인 Sndvol.exe 표시 이름을 사용하여 세션의 볼륨 컨트롤에 레이블을 지정합니다. 클라이언트가 SetDisplayName 을 호출하여 세션에 표시 이름을 할당하지 않으면 Sndvol 프로그램은 자동으로 생성된 기본 이름을 사용하여 세션에 레이블을 지정합니다. 기본 이름은 오디오 애플리케이션의 창 제목 또는 버전 리소스와 같은 정보를 통합합니다.

클라이언트에 활성 세션이 두 개 이상 있는 경우 클라이언트에서 지정한 표시 이름은 다양한 세션의 볼륨 컨트롤을 구분하는 데 특히 유용합니다.

프로세스 간 세션의 경우 세션에는 기본 표시 이름을 생성할 애플리케이션 이름 또는 프로세스 ID와 같은 식별 정보가 없습니다. 따라서 의미 없는 기본 표시 이름이 표시되지 않도록 클라이언트는 SetDisplayName 을 호출해야 합니다.

표시 이름은 IAudioSessionControl 개체의 수명 이후에도 유지되지 않습니다. 따라서 개체에 대한 모든 참조가 해제된 후 이후에 만든 버전의 개체(동일한 애플리케이션, 동일한 세션 GUID 및 동일한 엔드포인트 디바이스 포함)는 클라이언트가 SetDisplayName을 호출할 때까지 자동으로 생성된 기본 표시 이름을 다시 한 번 갖게 됩니다.

클라이언트는 IAudioSessionControl::GetDisplayName 메서드를 호출하여 세션의 표시 이름을 검색할 수 있습니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows Vista [데스크톱 앱 | UWP 앱]
지원되는 최소 서버 Windows Server 2008 [데스크톱 앱 | UWP 앱]
대상 플랫폼 Windows
헤더 audiopolicy.h

추가 정보

IAudioSessionControl 인터페이스

IAudioSessionControl::GetDisplayName

IAudioSessionEvents 인터페이스