DirectShow DirectShow 레퍼런스 인터페이스 IVideoWindow put_FullScreenMode   [목차열람] [주소복사] [슬롯비우기]
IVideoWindow::put_FullScreenMode
 
Microsoft DirectX 9.0

IVideoWindow::put_FullScreenMode

put_FullScreenMode 메서드는, 풀 스크린 비디오 렌더링을 유효 또는 무효로 한다.

구문

HRESULT put_FullScreenMode(
    long FullScreenMode
);

파라미터

FullScreenMode

[in] 풀 스크린 모드를 유효하게 할까 무효로 하는지를 지정하는 불리언 값. 다음의 몇개의 값을 지정한다.

설명
OATRUE 풀 스크린 모드로 전환한다.
OAFALSE 풀 스크린 모드를 무효로 한다 (디폴트).

반환값

다음의 몇개의 값을 돌려준다.

설명
E_NOTIMPL 필터가 풀 스크린 모드를 지원 하고 있지 않다.
S_FALSE 이미 요구된 모드가 되어 있다.
S_OK 성공.
VFW_E_NO_FULLSCREEN 풀 스크린 모드를 지원 하는 필터가 발견되지 않았다.

주의

비디오 렌더러에 따라서는, 풀 스크린 모드에의 변환은 애플리케이션으로 그래프가 실행 또는 포즈 될 때까지 표시되지 않는 경우가 있다. 풀 스크린 모드에서는, 사용자가 애플리케이션과는 별도로 (예를 들어 Alt + Tab 키를 사용해) 변환을 실시하면, 필터 그래프 매니저는 EC_FULLSCREEN_LOST 이벤트를 송신한다.

이하의 주의에서는, 필터 그래프 매니저가 풀 스크린 모드를 처리 하는 방법에 대해 설명한다. 애플리케이션 개발자는 이 정보를 무시해도 아마 문제는 없을 것이지만, 커스텀 비디오 렌더러를 기술하는 경우는 유용한 일도 있다.

애플리케이션이 풀 스크린 모드에 바뀌면 필터 그래프 매니저는 가장 효율적으로 기능하는 비디오 렌더러를 검색한다. 검색하는 우선 순위는 다음과 같다.

  1. 풀 스크린 모드를 네이티브로 지원 하는, 필터 그래프내의 비디오 렌더러.
  2. 퍼포먼스를 큰폭으로 저하시키는 일 없이 비디오를 풀 스크린으로 확대할 수 있는, 필터 그래프내의 비디오 렌더러.
  3. 풀 스크린 렌더러 필터.
  4. IVideoWindow 를 지원 하는, 필터 그래프내의 비디오 렌더러.

최초의 옵션에서는, 필터 그래프 매니저는 그래프내의 모든 비디오 렌더러로 IVideoWindow::get_FullScreenMode 를 호출한다. 대부분의 렌더러는 E_NOTIMPL 를 돌려주지만, 이것은 필터가 풀 스크린 모드를 네이티브로 지원 하고 있지 않는 것을 나타낸다. E_NOTIMPL 와 동일하지 "않은" 값을 돌려주는 렌더러가 있으면, 필터 그래프 매니저는 그 렌더러를 사용한다.

2 번째의 옵션에서는, 필터 그래프 매니저는 그래프내의 모든 비디오 렌더러로 IVideoWindow::GetMaxIdealImageSizeGetMinIdealImageSize 를 호출한다. 표시 사이즈가 보고된 필터의 범위내에 들어가는 경우, 필터는 퍼포먼스를 큰폭으로 저하시키는 일 없이 비디오를 확대 축소할 수 있는 것을 나타내고 있다.

주 : 그래프가 정지 하면, 필터 그래프 매니저는 각 렌더러를 포즈 하고 나서 이러한 메서드를 호출한다. 이것에 의해, 렌더러는 필요한 리소스를 초기화할 수 있다. 왜냐하면, 렌더러의 상당수는 정지하고 있을 때는 이러한 값을 판단할 수 없기 때문에이다.

낡은 하드웨어 이외는, 보통 2 번째의 옵션이 성공한다. 3 번째의 옵션은, 풀 스크린 렌더링 필터를 사용하는 것으로, 필요에 따라서 그래프에 그 필터를 추가한다. 4 번째의 옵션은, 그래프내에서 IVideoWindow 를 지원 하는 최초의 렌더러를 검색해, 퍼포먼스와는 관계되어 없게 비디오를 확대 축소하는 것만으로 있다.

참조

↑TOP