PFND3DDDI_SETDISPLAYMODE 콜백 함수(d3dumddi.h)

SetDisplayMode 함수는 GDI 데스크톱에서 지원되지 않는 디스플레이 모드 또는 기본 모드로 전환됩니다.

구문

PFND3DDDI_SETDISPLAYMODE Pfnd3dddiSetdisplaymode;

HRESULT Pfnd3dddiSetdisplaymode(
  HANDLE hDevice,
  const D3DDDIARG_SETDISPLAYMODE *unnamedParam2
)
{...}

매개 변수

hDevice

디스플레이 디바이스(그래픽 컨텍스트)에 대한 핸들입니다.

unnamedParam2

pData [in]

표시 모드를 설정하기 위한 매개 변수를 지정하는 D3DDDIARG_SETDISPLAYMODE 구조체에 대한 포인터입니다.

반환 값

표시 모드가 성공적으로 설정되지 않은 경우 SetDisplayMode는 S_OK 또는 적절한 오류 결과를 반환합니다.

설명

Microsoft Direct3D 런타임은 SetDisplayMode 를 호출하여 GDI 데스크톱에서 지원되지 않는 디스플레이 모드 또는 기본 모드로 전환합니다. 다음 목록에서는 이러한 기본 항목의 예를 설명합니다.

  • 채널당 10비트(10:10:10:2)로 만든 기본 항목은 대상 형식을 표시하고 렌더링합니다(예: D3DFMT_A2R10G10B10).
  • 검색하는 동안 다중 샘플링이 수행되는 다중 샘플링된 주 복제본
  • 전체 화면 Microsoft DirectX 버전 9.L 애플리케이션에서 사용되는 영구 주 복제본
Direct3D 런타임은 사용자 모드 디스플레이 드라이버의 CreateResource 함수를 호출하여 검사할 기본을 만듭니다. 그러나 드라이버는 SetDisplayMode 함수가 호출된 경우에만 검색하도록 하드웨어를 프로그래밍해야 합니다. 따라서 런타임은 pData 매개 변수가 가리키는 D3DDDIARG_SETDISPLAYMODE 구조체의 hResourceSubResourceIndex 멤버를 드라이버의 CreateResource 함수 호출을 통해 만든 주 데이터베이스로 설정합니다. 그런 다음, 드라이버는 hResource 및 SubResourceIndex로 표현되는 주 데이터베이스를 기본 할당 핸들로 변환해야 합니다. 드라이버가 이 변환을 수행한 후 드라이버는 pfnSetDisplayModeCb 함수에 대한 호출에서 결과 핸들을 전달해야 합니다. 그러면 디스플레이 미니포트 드라이버의 DxgkDdiCommitVidPn 함수에 대한 호출이 시작됩니다.

사용자 모드 표시 드라이버는 pfnSetDisplayModeCb 호출에서 D3DDDICB_SETDISPLAYMODE 구조체의 hPrimaryAllocation 멤버를 설정하여 할당을 검사할 수 있습니다. 그러나 할당은 기본으로 표시되어야 합니다( 즉, 사용자 모드 표시 드라이버는 pfnAllocateCb 함수를 호출하여 할당을 만들려면 D3DDDI_ALLOCATIONINFO 구조체의 Flags 멤버에서 기본 비트 필드 플래그를 설정해야 합니다).

요구 사항

   
지원되는 최소 클라이언트 Windows Vista 이상 버전의 Windows 운영 체제에서 사용할 수 있습니다.
대상 플랫폼 데스크톱
헤더 d3dumddi.h(D3dumddi.h 포함)

참고 항목

D3DDDIARG_SETDISPLAYMODE

D3DDDI_DEVICEFUNCS

pfnSetDisplayModeCb