비표준 표시 모드 처리

비표준 표시 모드를 지원하는 디바이스의 DirectX 9.0 드라이버도 비표준 모드를 사용하여 다음 작업을 처리해야 합니다.

  • 표준 디스플레이 모드와 동일하게 작동하는 대칭 이동, 블릿, 잠금 및 잠금 해제 작업

  • DirectX 기본 화면이 활성 상태인 동안 드라이버의 GDI(그래픽 디바이스 인터페이스) 함수를 호출합니다.

    DirectX 기본이 활성 상태인 동안 드라이버는 GDI DDI 그리기 호출을 수신해서는 안 됩니다. 그러나 드라이버는 운영 체제가 충돌하지 않고 이러한 그리기를 처리해야 합니다. 드라이버는 이 상황에 대한 구현을 제공하거나, 성공을 즉시 반환하여 무시하거나, 실패할 수 있습니다. GDI의 데이터는 GDI 기본 표면 형식을 기반으로 합니다. 따라서 드라이버가 이 상황에 대한 구현을 제공하는 경우 DirectX 기본 화면으로 그리기 전에 GDI 형식에서 변환해야 합니다.

  • GDI가 비표준 표시 형식에 액세스할 수 없으므로 DirectX 기본 화면에 대한 GDI DDI DrvDeriveSurface 함수에 대한 호출이 발생할 수 없습니다.

  • DirectX 기본 화면이 활성 상태인 동안 "Ctl+Alt+Del"을 입력합니다.

    커널은 GDI 드로잉이 발생하기 전에 드라이버의 DdFlip 함수를 호출할 때 표준 기본을 대상으로 지정합니다. 따라서 드라이버는 GDI 그리기 전에 디스플레이 디바이스를 표준 디스플레이 모드로 프로그래밍해야 합니다. 기본 화면에 대한 드라이버의 DdDestroySurface 함수도 호출됩니다. 드라이버는 DirectX 기본 표면의 내용을 삭제할 수 있습니다.

  • 창 모드 및 비표준 형식

    Surface Formats를 사용한 2D 작업에 대한 보고 지원 항목에서는 드라이버가 현재 데스크톱과 다른 형식으로 렌더링을 수행하고 이미지를 표시할 수 있도록 지정하는 방법을 설명합니다. 이 체계는 비표준 형식을 지원하도록 자연스럽게 확장됩니다. 드라이버는 형식에 대한 DDPIXELFORMAT 구조체의 dwOperations 멤버에만 사용 플래그를 추가해야 합니다.

프라이빗 형식 및 레거시 코드를 사용하여 비표준 데스크톱 형식을 노출할 수 없습니다.