#include <stdio.h>
#include "objidl.h"
#include "rpcproxy.h"
#include "atlbase.h"
#include "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) |
| |
◆ ATLVer1Size
◆ COBJMACROS
◆ AtlModuleAddCreateWndData()
Definition at line 399 of file atl30.c.
400{
402
403 pData->m_pThis = pvObject;
405
410}
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 419 of file atl30.c.
420{
423
425
427
429 {
431 {
435 break;
436 }
437 }
438
441}
PSDBQUERYRESULT_VISTA PVOID * ppData
Referenced by test_winmodule().
◆ AtlModuleGetClassObject()
Definition at line 225 of file atl30.c.
227{
231
233
236
238 {
240 {
241 TRACE(
"found object %i\n",
i);
242 if (
obj->pfnGetClassObject)
243 {
245 hres =
obj->pfnGetClassObject(
obj->pfnCreateInstance,
251 }
252 }
253 }
254
256
258}
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 37 of file atl30.c.
38{
41
42 TRACE(
"(%p %p %p)\n", pM,
p,
h);
43
46 {
49#ifdef _WIN64
51#endif
52 break;
53 default:
54 WARN(
"Unknown structure version (size %i)\n",
size);
56 }
57
65
69
70
73 {
75 {
76 TRACE(
"Initializing object %i %p\n",
i,
p[
i].pfnObjectMain);
77 if (
p[
i].pfnObjectMain)
80 }
81 }
82
84}
GLfloat GLfloat GLfloat GLfloat h
struct _ATL_MODULEW_TAG _ATL_MODULEW
HINSTANCE m_hInstResource
union _ATL_MODULEW_TAG::@4265 u
CRITICAL_SECTION m_csTypeInfoHolder
_ATL_OBJMAP_ENTRYW * m_pObjMap
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 99 of file atl30.c.
101{
102 TRACE(
"(%p, %s, %p, %p)\n", pM,
debugstr_w(lpszIndex), pbstrPath, ppTypeLib);
103
104 if (!pM)
106
108}
HRESULT WINAPI AtlLoadTypeLib(HINSTANCE inst, LPCOLESTR lpszIndex, BSTR *pbstrPath, ITypeLib **ppTypeLib)
◆ AtlModuleRegisterClassObjects()
Definition at line 131 of file atl30.c.
133{
136
138
141
143 {
146
147 TRACE(
"Registering object %i\n",
i);
148 if (
obj->pfnGetClassObject)
149 {
153 {
156
158 WARN(
"Failed to register object %i: 0x%08lx\n",
i, rc);
159
162 }
163 }
164 }
165
167}
HRESULT WINAPI CoRegisterClassObject(REFCLSID rclsid, IUnknown *object, DWORD clscontext, DWORD flags, DWORD *cookie)
_In_ LPWSTR _In_ DWORD _In_ DWORD _In_ DWORD dwFlags
◆ AtlModuleRegisterServer()
Definition at line 179 of file atl30.c.
180{
184
186
189
191 {
193 {
195 hRes =
obj->pfnUpdateRegistry(
TRUE);
197 return hRes;
198
201
203 if(catmap) {
206 return hRes;
207 }
208 }
209 }
210 }
211
212 if (bRegTypeLib)
213 {
216 return hRes;
217 }
218
220}
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 296 of file atl30.c.
297{
299
300 FIXME(
"%p %p %p semi-stub\n",
pm, wci, pProc);
301
303 if (!atom)
304 {
306
308
311
313 {
317 }
318
320 if (!atom)
321 {
326 }
329 }
330
332
333 TRACE(
"returning 0x%04x\n", atom);
334 return atom;
335}
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 355 of file atl30.c.
356{
358
359 FIXME(
"%p %p %p semi-stub\n",
pm, wci, pProc);
360
362 if (!atom)
363 {
365
367
370
372 {
376 }
377
379 if (!atom)
380 {
385 }
388 }
389
391
392 TRACE(
"returning 0x%04x\n", atom);
393 return atom;
394}
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 110 of file atl30.c.
111{
113
115
117 {
119
120 while(iter) {
122 tmp = iter;
125 }
126 }
127
129}
_ATL_TERMFUNC_ELEM * m_pTermFuncs
struct _ATL_TERMFUNC_ELEM_TAG * pNext
Referenced by test_term().
◆ AtlModuleUnregisterServer()
◆ AtlModuleUnregisterServerEx()
Definition at line 169 of file atl30.c.
170{
171 FIXME(
"(%p, %i, %p) stub\n", pM, bUnRegTypeLib, pCLSID);
173}
◆ AtlModuleUpdateRegistryFromResourceD()
Definition at line 447 of file atl30.c.
449{
450 TRACE(
"(%p %s %d %p %p)\n", pM,
debugstr_w(lpszRes), bRegister, pMapEntries, pReg);
451
453}
HRESULT WINAPI AtlUpdateRegistryFromResourceD(HINSTANCE inst, LPCOLESTR res, BOOL bRegister, struct _ATL_REGMAP_ENTRY *pMapEntries, IRegistrar *pReg)
◆ DllGetClassObject()
Definition at line 519 of file atl30.c.
520{
522
525
528}
static IClassFactory RegistrarCF
#define IsEqualGUID(rguid1, rguid2)
◆ get_objmap_entry()
◆ RegistrarCF_AddRef()
◆ RegistrarCF_CreateInstance()
Definition at line 478 of file atl30.c.
480{
483
485
486 if(pUnkOuter) {
489 }
490
494
495 hres = IRegistrar_QueryInterface(registrar,
riid,
ppv);
496 IRegistrar_Release(registrar);
498}
HRESULT WINAPI AtlCreateRegistrar(IRegistrar **ret)
#define CLASS_E_NOAGGREGATION
◆ RegistrarCF_LockServer()
◆ RegistrarCF_QueryInterface()
Definition at line 455 of file atl30.c.
456{
458
460 *ppvObject = iface;
461 IClassFactory_AddRef( iface );
463 }
464
466}
const GUID IID_IClassFactory
◆ RegistrarCF_Release()
◆ WINE_DEFAULT_DEBUG_CHANNEL()
| WINE_DEFAULT_DEBUG_CHANNEL |
( |
atl |
| ) |
|
◆ 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 506 of file atl30.c.
◆ RegistrarCF