다음을 통해 공유


PFND3D10DDI_QUERYGETDATA 콜백 함수(d3d10umddi.h)

QueryGetData 함수는 쿼리 작업의 상태를 폴링합니다.

구문

PFND3D10DDI_QUERYGETDATA Pfnd3d10ddiQuerygetdata;

void Pfnd3d10ddiQuerygetdata(
  D3D10DDI_HDEVICE unnamedParam1,
  D3D10DDI_HQUERY unnamedParam2,
  VOID *unnamedParam3,
  UINT DataSize,
  UINT unnamedParam5
)
{...}

매개 변수

unnamedParam1

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

unnamedParam2

hQuery [in]: 폴링할 쿼리 개체에 대한 핸들입니다.

unnamedParam3

pData [out]: 쿼리 작업에서 데이터를 수신하는 메모리 영역에 대한 포인터입니다. 사용자 모드 표시 드라이버는 pData 를 NULL로 설정하고 DataSize 매개 변수를 0으로 설정할 수 있습니다. pData가 NULL인 경우 QueryGetData는 쿼리 작업의 상태를 나타낼 수 있습니다(예: 쿼리 작업이 완료되었는지 여부).

DataSize

[out] pData 매개 변수가 가리키는 쿼리 데이터의 크기(바이트)입니다. 사용자 모드 표시 드라이버는 DataSize 를 0으로 설정하고 pData 를 NULL로 설정할 수 있습니다. DataSize가 0인 경우 QueryGetData는 쿼리 작업의 상태를 나타낼 수 있습니다(예: 반환 코드를 통해).

unnamedParam5

플래그 [in]: D3D10_DDI_GET_DATA_FLAG 플래그입니다.

반환 값

없음

설명

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

Microsoft Direct3D 런타임이 사용자 모드 디스플레이 드라이버의 QueryEnd 함수를 호출하여 쿼리 작업을 "발급된" 상태로 전환한 후 런타임은 QueryGetData 를 호출하여 쿼리 작업이 여전히 "발급됨" 상태(DXGI_DDI_ERR_WASSTILLDRAWING)에 있는지 또는 "신호" 상태(S_OK)로 전환되었는지 확인할 수 있습니다. 쿼리 작업이 "신호" 상태이면 QueryGetDatapData 매개 변수에서 쿼리 데이터를 반환할 수 있습니다. 그렇지 않으면 pData 가 변경되지 않습니다. 드라이버는 pfnSetErrorCb 를 호출하여 쿼리 작업의 상태를 나타낼 수 있습니다.

런타임은 SetPredication 함수를 호출하여 D3D10_QUERY_MISCFLAG_PREDICATEHINT 만든 조건자를 사용하여 QueryGetData를 호출할 수 없습니다.

쿼리 작업이 여전히 부분 명령 버퍼에 있는 작업을 처리하는 경우 기본적으로 드라이버는 부분 명령 버퍼를 종료하고 제출해야 합니다. 그러나 런타임이 Flags 매개 변수에 D3D10_DDI_GET_DATA_DO_NOT_FLUSH 플래그를 지정한 경우 드라이버는 버퍼를 종료하고 제출해서는 안 됩니다. 런타임이 Flags 매개 변수에서 D3D10_DDI_GET_DATA_DO_NOT_FLUSH 플래그를 전달하고 쿼리 작업이 부분 명령 버퍼에 여전히 상주하는 작업을 처리하는 경우 드라이버는 pfnSetErrorCb 를 호출하여 DXGI_DDI_ERR_WASSTILLDRAWING 오류 코드만 설정할 수 있습니다.

런타임에서 QueryGetData를 호출하여 쿼리 완료를 위해 검사 경우 드라이버는 pfnSetErrorCb 호출에서 DXGI_DDI_ERR_WASSTILLDRAWING 전달하여 쿼리가 아직 완료되지 않았음을 나타낼 수 있습니다. 드라이버는 pfnSetErrorCb에 대한 호출에서 D3DDDIERR_DEVICEREMOVED 전달할 수도 있습니다. Direct3D 런타임은 다른 오류가 중요한지 확인합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows Vista
대상 플랫폼 데스크톱
머리글 d3d10umddi.h(D3d10umddi.h 포함)

추가 정보

CheckCounter

D3D10DDI_DEVICEFUNCS

QueryEnd

SetPredication

pfnSetErrorCb