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

atlbase.h
Go to the documentation of this file.
00001 /*
00002  * Implementation of the Active Template Library (atl.dll)
00003  *
00004  * Copyright 2004 Aric Stewart for CodeWeavers
00005  *
00006  * This library is free software; you can redistribute it and/or
00007  * modify it under the terms of the GNU Lesser General Public
00008  * License as published by the Free Software Foundation; either
00009  * version 2.1 of the License, or (at your option) any later version.
00010  *
00011  * This library is distributed in the hope that it will be useful,
00012  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00013  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00014  * Lesser General Public License for more details.
00015  *
00016  * You should have received a copy of the GNU Lesser General Public
00017  * License along with this library; if not, write to the Free Software
00018  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
00019  */
00020 
00021 #ifndef __WINE_ATLBASE_H__
00022 #define __WINE_ATLBASE_H__
00023 
00024 #define COBJMACROS
00025 
00026 #include "atliface.h"
00027 
00028 typedef HRESULT (WINAPI _ATL_CREATORFUNC)(void* pv, REFIID riid, LPVOID* ppv);
00029 typedef HRESULT (WINAPI _ATL_CREATORARGFUNC)(void* pv, REFIID riid, LPVOID* ppv, DWORD dw);
00030 typedef HRESULT (WINAPI _ATL_MODULEFUNC)(DWORD dw);
00031 typedef LPCSTR (WINAPI _ATL_DESCRIPTIONFUNCA)(void);
00032 typedef LPCWSTR (WINAPI _ATL_DESCRIPTIONFUNCW)(void);
00033 typedef const struct _ATL_CATMAP_ENTRY* (_ATL_CATMAPFUNC)(void);
00034 typedef void (WINAPI _ATL_TERMFUNC)(DWORD dw);
00035 
00036 typedef struct _ATL_OBJMAP_ENTRYA_V1_TAG
00037 {
00038     const CLSID* pclsid;
00039     HRESULT (WINAPI *pfnUpdateRegistry)(BOOL bRegister);
00040     _ATL_CREATORFUNC* pfnGetClassObject;
00041     _ATL_CREATORFUNC* pfnCreateInstance;
00042     IUnknown* pCF;
00043     DWORD dwRegister;
00044     _ATL_DESCRIPTIONFUNCA* pfnGetObjectDescription;
00045 }_ATL_OBJMAP_ENTRYA_V1;
00046 
00047 typedef struct _ATL_OBJMAP_ENTRYW_V1_TAG
00048 {
00049     const CLSID* pclsid;
00050     HRESULT (WINAPI *pfnUpdateRegistry)(BOOL bRegister);
00051     _ATL_CREATORFUNC* pfnGetClassObject;
00052     _ATL_CREATORFUNC* pfnCreateInstance;
00053     IUnknown* pCF;
00054     DWORD dwRegister;
00055     _ATL_DESCRIPTIONFUNCW* pfnGetObjectDescription;
00056 } _ATL_OBJMAP_ENTRYW_V1;
00057 
00058 typedef struct _ATL_OBJMAP_ENTRYA_TAG
00059 {
00060     const CLSID* pclsid;
00061     HRESULT (WINAPI *pfnUpdateRegistry)(BOOL bRegister);
00062     _ATL_CREATORFUNC* pfnGetClassObject;
00063     _ATL_CREATORFUNC* pfnCreateInstance;
00064     IUnknown* pCF;
00065     DWORD dwRegister;
00066     _ATL_DESCRIPTIONFUNCA* pfnGetObjectDescription;
00067     _ATL_CATMAPFUNC* pfnGetCategoryMap;
00068     void (WINAPI *pfnObjectMain)(BOOL bStarting);
00069 }_ATL_OBJMAP_ENTRYA;
00070 
00071 typedef struct _ATL_OBJMAP_ENTRYW_TAG
00072 {
00073     const CLSID* pclsid;
00074     HRESULT (WINAPI *pfnUpdateRegistry)(BOOL bRegister);
00075     _ATL_CREATORFUNC* pfnGetClassObject;
00076     _ATL_CREATORFUNC* pfnCreateInstance;
00077     IUnknown* pCF;
00078     DWORD dwRegister;
00079     _ATL_DESCRIPTIONFUNCW* pfnGetObjectDescription;
00080     _ATL_CATMAPFUNC* pfnGetCategoryMap;
00081     void (WINAPI *pfnObjectMain)(BOOL bStarting);
00082 } _ATL_OBJMAP_ENTRYW;
00083 
00084 
00085 typedef struct _ATL_TERMFUNC_ELEM_TAG
00086 {
00087     _ATL_TERMFUNC* pFunc;
00088     DWORD_PTR dw;
00089     struct _ATL_TERMFUNC_ELEM_TAG* pNext;
00090 } _ATL_TERMFUNC_ELEM;
00091 
00092 typedef struct _AtlCreateWndData_TAG
00093 {
00094     void* m_pThis;
00095     DWORD m_dwThreadID;
00096     struct _AtlCreateWndData_TAG* m_pNext;
00097 } _AtlCreateWndData;
00098 
00099 typedef struct _ATL_MODULEA_TAG
00100 {
00101     UINT cbSize;
00102     HINSTANCE m_hInst;
00103     HINSTANCE m_hInstResource;
00104     HINSTANCE m_hInstTypeLib;
00105     _ATL_OBJMAP_ENTRYA* m_pObjMap;
00106     LONG m_nLockCnt;
00107     HANDLE m_hHeap;
00108     union
00109     {
00110         CRITICAL_SECTION m_csTypeInfoHolder;
00111         CRITICAL_SECTION m_csStaticDataInit;
00112     } u;
00113     CRITICAL_SECTION m_csWindowCreate;
00114     CRITICAL_SECTION m_csObjMap;
00115 
00116     DWORD dwAtlBuildVer;
00117     _AtlCreateWndData* m_pCreateWndList;
00118     BOOL m_bDestroyHeap;
00119     GUID* pguidVer;
00120     DWORD m_dwHeaps;
00121     HANDLE* m_phHeaps;
00122     int m_nHeap;
00123     _ATL_TERMFUNC_ELEM* m_pTermFuncs;
00124 } _ATL_MODULEA;
00125 
00126 typedef struct _ATL_MODULEW_TAG
00127 {
00128     UINT cbSize;
00129     HINSTANCE m_hInst;
00130     HINSTANCE m_hInstResource;
00131     HINSTANCE m_hInstTypeLib;
00132     _ATL_OBJMAP_ENTRYW* m_pObjMap;
00133     LONG m_nLockCnt;
00134     HANDLE m_hHeap;
00135     union
00136     {
00137         CRITICAL_SECTION m_csTypeInfoHolder;
00138         CRITICAL_SECTION m_csStaticDataInit;
00139     } u;
00140     CRITICAL_SECTION m_csWindowCreate;
00141     CRITICAL_SECTION m_csObjMap;
00142 
00143     DWORD dwAtlBuildVer;
00144     _AtlCreateWndData* m_pCreateWndList;
00145     BOOL m_bDestroyHeap;
00146     GUID* pguidVer;
00147     DWORD m_dwHeaps;
00148     HANDLE* m_phHeaps;
00149     int m_nHeap;
00150     _ATL_TERMFUNC_ELEM* m_pTermFuncs;
00151 } _ATL_MODULEW;
00152 
00153 typedef struct _ATL_INTMAP_ENTRY_TAG
00154 {
00155     const IID* piid;
00156     DWORD dw;
00157     _ATL_CREATORARGFUNC* pFunc;
00158 } _ATL_INTMAP_ENTRY;
00159 
00160 struct _ATL_REGMAP_ENTRY
00161 {
00162     LPCOLESTR szKey;
00163     LPCOLESTR szData;
00164 };
00165 
00166 HRESULT WINAPI AtlAdvise(IUnknown *pUnkCP, IUnknown *pUnk, const IID * iid, LPDWORD dpw);
00167 HRESULT WINAPI AtlAxAttachControl(IUnknown*,HWND,IUnknown**);
00168 HRESULT WINAPI AtlAxCreateControl(LPCOLESTR,HWND,IStream*,IUnknown**);
00169 HRESULT WINAPI AtlAxCreateControlEx(LPCOLESTR,HWND,IStream*,IUnknown**,IUnknown**,REFIID,IUnknown*);
00170 HRESULT WINAPI AtlFreeMarshalStream(IStream *pStream);
00171 HRESULT WINAPI AtlInternalQueryInterface(void* pThis, const _ATL_INTMAP_ENTRY* pEntries, REFIID iid, void** ppvObject);
00172 HRESULT WINAPI AtlMarshalPtrInProc(IUnknown *pUnk, const IID *iid, IStream **ppStream);
00173 void    WINAPI AtlModuleAddCreateWndData(_ATL_MODULEW *pM, _AtlCreateWndData *pData, void* pvObject);
00174 HRESULT WINAPI AtlModuleAddTermFunc(_ATL_MODULEW *pM, _ATL_TERMFUNC *pFunc, DWORD_PTR dw);
00175 void*  WINAPI AtlModuleExtractCreateWndData(_ATL_MODULEW *pM);
00176 HRESULT WINAPI AtlModuleInit(_ATL_MODULEW* pM, _ATL_OBJMAP_ENTRYW* p, HINSTANCE h);
00177 HRESULT WINAPI AtlModuleLoadTypeLib(_ATL_MODULEW *pM, LPCOLESTR lpszIndex, BSTR *pbstrPath, ITypeLib **ppTypeLib);
00178 HRESULT WINAPI AtlModuleRegisterClassObjects(_ATL_MODULEW* pM, DWORD dwClsContext, DWORD dwFlags);
00179 HRESULT WINAPI AtlModuleRegisterServer(_ATL_MODULEW* pM, BOOL bRegTypeLib, const CLSID* pCLSID);
00180 HRESULT WINAPI AtlModuleRegisterTypeLib(_ATL_MODULEW *pM, LPCOLESTR lpszIndex);
00181 HRESULT WINAPI AtlModuleUnregisterServer(_ATL_MODULEW* pM, const CLSID* pCLSID);
00182 HRESULT WINAPI AtlModuleUpdateRegistryFromResourceD(_ATL_MODULEW *pM, LPCOLESTR lpszRes, BOOL bRegister, struct _ATL_REGMAP_ENTRY *pMapEntries, IRegistrar *pReg );
00183 HRESULT WINAPI AtlModuleUnregisterServerEx(_ATL_MODULEW* pM, BOOL bUnRegTypeLib, const CLSID* pCLSID);
00184 HRESULT WINAPI AtlModuleTerm(_ATL_MODULEW* pM);
00185 HRESULT WINAPI AtlUnadvise(IUnknown *pUnkCP, const IID * iid, DWORD dw);
00186 HRESULT WINAPI AtlUnmarshalPtr(IStream *pStream, const IID *iid, IUnknown **ppUnk);
00187 
00188 #endif /* __WINE_ATLBASE_H__ */

Generated on Sun May 27 2012 04:22:47 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.