#include <stdio.h>
#include "objidl.h"
#include "rpcproxy.h"
#include "wine/atlbase.h"
#include "wine/atlwin.h"
#include "wine/debug.h"
Go to the source code of this file.
|
| WINE_DEFAULT_DEBUG_CHANNEL (atl) |
|
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 | AtlModuleLoadTypeLib (_ATL_MODULEW *pM, LPCOLESTR lpszIndex, BSTR *pbstrPath, ITypeLib **ppTypeLib) |
|
HRESULT WINAPI | AtlModuleTerm (_ATL_MODULE *pM) |
|
HRESULT WINAPI | AtlModuleRegisterClassObjects (_ATL_MODULEW *pM, DWORD dwClsContext, DWORD dwFlags) |
|
HRESULT WINAPI | AtlModuleUnregisterServerEx (_ATL_MODULEW *pM, BOOL bUnRegTypeLib, const CLSID *pCLSID) |
|
HRESULT WINAPI | AtlModuleRegisterServer (_ATL_MODULEW *pM, BOOL bRegTypeLib, const CLSID *clsid) |
|
HRESULT WINAPI | AtlModuleGetClassObject (_ATL_MODULEW *pm, REFCLSID rclsid, REFIID riid, LPVOID *ppv) |
|
HRESULT WINAPI | AtlModuleRegisterTypeLib (_ATL_MODULEW *pm, LPCOLESTR lpszIndex) |
|
HRESULT WINAPI | AtlModuleRevokeClassObjects (_ATL_MODULEW *pm) |
|
HRESULT WINAPI | AtlModuleUnregisterServer (_ATL_MODULEW *pm, const CLSID *clsid) |
|
ATOM WINAPI | AtlModuleRegisterWndClassInfoA (_ATL_MODULEA *pm, _ATL_WNDCLASSINFOA *wci, WNDPROC *pProc) |
|
ATOM WINAPI | AtlModuleRegisterWndClassInfoW (_ATL_MODULEW *pm, _ATL_WNDCLASSINFOW *wci, WNDPROC *pProc) |
|
void WINAPI | AtlModuleAddCreateWndData (_ATL_MODULEW *pM, _AtlCreateWndData *pData, void *pvObject) |
|
void *WINAPI | AtlModuleExtractCreateWndData (_ATL_MODULEW *pM) |
|
HRESULT WINAPI | AtlModuleUpdateRegistryFromResourceD (_ATL_MODULEW *pM, LPCOLESTR lpszRes, BOOL bRegister, struct _ATL_REGMAP_ENTRY *pMapEntries, IRegistrar *pReg) |
|
static HRESULT WINAPI | RegistrarCF_QueryInterface (IClassFactory *iface, REFIID riid, void **ppvObject) |
|
static ULONG WINAPI | RegistrarCF_AddRef (IClassFactory *iface) |
|
static ULONG WINAPI | RegistrarCF_Release (IClassFactory *iface) |
|
static HRESULT WINAPI | RegistrarCF_CreateInstance (IClassFactory *iface, LPUNKNOWN pUnkOuter, REFIID riid, void **ppv) |
|
static HRESULT WINAPI | RegistrarCF_LockServer (IClassFactory *iface, BOOL lock) |
|
HRESULT WINAPI | DllGetClassObject (REFCLSID clsid, REFIID riid, LPVOID *ppvObject) |
|
HRESULT WINAPI | DllRegisterServer (void) |
|
HRESULT WINAPI | DllUnregisterServer (void) |
|
HRESULT WINAPI | DllCanUnloadNow (void) |
|
◆ ATLVer1Size
◆ COBJMACROS
◆ AtlModuleAddCreateWndData()
Definition at line 405 of file atl30.c.
406{
408
409 pData->m_pThis = pvObject;
411
416}
CRITICAL_SECTION m_csWindowCreate
_AtlCreateWndData * m_pCreateWndList
TW_UINT32 TW_UINT16 TW_UINT16 TW_MEMREF pData
DWORD WINAPI GetCurrentThreadId(void)
void WINAPI LeaveCriticalSection(LPCRITICAL_SECTION)
void WINAPI EnterCriticalSection(LPCRITICAL_SECTION)
Referenced by test_winmodule().
◆ AtlModuleExtractCreateWndData()
Definition at line 425 of file atl30.c.
426{
429
431
433
435 {
437 {
441 break;
442 }
443 }
444
447}
PSDBQUERYRESULT_VISTA PVOID * ppData
Referenced by test_winmodule().
◆ AtlModuleGetClassObject()
Definition at line 227 of file atl30.c.
229{
233
235
238
240 {
242 {
243 TRACE(
"found object %i\n",
i);
244 if (
obj->pfnGetClassObject)
245 {
247 hres =
obj->pfnGetClassObject(
obj->pfnCreateInstance,
252 break;
253 }
254 }
255 }
256
258
260}
static _ATL_OBJMAP_ENTRYW_V1 * get_objmap_entry(_ATL_MODULEW *mod, unsigned int index)
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
#define IsEqualCLSID(rclsid1, rclsid2)
#define CLASS_E_CLASSNOTAVAILABLE
◆ AtlModuleInit()
Definition at line 39 of file atl30.c.
40{
43
44 TRACE(
"(%p %p %p)\n", pM,
p,
h);
45
48 {
51#ifdef _WIN64
53#endif
54 break;
55 default:
56 WARN(
"Unknown structure version (size %i)\n",
size);
58 }
59
67
71
72
75 {
77 {
78 TRACE(
"Initializing object %i %p\n",
i,
p[
i].pfnObjectMain);
79 if (
p[
i].pfnObjectMain)
82 }
83 }
84
86}
GLfloat GLfloat GLfloat GLfloat h
struct _ATL_MODULEW_TAG _ATL_MODULEW
HINSTANCE m_hInstResource
CRITICAL_SECTION m_csTypeInfoHolder
_ATL_OBJMAP_ENTRYW * m_pObjMap
union _ATL_MODULEW_TAG::@3558 u
CRITICAL_SECTION m_csObjMap
VOID WINAPI InitializeCriticalSection(OUT LPCRITICAL_SECTION lpCriticalSection)
Referenced by test_StructSize(), test_term(), test_winclassinfo(), and test_winmodule().
◆ AtlModuleLoadTypeLib()
Definition at line 101 of file atl30.c.
103{
104 TRACE(
"(%p, %s, %p, %p)\n", pM,
debugstr_w(lpszIndex), pbstrPath, ppTypeLib);
105
106 if (!pM)
108
110}
HRESULT WINAPI AtlLoadTypeLib(HINSTANCE inst, LPCOLESTR lpszIndex, BSTR *pbstrPath, ITypeLib **ppTypeLib)
◆ AtlModuleRegisterClassObjects()
Definition at line 133 of file atl30.c.
135{
138
140
143
145 {
148
149 TRACE(
"Registering object %i\n",
i);
150 if (
obj->pfnGetClassObject)
151 {
155 {
158
160 WARN(
"Failed to register object %i: 0x%08x\n",
i, rc);
161
164 }
165 }
166 }
167
169}
HRESULT WINAPI CoRegisterClassObject(REFCLSID rclsid, LPUNKNOWN pUnk, DWORD dwClsContext, DWORD flags, LPDWORD lpdwRegister)
_In_ PCCERT_CONTEXT _In_ DWORD dwFlags
◆ AtlModuleRegisterServer()
Definition at line 181 of file atl30.c.
182{
186
188
191
193 {
195 {
197 hRes =
obj->pfnUpdateRegistry(
TRUE);
199 return hRes;
200
203
205 if(catmap) {
208 return hRes;
209 }
210 }
211 }
212 }
213
214 if (bRegTypeLib)
215 {
218 return hRes;
219 }
220
222}
HRESULT WINAPI AtlRegisterClassCategoriesHelper(REFCLSID clsid, const struct _ATL_CATMAP_ENTRY *catmap, BOOL reg)
HRESULT WINAPI AtlRegisterTypeLib(HINSTANCE inst, const WCHAR *index)
◆ AtlModuleRegisterTypeLib()
◆ AtlModuleRegisterWndClassInfoA()
Definition at line 298 of file atl30.c.
299{
301
302 FIXME(
"%p %p %p semi-stub\n",
pm, wci, pProc);
303
305 if (!atom)
306 {
308
310
313
315 {
319 }
320
322 if (!atom)
323 {
328 }
331 }
332
334
335 TRACE(
"returning 0x%04x\n", atom);
336 return atom;
337}
#define sprintf(buf, format,...)
CHAR m_szAutoName[sizeof("ATL:")+sizeof(void *) *2]
BOOL WINAPI GetClassInfoExA(_In_opt_ HINSTANCE, _In_ LPCSTR, _Out_ LPWNDCLASSEXA)
ATOM WINAPI RegisterClassExA(_In_ CONST WNDCLASSEXA *)
HCURSOR WINAPI LoadCursorA(_In_opt_ HINSTANCE, _In_ LPCSTR)
◆ AtlModuleRegisterWndClassInfoW()
Definition at line 357 of file atl30.c.
358{
360
361 FIXME(
"%p %p %p semi-stub\n",
pm, wci, pProc);
362
364 if (!atom)
365 {
367
369
372
374 {
375#ifndef __REACTOS__
377#else
379#endif
382 }
383
385 if (!atom)
386 {
391 }
394 }
395
397
398 TRACE(
"returning 0x%04x\n", atom);
399 return atom;
400}
WCHAR m_szAutoName[sizeof("ATL:")+sizeof(void *) *2]
BOOL WINAPI GetClassInfoExW(_In_opt_ HINSTANCE, _In_ LPCWSTR, _Out_ LPWNDCLASSEXW)
HCURSOR WINAPI LoadCursorW(_In_opt_ HINSTANCE, _In_ LPCWSTR)
ATOM WINAPI RegisterClassExW(_In_ CONST WNDCLASSEXW *)
Referenced by test_winclassinfo().
◆ AtlModuleRevokeClassObjects()
◆ AtlModuleTerm()
Definition at line 112 of file atl30.c.
113{
115
117
119 {
121
122 while(iter) {
124 tmp = iter;
127 }
128 }
129
131}
#define HeapFree(x, y, z)
_ATL_TERMFUNC_ELEM * m_pTermFuncs
struct _ATL_TERMFUNC_ELEM_TAG * pNext
Referenced by test_term().
◆ AtlModuleUnregisterServer()
◆ AtlModuleUnregisterServerEx()
Definition at line 171 of file atl30.c.
172{
173 FIXME(
"(%p, %i, %p) stub\n", pM, bUnRegTypeLib, pCLSID);
175}
◆ AtlModuleUpdateRegistryFromResourceD()
Definition at line 453 of file atl30.c.
455{
456 TRACE(
"(%p %s %d %p %p)\n", pM,
debugstr_w(lpszRes), bRegister, pMapEntries, pReg);
457
459}
HRESULT WINAPI AtlUpdateRegistryFromResourceD(HINSTANCE inst, LPCOLESTR res, BOOL bRegister, struct _ATL_REGMAP_ENTRY *pMapEntries, IRegistrar *pReg)
◆ DllCanUnloadNow()
◆ DllGetClassObject()
Definition at line 574 of file atl30.c.
575{
577
580
583}
static IClassFactory RegistrarCF
#define IsEqualGUID(rguid1, rguid2)
_In_ void _In_ PCCERT_CONTEXT _In_opt_ LPFILETIME _In_ DWORD _In_ DWORD _Outptr_opt_ void ** ppvObject
◆ DllRegisterServer()
Definition at line 588 of file atl30.c.
589{
590#ifdef __REACTOS__
591
592 return do_register_server(
TRUE);
593#else
595#endif
596}
HRESULT __wine_register_resources(HMODULE module) DECLSPEC_HIDDEN
◆ DllUnregisterServer()
Definition at line 601 of file atl30.c.
602{
603#ifdef __REACTOS__
604 return do_register_server(
FALSE);
605#else
607#endif
608}
HRESULT __wine_unregister_resources(HMODULE module) DECLSPEC_HIDDEN
◆ get_objmap_entry()
◆ RegistrarCF_AddRef()
◆ RegistrarCF_CreateInstance()
Definition at line 484 of file atl30.c.
486{
489
491
492 if(pUnkOuter) {
495 }
496
500
501 hres = IRegistrar_QueryInterface(registrar,
riid,
ppv);
502 IRegistrar_Release(registrar);
504}
HRESULT WINAPI AtlCreateRegistrar(IRegistrar **ret)
#define CLASS_E_NOAGGREGATION
◆ RegistrarCF_LockServer()
◆ RegistrarCF_QueryInterface()
Definition at line 461 of file atl30.c.
462{
464
467 IClassFactory_AddRef( iface );
469 }
470
472}
const GUID IID_IClassFactory
◆ RegistrarCF_Release()
◆ WINE_DEFAULT_DEBUG_CHANNEL()
WINE_DEFAULT_DEBUG_CHANNEL |
( |
atl |
| ) |
|
◆ atl_instance
◆ IRegistrarCFVtbl
const IClassFactoryVtbl IRegistrarCFVtbl |
|
static |
Initial value:= {
}
static HRESULT WINAPI RegistrarCF_CreateInstance(IClassFactory *iface, LPUNKNOWN pUnkOuter, REFIID riid, void **ppv)
static ULONG WINAPI RegistrarCF_Release(IClassFactory *iface)
static ULONG WINAPI RegistrarCF_AddRef(IClassFactory *iface)
static HRESULT WINAPI RegistrarCF_LockServer(IClassFactory *iface, BOOL lock)
static HRESULT WINAPI RegistrarCF_QueryInterface(IClassFactory *iface, REFIID riid, void **ppvObject)
Definition at line 512 of file atl30.c.
◆ RegistrarCF