Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygenatlbase.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
1.7.6.1
|