다음을 통해 공유


PFND3DDDI_CHECKDIRECTFLIPSUPPORT 콜백 함수(d3dumddi.h)

DWM(데스크톱 창 관리자)에서 호출하여 사용자 모드 드라이버가 직접 대칭 이동 작업을 지원하는지 확인합니다. 이 작업은 애플리케이션의 관리되는 기본 할당과 DWM의 관리되는 기본 할당 간에 비디오 메모리가 원활하게 대칭 이동됩니다.

구문

PFND3DDDI_CHECKDIRECTFLIPSUPPORT Pfnd3dddiCheckdirectflipsupport;

HRESULT Pfnd3dddiCheckdirectflipsupport(
  HANDLE hDevice,
  D3DDDIARG_CHECKDIRECTFLIPSUPPORT *unnamedParam2
)
{...}

매개 변수

hDevice

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

unnamedParam2

pData [in, out]

작업에 대한 매개 변수를 정의하는 D3DDDIARG_CHECKDIRECTFLIPSUPPORT 구조체에 대한 포인터입니다.

반환 값

작업이 성공적으로 수행되지 않은 경우 S_OK 또는 적절한 오류 결과를 반환합니다.

설명

이 함수는 DWM이 Direct Flip 스왑 체인에 표시를 시도하기 전에 적어도 한 번 호출됩니다. 또한 각 모드 변경이 발생한 후 또는 DWM이 어떤 이유로든 자체 스왑 체인을 다시 만든 후에 호출됩니다.

사용자 모드 드라이버는 애플리케이션 및 DWM의 관리되는 기본 할당에 다음과 같은 호환되는 리소스가 있는지 확인해야 합니다.

  • 스테레오 리소스.
  • 여러 샘플 MSAA(앤티앨리어싱) 형식입니다.
  • 스위즐 형식. 스위즐을 VSync 간격마다만 변경할 수 있는 경우 D3DDDI_CHECK_DIRECT_FLIP_FLAGS 구조체의 CheckDirectFlipFlags 멤버에 D3D11_1DDI_CHECK_DIRECT_FLIP_IMMEDIATE 값이 없는지 확인합니다.
  • 두 관리되는 기본 할당은 모두 D3DDDI_ALLOCATIONINFO 구조에서 동일한 VidPnSourceId 값을 사용하여 만들어야 합니다.
  • 디스플레이 어댑터 구성이 연결됩니다.
사용자 모드 드라이버는 커널 모드 드라이버를 호출하여 이러한 유효성 검사를 수행해야 할 수 있습니다. 이렇게 하려면 pfnEscapeCb 콜백 함수를 호출한 다음 DxgkCbGetHandleData 함수를 호출하여 커널 모드 드라이버의 리소스 할당 데이터에 액세스합니다.

DWM은 일반적으로 가능한 가장 높은 Microsoft Direct3D 기능 수준을 사용하여 자체 디바이스를 만들기 때문에 하드웨어가 버전 9.3보다 큰 Direct3D DDI(디바이스 드라이버 인터페이스)를 지원하는 경우 DWM은 이 함수를 호출하지 않습니다. 그러나 모든 Microsoft Direct3D 9 드라이버는 Direct Flip 사용자 환경을 사용하도록 설정하기 위해 이 함수를 구현해야 합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 8
지원되는 최소 서버 Windows Server 2012
대상 플랫폼 데스크톱
머리글 d3dumddi.h(D3dumddi.h 포함)

추가 정보

D3DDDI_CHECK_DIRECT_FLIP_FLAGS

D3DDDI_DEVICEFUNCS