DirectX Graphics 레퍼런스 Direct3D C/C++ 레퍼런스 인터페이스 IDirect3DQuery9 GetData [목차열람] [주소복사] [슬롯비우기] |
Microsoft DirectX 9.0 |
문의 정보를 얻어온다.
구문
HRESULT GetData(
void* pData, DWORD dwSize, DWORD dwGetDataFlags );
파라미터
- pData
- [in, out] 문의 데이터를 포함한 버퍼의 포인터.
- dwSize
- [in] 데이터의 바이트수. 「주의」를 참조할것.
- dwGetDataFlags
- [in] 문의의 종류를 나타내는 데이터 플래그. 유효한 값은 0 또는 D3DGETDATA_FLUSH 로, 이것에 의해 런타임이 문의를 드라이버에 플래시 한다. 「주의」를 참조할것.
반환값
문의 데이터가 사용 가능한 경우는 S_OK 를, 그렇지 않은 경우는 S_FALSE 를 돌려준다. 이것들은, 성공의 반환값이라고 보여진다.D3DGETDATA_FLUSH 를 사용했을 때에 메서드가 실패했을 경우, 반환값은 D3DERR_DEVICELOST 가 되는 일이 있다.
주의
애플리케이션은, 문의 결과에 적절한 올바른 데이터량을 건네줄 필요가 있다. 문의 결과가 이용 가능한 경우, 런타임은 문의 데이터를 돌려준다.
dwSize 의 사이즈는, 다음과 같이 문의의 종류에 따라서 다르다.
내부적으로 배치 된 문의를 드라이버에 플래시 하려면 ,D3DGETDATA_FLUSH 를 사용한다. 독자적인 버전의 「대기」를 기입하는 애플리케이션의 경우, 드라이버가 플래시를 받을 때까지는, 드라이버로부터의 문의 결과는 실현되지 않고, 배치 된다.
문의의 종류 사이즈 D3DQUERYTYPE_VCACHE sizeof(D3DDEVINFO_VCACHE) D3DQUERYTYPE_RESOURCEMANAGER sizeof(D3DDEVINFO_RESOURCEMANAGER) D3DQUERYTYPE_VERTEXSTATS sizeof(D3DDEVINFO_D3DVERTEXSTATS) D3DQUERYTYPE_EVENT sizeof(BOOL) D3DQUERYTYPE_OCCLUSION sizeof(DWORD) D3DGETDATA_FLUSH 를 지정했을 경우, 이 메서드는, 손실한 장치에의 응답으로서 D3DERR_DEVICELOST 를 돌려주는 일도 있다. 이것은, 손실한 장치가 문의에 응답할 수 없기 위해(때문에), thread가 영구히 문의를 계속하는 것을 막기 때문에 있다.
참조
D3DDEVINFO_VCACHE ,D3DDEVINFO_RESOURCEMANAGER ,D3DDEVINFO_D3DVERTEXSTATS