ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

d3d9_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 doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.