PFND3D10DDI_SETPREDICATION 콜백 함수(d3d10umddi.h)

SetPredication 함수는 뒤에 있는 렌더링 및 리소스 조작 명령이 실제로 수행되는지 여부를 지정합니다.

구문

PFND3D10DDI_SETPREDICATION Pfnd3d10ddiSetpredication;

void Pfnd3d10ddiSetpredication(
  D3D10DDI_HDEVICE unnamedParam1,
  D3D10DDI_HQUERY unnamedParam2,
  BOOL unnamedParam3
)
{...}

매개 변수

unnamedParam1

hDevice [in]

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

unnamedParam2

hQuery [in]

조건자로 설정할 쿼리 개체에 대한 핸들입니다. hQueryNULL로 설정은 "조건 없음"을 나타냅니다. hQueryNULL로 설정된 경우 드라이버는 PredicateValue 매개 변수의 값을 무시합니다. 그러나 드라이버는 값에 대한 후속 요청에 대한 조건자 값을 저장해야 합니다.

unnamedParam3

PredicateValue [in]

쿼리 데이터와 비교할 부울 값입니다. 쿼리 데이터가 조건자 값과 같으면 다음 렌더링 및 리소스 조작 명령이 수행되지 않습니다.

반환 값

없음

설명

드라이버는 pfnSetErrorCb 콜백 함수를 사용하여 오류 코드를 설정할 수 있습니다.

일부 조건자는 힌트일 뿐입니다. 따라서 실제로 작업이 수행되는 것을 방지하지 못할 수 있습니다. Microsoft Direct3D 런타임은 주로 SetPredication 을 호출하여 애플리케이션이 회전의 성능 적중을 감수하고 QueryGetData 함수를 호출하여 반환할 때까지 기다리지 않고 그래픽 명령을 실행할 수 있도록 합니다. 따라서 QueryGetData 가 S_FALSE 반환하는 경우에도 조건자가 발생할 수 있습니다. 즉, QueryGetData 가 S_FALSE 반환할 수 있는 경우 애플리케이션에서 조건자를 대체로 사용할 수도 있습니다. QueryGetData가 S_OK 반환하는 경우 애플리케이션은 자체 애플리케이션 논리를 사용하여 그래픽 명령 호출을 수동으로 건너뛸 수 있습니다.

드라이버는 D3DDDIERR_DEVICEREMOVED 제외하고 오류가 발생하지 않아야 합니다. 따라서 드라이버가 pfnSetErrorCb 함수를 호출할 때 D3DDDIERR_DEVICEREMOVED 제외하면 Direct3D 런타임에서 오류가 중요한지 확인합니다. 디바이스가 제거된 경우에도 드라이버는 D3DDDIERR_DEVICEREMOVED 반환할 필요가 없습니다. 그러나 디바이스 제거가 SetPredication (일반적으로 발생하지 않아야 하는) 작업을 방해하는 경우 드라이버는 D3DDDIERR_DEVICEREMOVED 반환할 수 있습니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows Vista 이상 버전의 Windows 운영 체제에서 사용할 수 있습니다.
대상 플랫폼 데스크톱
머리글 d3d10umddi.h(D3d10umddi.h 포함)

추가 정보

D3D10DDI_DEVICEFUNCS

pfnSetErrorCb