관련 색인이 없습니다.
IDirect3DBaseTexture9::SetPrivateData 메서드
 
Microsoft DirectX 9.0

IDirect3DBaseTexture9::SetPrivateData 메서드


Microsoft® Direct3D® 는 아니고, 애플리케이션에서의 사용이 의도되고 있는 리소스와 데이터를 관련짓는다. 데이터는 값으로 건네받아 복수의 데이터 세트를 단일의 리소스와 관련지을 수가 있다.

구문

HRESULT SetPrivateData(      

    REFGUID refguid,     const void *pData,     DWORD SizeOfData,     DWORD Flags );

파라미터

refguid
[in] 설정하는 Private 데이터를 식별하는 글로벌 일의 식별자에의 참조 (C++) 또는 주소 (C).
pData
[in] 리소스에 관련짓는 데이터가 저장 되고 있는 버퍼의 포인터.
SizeOfData
[in] pData 의 버퍼 사이즈 (바이트 단위).
Flags
[in] 건네받는 데이터형을 기술하는 값, 또는 리소스가 변경되었을 경우에 데이터를 무효로 할 필요가 있는 것을 애플리케이션에 나타내는 값.
(none)
플래그를 지정하지 않는 경우, Direct3D 는 버퍼내의 데이터를 보관 유지하는 메모리를 할당해 새로운 버퍼에 데이터를 복사 한다. Direct3D 에 의해 할당할 수 있는 버퍼는, 적당 자동적으로 릴리즈 된다.
D3DSPD_IUNKNOWN
pData 의 데이터는 IUnknown 인터페이스의 포인터이다. SizeOfData 는,IUnknown 인터페이스 (sizeof(IUnknown*))의 포인터 사이즈로 설정할 필요가 있다. Direct3D 는 pData 를 개입시켜 IUnknown::AddRef 를, Private 데이터가 파기되는 경우는 IUnknown::Release 를 자동적으로 호출한다. 다음에 같은 GUIDIDirect3DBaseTexture9::SetPrivateData 를 호출하는지, 다음에 IDirect3DResource9::FreePrivateData 를 호출하는지, 또는 IDirect3D9 개체를 릴리즈 하면, Private 데이터는 파기된다. 상세 정보에 대해서는, 「주의」를 참조할것.

반환값

성공했을 경우는,D3D_OK 를 돌려준다.

실패했을 경우는, 다음의 몇개의 값을 돌려준다.

D3DERR_INVALIDCALL메서드의 호출이 무효이다. 예를 들어, 메서드의 파라미터에 무효인 값이 설정되어 있는 경우 등이다.
E_OUTOFMEMORYDirect3D 가 호출을 완료하기 위한 충분한 메모리를 할당할 수가 없었다.


주의

Direct3D 는 pData 로 메모리를 관리하지 않는다. 이 버퍼가 동적으로 할당할 수 있었을 경우, 호출측의 책임으로 메모리를 릴리즈 한다.

참조

IDirect3DResource9::FreePrivateData ,IDirect3DBaseTexture9::FreePrivateData ,IDirect3DCubeTexture9::FreePrivateData ,IDirect3DTexture9::FreePrivateData ,IDirect3DVolumeTexture9::FreePrivateData ,IDirect3DIndexBuffer9::FreePrivateData ,IDirect3DVertexBuffer9::FreePrivateData ,IDirect3DResource9::GetPrivateData ,IDirect3DBaseTexture9::GetPrivateData ,IDirect3DCubeTexture9::GetPrivateData ,IDirect3DTexture9::GetPrivateData ,IDirect3DVolumeTexture9::FreePrivateData ,IDirect3DIndexBuffer9::FreePrivateData ,IDirect3DVertexBuffer9::FreePrivateData


© 2002 Microsoft Corporation. All rights reserved.
↑TOP