3 class TraceDirect3DSwapChain9: public IDirect3DSwapChain9 {
5 TraceDirect3DSwapChain9(IDirect3DSwapChain9* pOriginal, IDirect3DDevice9* pDevice);
6 virtual ~TraceDirect3DSwapChain9(void);
8 // START: The original DX9 function definitions
9 HRESULT __stdcall QueryInterface(REFIID riid, void** ppvObj);
10 ULONG __stdcall AddRef(void);
11 ULONG __stdcall Release(void);
12 HRESULT __stdcall Present(CONST RECT* pSourceRect,CONST RECT* pDestRect,HWND hDestWindowOverride,CONST RGNDATA* pDirtyRegion,DWORD dwFlags);
13 HRESULT __stdcall GetFrontBufferData(IDirect3DSurface9* pDestSurface);
14 HRESULT __stdcall GetBackBuffer(UINT iBackBuffer,D3DBACKBUFFER_TYPE Type,IDirect3DSurface9** ppBackBuffer);
15 HRESULT __stdcall GetRasterStatus(D3DRASTER_STATUS* pRasterStatus);
16 HRESULT __stdcall GetDisplayMode(D3DDISPLAYMODE* pMode);
17 HRESULT __stdcall GetDevice(IDirect3DDevice9** ppDevice);
18 HRESULT __stdcall GetPresentParameters(D3DPRESENT_PARAMETERS* pPresentationParameters);
19 // END: The original DX9 function definitions
22 IDirect3DSwapChain9 *m_pIDirect3DSwapChain9;
23 IDirect3DDevice9 *m_pIDirect3DDevice9;
25 // This is our test function
26 void ShowWeAreHere(void);