Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygend3d9_baseobject.h
Go to the documentation of this file.
00001 /* 00002 * COPYRIGHT: See COPYING in the top level directory 00003 * PROJECT: ReactOS ReactX 00004 * FILE: dll/directx/d3d9/d3d9_baseobject.h 00005 * PURPOSE: Direct3D9's base object 00006 * PROGRAMERS: Gregor Gullwi <gbrunmar (dot) ros (at) gmail (dot) com> 00007 */ 00008 #ifndef _D3D9_BASEOBJECT_H_ 00009 #define _D3D9_BASEOBJECT_H_ 00010 00011 #include "d3d9_common.h" 00012 #include <d3d9.h> 00013 00014 struct _D3D9BaseObject; 00015 struct _Direct3DDevice9_INT; 00016 00017 enum REF_TYPE 00018 { 00019 RT_EXTERNAL, 00020 RT_BUILTIN, 00021 RT_INTERNAL, 00022 }; 00023 00024 typedef struct _D3D9BaseObjectVtbl 00025 { 00026 VOID (*Destroy)(struct _D3D9BaseObject* pBaseObject, BOOL bFreeThis); 00027 } ID3D9BaseObjectVtbl; 00028 00029 typedef struct _D3D9BaseObject 00030 { 00031 /* 0x0000 */ ID3D9BaseObjectVtbl* lpVtbl; 00032 /* 0x0004 */ LONG lRefCnt; 00033 /* 0x0008 */ DWORD dwNumUsed; 00034 /* 0x000c */ IUnknown* pUnknown; 00035 /* 0x0010 */ DWORD dwUnknown0010; // Index? Unique id? 00036 /* 0x0014 */ HANDLE hKernelHandle; 00037 /* 0x0018 */ LPDWORD dwUnknown0018; 00038 /* 0x001c */ enum REF_TYPE RefType; 00039 } D3D9BaseObject; 00040 00041 VOID InitD3D9BaseObject(D3D9BaseObject* pBaseObject, enum REF_TYPE RefType, IUnknown* pUnknown); 00042 00043 ULONG D3D9BaseObject_AddRef(D3D9BaseObject* pBaseObject); 00044 ULONG D3D9BaseObject_Release(D3D9BaseObject* pBaseObject); 00045 HRESULT D3D9BaseObject_GetDevice(D3D9BaseObject* pBaseObject, IDirect3DDevice9** ppDevice); 00046 HRESULT D3D9BaseObject_GetDeviceInt(D3D9BaseObject* pBaseObject, struct _Direct3DDevice9_INT** ppDevice); 00047 VOID D3D9BaseObject_LockDevice(D3D9BaseObject* pBaseObject); 00048 VOID D3D9BaseObject_UnlockDevice(D3D9BaseObject* pBaseObject); 00049 00050 #endif // _D3D9_BASEOBJECT_H_ Generated on Sat May 26 2012 04:19:51 for ReactOS by
1.7.6.1
|