구글


DirectDraw 배타 모드 ▶SW_Coding

여기서의 설명은 VMR-7 에만 적용된다. VMR-9 에는, 배타 모드를 유효하게 하는 다른 방법이 있다.

DirectDraw 배타 모드로, 애플리케이션은 그래픽 하드웨어를 배타적으로 제어한다. 이것은, 게임등의 애플리케이션이나, 많은 풀 스크린 비디오 애플리케이션으로 도움이 된다. 보통, VMR 가 DirectDraw 개체를 생성 해, 협조 레벨을 표준으로 설정한다. 그러나, DirectDraw 배타 모드로 VMR 를 실행하려면 , 애플리케이션 자체가 DirectDraw 개체와 1차 표면을 생성 해,SetCooperativeLevel 를 호출해 배타 모드를 지정할 필요가 있다.

VMR 에는, DirectDraw 배타 모드로 실행할 수 있도록(듯이) 하는 특수한 얼로케이터 프리젠터가 있다. VMR 가 이 얼로케이터 프리젠터를 사용하도록(듯이) 설정하려면 , 다음의 처리를 실시한다.

  1. 필터 그래프를 생성 해,IFilterGraph::AddFilter 메서드를 사용해 그 그래프에 VMR 를 추가한다. 샘플 코드에 대해서는, 「VMR 윈도우레스모드」를 참조할것.
  2. 배타 모드의 얼로케이터 프리젠터를 생성 한다.
    IVMRImagePresenterExclModeConfig* pExclModeConfig;CoCreateInstance(        CLSID_AllocPresenterDDXclMode,        NULL,        CLSCTX_INPROC_SERVER,        IID_IVMRImagePresenterExclModeConfig,        (void**) &pExclModeConfig        );
  3. 새로운 얼로케이터 프리젠터를 설정한다.
    pExclModeConfig->SetXlcModeDDObjAndPrimarySurface(...);
  4. 새로운 얼로케이터 프리젠터를 VMR 에 플러그 인 한다.
  5. 필터 그래프의 나머지의 부분을 보통 대로 생성 한다.



덧글

댓글 입력 영역