다음을 통해 공유


PFND3DDDI_CREATEQUERY 콜백 함수(d3dumddi.h)

CreateQuery 함수는 Microsoft Direct3D 런타임이 이후에 처리를 위해 발급하는 쿼리에 대한 드라이버 쪽 리소스를 만듭니다.

구문

PFND3DDDI_CREATEQUERY Pfnd3dddiCreatequery;

HRESULT Pfnd3dddiCreatequery(
  HANDLE hDevice,
  D3DDDIARG_CREATEQUERY *unnamedParam2
)
{...}

매개 변수

hDevice

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

unnamedParam2

pData [in, out]

쿼리를 식별하는 D3DDDIARG_CREATEQUERY 구조체에 대한 포인터입니다.

반환 값

CreateQuery 는 다음 값 중 하나를 반환합니다.

반환 코드 설명
S_OK 쿼리가 성공적으로 생성되었습니다.
E_OUTOFMEMORY CreateQuery 가 완료하는 데 필요한 메모리를 할당할 수 없습니다.

설명

Direct3D 런타임은 쿼리 형식을 사용하여 사용자 모드 표시 드라이버의 CreateQuery 함수를 호출하여 쿼리에 대한 리소스를 만듭니다. 사용자 모드 표시 드라이버는 쿼리 유형에 대해 다음 리소스를 만듭니다.

  • D3DDDIQUERYTYPE_EVENT 대한 BOOL입니다. 이벤트에 대해 응답하기 전에 드라이버는 GPU(그래픽 처리 장치)가 이벤트와 관련된 모든 작업 처리를 완료하는지 확인해야 합니다. 즉, 드라이버가 문제 종료 상태가 발생한 후 이벤트에 대해 응답합니다. 드라이버는 응답할 때 항상 이벤트의 BOOL 값을 TRUE 로 설정해야 합니다.
  • UINT for D3DDDIQUERYTYPE_OCCLUSION. 드라이버는 이 UINT 변수를 문제 쿼리의 시작 상태와 끝 상태 사이의 모든 기본 요소에 대해 z-test가 통과한 픽셀 수로 설정합니다. 깊이 버퍼가 다중 샘플링된 경우 드라이버는 샘플 수에서 픽셀 수를 결정합니다. 그러나 디스플레이 디바이스가 각 다중 샘플에 대해 z 테스트 정확도를 사용할 수 있는 경우 일반적으로 픽셀 수로 변환해야 합니다. 그런 다음 애플리케이션은 폐색 결과를 0에 대해 검사 효과적으로 "완전히 폐색됨"을 의미할 수 있습니다. 다중 샘플링된 수량을 픽셀 수량으로 변환하는 드라이버는 렌더링 대상 다중 샘플링 변경 내용을 검색하고 쿼리 결과를 적절하게 계속 계산해야 합니다.
  • D3DDDIQUERYTYPE_VCACHE 대한 D3DDDIDEVINFO_VCACHE 구조체입니다. 드라이버가 문제 종료 상태가 발생한 후 응답합니다.
문제 쿼리 상태에 대한 자세한 내용은 D3DDDI_ISSUEQUERYFLAGS 참조하세요.

요구 사항

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

추가 정보

D3DDDIARG_CREATEQUERY

D3DDDIDEVINFO_VCACHE

D3DDDI_DEVICEFUNCS

D3DDDI_ISSUEQUERYFLAGS