IMFMediaSession::SetTopology 메서드(mfidl.h)
미디어 세션에서 토폴로지를 설정합니다.
구문
HRESULT SetTopology(
[in] DWORD dwSetTopologyFlags,
[in] IMFTopology *pTopology
);
매개 변수
[in] dwSetTopologyFlags
MFSESSION_SETTOPOLOGY_FLAGS 열거형에서 0개 이상의 플래그의 비트 OR입니다.
[in] pTopology
토폴로지 개체의 IMFTopology 인터페이스에 대한 포인터입니다.
반환 값
이 메서드는 HRESULT를 반환합니다. 가능한 값에는 다음 표에 있는 값이 포함되지만, 이에 국한되는 것은 아닙니다.
반환 코드 | Description |
---|---|
|
메서드가 성공했습니다. |
|
미디어 세션의 현재 상태에서는 작업을 수행할 수 없습니다. |
|
미디어 세션이 종료되었습니다. |
|
토폴로지의 값이 다음 특성 중 하나 이상에 대해 잘못되었습니다. |
|
디버깅하는 동안에는 보호된 콘텐츠를 재생할 수 없습니다. |
설명
pTopology가 전체 토폴로지인 경우 dwSetTopologyFlags 매개 변수에서 MFSESSION_SETTOPOLOGY_NORESOLUTION 플래그를 설정합니다. 그렇지 않으면 토폴로지는 부분 토폴로지로 간주됩니다. 미디어 세션은 토폴로지 로더를 사용하여 부분 토폴로지를 전체 토폴로지로 resolve.
미디어 세션이 현재 일시 중지되거나 중지된 경우 SetTopology 메서드는 IMFMediaSession::Start에 대한 다음 호출까지 적용되지 않습니다.
미디어 세션이 현재 실행 중이거나 Start에 대한 다음 호출에서 SetTopology 메서드는 다음을 수행합니다.
- MFSESSION_SETTOPOLOGY_IMMEDIATE 플래그가 dwSetTopologyFlags로 설정된 경우 미디어 세션은 현재 프레젠테이션을 즉시 종료하고, 보류 중인 모든 토폴로지를 지우고, pTopology를 사용하여 새 프레젠테이션을 시작합니다.
- 그렇지 않으면 미디어 세션은 pTopology 를 큐에 대기하고 현재 프레젠테이션이 완료되면 새 프레젠테이션을 시작합니다. 현재 프레젠테이션이 없으면 새 프레젠테이션이 즉시 시작됩니다.
- Windows 7부터 MFSESSION_SETTOPOLOGY_CLEAR_CURRENT 플래그를 지정하여 현재 토폴로지를 지우지만 큐에 보류 중인 다른 토폴로지를 그대로 둘 수도 있습니다.
요구 사항
지원되는 최소 클라이언트 | Windows Vista [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2008 [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | mfidl.h |
라이브러리 | Mfuuid.lib |