다음을 통해 공유


IPerChannelDbLevel::SetLevel 메서드(devicetopology.h)

SetLevel 메서드는 지정된 채널의 볼륨 수준을 데시벨 단위로 설정합니다.

구문

HRESULT SetLevel(
  [in] UINT    nChannel,
  [in] float   fLevelDB,
  [in] LPCGUID pguidEventContext
);

매개 변수

[in] nChannel

선택한 채널의 수입니다. 오디오 스트림에 N 채널이 있는 경우 채널 번호는 0에서 N– 1로 지정됩니다. 스트림의 채널 수를 얻으려면 IPerChannelDbLevel::GetChannelCount 메서드를 호출합니다.

[in] fLevelDB

새 볼륨 수준(데시벨)입니다. 양수 값은 게인을 나타내고 음수 값은 감쇠를 나타냅니다.

[in] pguidEventContext

IControlChangeNotify::OnNotify 메서드의 컨텍스트 값입니다. 이 매개 변수는 이벤트 컨텍스트 GUID를 가리킵니다. SetLevel 호출이 수준 컨트롤의 상태를 변경하면 해당 컨트롤을 사용하여 IControlChangeNotify 인터페이스를 등록한 모든 클라이언트가 알림을 받습니다. OnNotify 메서드 구현에서 클라이언트는 이벤트 컨텍스트 GUID를 검사하여 해당 GUID 또는 다른 클라이언트가 제어 변경 이벤트의 원본인지 여부를 검색할 수 있습니다. 호출자가 이 매개 변수에 대한 NULL 포인터를 제공하는 경우 클라이언트의 알림 메서드는 NULL 컨텍스트 포인터를 받습니다.

반환 값

메서드가 성공하면 S_OK가 반환되고, 실패할 경우 가능한 반환 코드는 다음 표에 표시된 값을 포함하지만 이에 국한되지 않습니다.

반환 코드 설명
E_INVALIDARG
매개 변수 nChannel 이 범위를 벗어났습니다.
E_OUTOFMEMORY
메모리가 부족합니다.

설명

호출자가 정확한 단계별 단계별 값인 fLevelDB 값을 지정하면 SetLevel 메서드가 성공적으로 완료됩니다. IPerChannelDbLevel::GetLevel 메서드에 대한 후속 호출은 설정된 값 또는 다음 값 중 하나를 반환합니다.

  • 설정된 값이 최소값보다 낮으면 GetLevel 메서드는 최소값을 반환합니다.
  • set 값이 최댓값보다 큰 경우 GetLevel 메서드는 최대값을 반환합니다.
  • 설정 값이 두 단계별 값 사이에 있는 경우 GetLevel 메서드는 위의 다음 단계별 값 또는 설정된 값 아래의 단계별 값일 수 있는 값을 반환합니다. 집합 값에서 인접한 단계별 값까지의 상대 거리는 중요하지 않습니다. GetLevel 메서드가 반환하는 값은 신호 경로에 더 많은 영향을 주는 값입니다.

요구 사항

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

추가 정보

IPerChannelDbLevel 인터페이스

IPerChannelDbLevel::GetChannelCount

IPerChannelDbLevel::GetLevel

IPerChannelDbLevel::GetLevelRange