PFND3D10DDI_QUERYGETDATA 콜백 함수(d3d10umddi.h)
QueryGetData 함수는 쿼리 작업의 상태를 폴링합니다.
구문
PFND3D10DDI_QUERYGETDATA Pfnd3d10ddiQuerygetdata;
void Pfnd3d10ddiQuerygetdata(
D3D10DDI_HDEVICE unnamedParam1,
D3D10DDI_HQUERY unnamedParam2,
VOID *unnamedParam3,
[out] UINT DataSize,
UINT unnamedParam5
)
{...}
매개 변수
unnamedParam1
hDevice [in]
디스플레이 디바이스(그래픽 컨텍스트)에 대한 핸들입니다.
unnamedParam2
hQuery [in]
폴링할 쿼리 개체에 대한 핸들입니다.
unnamedParam3
pData [out]
쿼리 작업에서 데이터를 수신하는 메모리 영역에 대한 포인터입니다. 사용자 모드 표시 드라이버는 pData 를 NULL 로 설정하고 DataSize 매개 변수를 0으로 설정할 수 있습니다. pData가 NULL인 경우 QueryGetData는 쿼리 작업의 상태를 나타낼 수 있습니다(예: 쿼리 작업이 완료되었는지 여부).
[out] DataSize
pData 매개 변수가 가리키는 쿼리 데이터의 크기(바이트)입니다. 사용자 모드 표시 드라이버는 DataSize 를 0으로 설정하고 pData 를 NULL로 설정할 수 있습니다. DataSize가 0인 경우 QueryGetData는 쿼리 작업의 상태를 나타낼 수 있습니다(예: 반환 코드를 통해).
unnamedParam5
반환 값
없음
설명
드라이버는 pfnSetErrorCb 콜백 함수를 사용하여 오류 코드를 설정할 수 있습니다.
Microsoft Direct3D 런타임에서 사용자 모드 표시 드라이버의 QueryEnd 함수를 호출하여 쿼리 작업을 "발급됨" 상태로 전환한 후 런타임은 QueryGetData 를 호출하여 쿼리 작업이 여전히 "발급됨" 상태(DXGI_DDI_ERR_WASSTILLDRAWING)에 있는지 또는 "신호" 상태(S_OK)로 전환되었는지 확인할 수 있습니다. 쿼리 작업이 "신호" 상태이면 QueryGetData 는 pData 매개 변수에서 쿼리 데이터를 반환할 수 있습니다. 그렇지 않으면 pData 가 변경되지 않습니다. 드라이버는 pfnSetErrorCb 를 호출하여 쿼리 작업의 상태를 나타낼 수 있습니다.
Runtime은 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 이상 버전의 Windows 운영 체제에서 사용할 수 있습니다. |
| 대상 플랫폼 | 데스크톱 |
| 헤더 | d3d10umddi.h(D3d10umddi.h 포함) |
참고 항목
피드백
다음에 대한 사용자 의견 제출 및 보기