DirectX Graphics 레퍼런스 Direct3D C/C++ 레퍼런스 인터페이스 IDirect3DQuery9 GetData   [목차열람] [주소복사] [슬롯비우기]
IDirect3DQuery9::GetData 메서드
 
Microsoft DirectX 9.0

IDirect3DQuery9::GetData 메서드


문의 정보를 얻어온다.

구문

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 의 사이즈는, 다음과 같이 문의의 종류에 따라서 다르다.
문의의 종류사이즈
D3DQUERYTYPE_VCACHEsizeof(D3DDEVINFO_VCACHE)
D3DQUERYTYPE_RESOURCEMANAGERsizeof(D3DDEVINFO_RESOURCEMANAGER)
D3DQUERYTYPE_VERTEXSTATSsizeof(D3DDEVINFO_D3DVERTEXSTATS)
D3DQUERYTYPE_EVENTsizeof(BOOL)
D3DQUERYTYPE_OCCLUSIONsizeof(DWORD)

내부적으로 배치 된 문의를 드라이버에 플래시 하려면 ,D3DGETDATA_FLUSH 를 사용한다. 독자적인 버전의 「대기」를 기입하는 애플리케이션의 경우, 드라이버가 플래시를 받을 때까지는, 드라이버로부터의 문의 결과는 실현되지 않고, 배치 된다.

D3DGETDATA_FLUSH 를 지정했을 경우, 이 메서드는, 손실한 장치에의 응답으로서 D3DERR_DEVICELOST 를 돌려주는 일도 있다. 이것은, 손실한 장치가 문의에 응답할 수 없기 위해(때문에), thread가 영구히 문의를 계속하는 것을 막기 때문에 있다.

참조

D3DDEVINFO_VCACHE ,D3DDEVINFO_RESOURCEMANAGER ,D3DDEVINFO_D3DVERTEXSTATS


© 2002 Microsoft Corporation. All rights reserved.
↑TOP