64 lines
1.5 KiB
C
64 lines
1.5 KiB
C
|
#ifndef _EDATAOBJ_H_
|
||
|
#define _EDATAOBJ_H_
|
||
|
|
||
|
#include "dataobj.h"
|
||
|
|
||
|
|
||
|
//EDATAOBJ.CPP
|
||
|
LRESULT WINAPI DataObjectWndProc(HWND, UINT, WPARAM, LPARAM);
|
||
|
|
||
|
|
||
|
class CAppVars
|
||
|
{
|
||
|
friend LRESULT WINAPI DataObjectWndProc(HWND, UINT, WPARAM, LPARAM);
|
||
|
|
||
|
protected:
|
||
|
HINSTANCE m_hInst; //WinMain parameters
|
||
|
HINSTANCE m_hInstPrev;
|
||
|
LPSTR m_pszCmdLine;
|
||
|
UINT m_nCmdShow;
|
||
|
|
||
|
HWND m_hWnd; //Main window handle
|
||
|
BOOL m_fInitialized; //Did CoInitialize work?
|
||
|
|
||
|
//We have multiple classes, one for each data size.
|
||
|
// DWORD m_rgdwRegCO[DOSIZE_CSIZES];
|
||
|
// LPCLASSFACTORY m_rgpIClassFactory[DOSIZE_CSIZES];
|
||
|
DWORD m_dwRegCO;
|
||
|
LPCLASSFACTORY m_pIClassFactory;
|
||
|
|
||
|
public:
|
||
|
CAppVars(HINSTANCE, HINSTANCE, LPSTR, UINT);
|
||
|
~CAppVars(void);
|
||
|
BOOL FInit(void);
|
||
|
};
|
||
|
|
||
|
typedef CAppVars *PAPPVARS;
|
||
|
|
||
|
void PASCAL ObjectDestroyed(void);
|
||
|
|
||
|
//This class factory object creates Data Objects.
|
||
|
|
||
|
class CDataObjectClassFactory : public IClassFactory
|
||
|
{
|
||
|
protected:
|
||
|
ULONG m_cRef;
|
||
|
|
||
|
public:
|
||
|
CDataObjectClassFactory();
|
||
|
~CDataObjectClassFactory(void);
|
||
|
|
||
|
//IUnknown members
|
||
|
STDMETHODIMP QueryInterface(REFIID, PPVOID);
|
||
|
STDMETHODIMP_(ULONG) AddRef(void);
|
||
|
STDMETHODIMP_(ULONG) Release(void);
|
||
|
|
||
|
//IClassFactory members
|
||
|
STDMETHODIMP CreateInstance(LPUNKNOWN, REFIID, PPVOID);
|
||
|
STDMETHODIMP LockServer(BOOL);
|
||
|
};
|
||
|
|
||
|
typedef CDataObjectClassFactory *PCDataObjectClassFactory;
|
||
|
|
||
|
#endif //_EDATAOBJ_H_
|