37#define ATLVer1Size FIELD_OFFSET(_ATL_MODULEW, dwAtlBuildVer)
44 TRACE(
"(%p %p %p)\n", pM,
p,
h);
56 WARN(
"Unknown structure version (size %i)\n",
size);
78 TRACE(
"Initializing object %i %p\n",
i,
p[
i].pfnObjectMain);
79 if (
p[
i].pfnObjectMain)
104 TRACE(
"(%p, %s, %p, %p)\n", pM,
debugstr_w(lpszIndex), pbstrPath, ppTypeLib);
149 TRACE(
"Registering object %i\n",
i);
150 if (
obj->pfnGetClassObject)
160 WARN(
"Failed to register object %i: 0x%08x\n",
i, rc);
173 FIXME(
"(%p, %i, %p) stub\n", pM, bUnRegTypeLib, pCLSID);
197 hRes =
obj->pfnUpdateRegistry(
TRUE);
243 TRACE(
"found object %i\n",
i);
244 if (
obj->pfnGetClassObject)
247 hres =
obj->pfnGetClassObject(
obj->pfnCreateInstance,
302 FIXME(
"%p %p %p semi-stub\n",
pm, wci, pProc);
335 TRACE(
"returning 0x%04x\n", atom);
361 FIXME(
"%p %p %p semi-stub\n",
pm, wci, pProc);
398 TRACE(
"returning 0x%04x\n", atom);
409 pData->m_pThis = pvObject;
456 TRACE(
"(%p %s %d %p %p)\n", pM,
debugstr_w(lpszRes), bRegister, pMapEntries, pReg);
467 IClassFactory_AddRef( iface );
501 hres = IRegistrar_QueryInterface(registrar,
riid,
ppv);
502 IRegistrar_Release(registrar);
524 LPCOLESTR wszId,
BOOL do_register,
531 static const WCHAR wszModule[] = {
'M',
'O',
'D',
'U',
'L',
'E',0};
532 static const WCHAR wszRegistry[] = {
'R',
'E',
'G',
'I',
'S',
'T',
'R',
'Y',0};
535 registrar = pRegistrar;
542 IRegistrar_AddReplacement(registrar, wszModule, wszDll);
544 for (pMapEntry = pMapEntries; pMapEntry && pMapEntry->
szKey; pMapEntry++)
545 IRegistrar_AddReplacement(registrar, pMapEntry->
szKey, pMapEntry->
szData);
548 hres = IRegistrar_ResourceRegisterSz(registrar, wszDll, wszId, wszRegistry);
550 hres = IRegistrar_ResourceUnregisterSz(registrar, wszDll, wszId, wszRegistry);
552 if(registrar != pRegistrar)
553 IRegistrar_Release(registrar);
559 static const WCHAR CLSID_RegistrarW[] =
560 {
'C',
'L',
'S',
'I',
'D',
'_',
'R',
'e',
'g',
'i',
's',
't',
'r',
'a',
'r',0};
561 static const WCHAR atl_dllW[] = {
'a',
't',
'l',
'.',
'd',
'l',
'l',0};
592 return do_register_server(
TRUE);
604 return do_register_server(
FALSE);
std::map< E_MODULE, HMODULE > mod
HRESULT WINAPI AtlModuleTerm(_ATL_MODULE *pM)
static HRESULT WINAPI RegistrarCF_CreateInstance(IClassFactory *iface, LPUNKNOWN pUnkOuter, REFIID riid, void **ppv)
HRESULT WINAPI DllRegisterServer(void)
ATOM WINAPI AtlModuleRegisterWndClassInfoW(_ATL_MODULEW *pm, _ATL_WNDCLASSINFOW *wci, WNDPROC *pProc)
void *WINAPI AtlModuleExtractCreateWndData(_ATL_MODULEW *pM)
HRESULT WINAPI AtlModuleUnregisterServer(_ATL_MODULEW *pm, const CLSID *clsid)
HRESULT WINAPI AtlModuleInit(_ATL_MODULEW *pM, _ATL_OBJMAP_ENTRYW *p, HINSTANCE h)
static _ATL_OBJMAP_ENTRYW_V1 * get_objmap_entry(_ATL_MODULEW *mod, unsigned int index)
HRESULT WINAPI AtlModuleGetClassObject(_ATL_MODULEW *pm, REFCLSID rclsid, REFIID riid, LPVOID *ppv)
HRESULT WINAPI AtlModuleRegisterTypeLib(_ATL_MODULEW *pm, LPCOLESTR lpszIndex)
HRESULT WINAPI AtlModuleRegisterServer(_ATL_MODULEW *pM, BOOL bRegTypeLib, const CLSID *clsid)
HRESULT WINAPI DllGetClassObject(REFCLSID clsid, REFIID riid, LPVOID *ppvObject)
HRESULT WINAPI AtlModuleUnregisterServerEx(_ATL_MODULEW *pM, BOOL bUnRegTypeLib, const CLSID *pCLSID)
static IClassFactory RegistrarCF
HRESULT WINAPI DllUnregisterServer(void)
HRESULT WINAPI AtlModuleLoadTypeLib(_ATL_MODULEW *pM, LPCOLESTR lpszIndex, BSTR *pbstrPath, ITypeLib **ppTypeLib)
static const IClassFactoryVtbl IRegistrarCFVtbl
HRESULT WINAPI AtlModuleRevokeClassObjects(_ATL_MODULEW *pm)
static ULONG WINAPI RegistrarCF_Release(IClassFactory *iface)
static ULONG WINAPI RegistrarCF_AddRef(IClassFactory *iface)
static HRESULT WINAPI RegistrarCF_LockServer(IClassFactory *iface, BOOL lock)
HRESULT WINAPI DllCanUnloadNow(void)
static HRESULT WINAPI RegistrarCF_QueryInterface(IClassFactory *iface, REFIID riid, void **ppvObject)
HRESULT WINAPI AtlModuleUpdateRegistryFromResourceD(_ATL_MODULEW *pM, LPCOLESTR lpszRes, BOOL bRegister, struct _ATL_REGMAP_ENTRY *pMapEntries, IRegistrar *pReg)
ATOM WINAPI AtlModuleRegisterWndClassInfoA(_ATL_MODULEA *pm, _ATL_WNDCLASSINFOA *wci, WNDPROC *pProc)
HRESULT WINAPI AtlModuleRegisterClassObjects(_ATL_MODULEW *pM, DWORD dwClsContext, DWORD dwFlags)
void WINAPI AtlModuleAddCreateWndData(_ATL_MODULEW *pM, _AtlCreateWndData *pData, void *pvObject)
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
const GUID IID_IClassFactory
HRESULT WINAPI AtlRegisterClassCategoriesHelper(REFCLSID clsid, const struct _ATL_CATMAP_ENTRY *catmap, BOOL reg)
HRESULT WINAPI AtlLoadTypeLib(HINSTANCE inst, LPCOLESTR lpszIndex, BSTR *pbstrPath, ITypeLib **ppTypeLib)
HRESULT WINAPI AtlRegisterTypeLib(HINSTANCE inst, const WCHAR *index)
HRESULT WINAPI AtlUpdateRegistryFromResourceD(HINSTANCE inst, LPCOLESTR res, BOOL bRegister, struct _ATL_REGMAP_ENTRY *pMapEntries, IRegistrar *pReg)
HRESULT WINAPI AtlCreateRegistrar(IRegistrar **ret)
#define HeapFree(x, y, z)
HRESULT WINAPI CoRegisterClassObject(REFCLSID rclsid, LPUNKNOWN pUnk, DWORD dwClsContext, DWORD flags, LPDWORD lpdwRegister)
INT WINAPI StringFromGUID2(REFGUID id, LPOLESTR str, INT cmax)
GLfloat GLfloat GLfloat GLfloat h
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
struct _ATL_MODULEW_TAG _ATL_MODULEW
PSDBQUERYRESULT_VISTA PVOID * ppData
#define sprintf(buf, format,...)
#define IsEqualGUID(rguid1, rguid2)
#define IsEqualCLSID(rclsid1, rclsid2)
HRESULT __wine_unregister_resources(HMODULE module) DECLSPEC_HIDDEN
HRESULT __wine_register_resources(HMODULE module) DECLSPEC_HIDDEN
_ATL_TERMFUNC_ELEM * m_pTermFuncs
union _ATL_MODULEW_TAG::@3565 u
HINSTANCE m_hInstResource
CRITICAL_SECTION m_csTypeInfoHolder
CRITICAL_SECTION m_csWindowCreate
_ATL_OBJMAP_ENTRYW * m_pObjMap
CRITICAL_SECTION m_csObjMap
_AtlCreateWndData * m_pCreateWndList
struct _ATL_TERMFUNC_ELEM_TAG * pNext
CHAR m_szAutoName[sizeof("ATL:")+sizeof(void *) *2]
WCHAR m_szAutoName[sizeof("ATL:")+sizeof(void *) *2]
VOID WINAPI InitializeCriticalSection(OUT LPCRITICAL_SECTION lpCriticalSection)
TW_UINT32 TW_UINT16 TW_UINT16 TW_MEMREF pData
DWORD WINAPI GetCurrentThreadId(void)
void WINAPI LeaveCriticalSection(LPCRITICAL_SECTION)
void WINAPI EnterCriticalSection(LPCRITICAL_SECTION)
_In_ PCCERT_CONTEXT _In_ DWORD dwFlags
_In_ void _In_ PCCERT_CONTEXT _In_opt_ LPFILETIME _In_ DWORD _In_ DWORD _Outptr_opt_ void ** ppvObject
#define CLASS_E_NOAGGREGATION
#define CLASS_E_CLASSNOTAVAILABLE
BOOL WINAPI GetClassInfoExA(_In_opt_ HINSTANCE, _In_ LPCSTR, _Out_ LPWNDCLASSEXA)
BOOL WINAPI GetClassInfoExW(_In_opt_ HINSTANCE, _In_ LPCWSTR, _Out_ LPWNDCLASSEXW)
HCURSOR WINAPI LoadCursorW(_In_opt_ HINSTANCE, _In_ LPCWSTR)
ATOM WINAPI RegisterClassExA(_In_ CONST WNDCLASSEXA *)
ATOM WINAPI RegisterClassExW(_In_ CONST WNDCLASSEXW *)
#define MAKEINTRESOURCEW(i)
LRESULT(CALLBACK * WNDPROC)(HWND, UINT, WPARAM, LPARAM)
HCURSOR WINAPI LoadCursorA(_In_opt_ HINSTANCE, _In_ LPCSTR)