다음을 통해 공유


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