ReactOS 0.4.17-dev-736-g75e91de
atlbase.h File Reference
#include <atliface.h>
#include <comcat.h>
Include dependency graph for atlbase.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  _ATL_OBJMAP_ENTRYA_V1_TAG
 
struct  _ATL_OBJMAP_ENTRYW_V1_TAG
 
struct  _ATL_OBJMAP_ENTRYA_TAG
 
struct  _ATL_OBJMAP_ENTRYW_TAG
 
struct  _ATL_OBJMAP_CACHE
 
struct  _ATL_OBJMAP_ENTRY110
 
struct  _ATL_TERMFUNC_ELEM_TAG
 
struct  _AtlCreateWndData_TAG
 
struct  _ATL_MODULEA_TAG
 
struct  _ATL_MODULEW_TAG
 
struct  CSimpleArray
 
struct  _ATL_MODULE70
 
struct  _ATL_WIN_MODULE70
 
struct  _ATL_COM_MODULE70
 
struct  _ATL_INTMAP_ENTRY_TAG
 
struct  _ATL_REGMAP_ENTRY
 
struct  _ATL_CATMAP_ENTRY
 

Macros

#define _ATL_VER_30   0x0300
 
#define _ATL_VER_70   0x0700
 
#define _ATL_VER_80   0x0800
 
#define _ATL_VER_90   0x0900
 
#define _ATL_VER_100   0x0a00
 
#define _ATL_VER_110   0x0b00
 
#define _ATL_VER   _ATL_VER_100
 
#define _ATL_CATMAP_ENTRY_END   0
 
#define _ATL_CATMAP_ENTRY_IMPLEMENTED   1
 
#define _ATL_CATMAP_ENTRY_REQUIRED   2
 

Typedefs

typedef REFIID riid
 
typedef REFIID LPVOIDppv
 
typedef REFIID LPVOID DWORD_PTR dw
 
typedef const struct _ATL_CATMAP_ENTRY *() _ATL_CATMAPFUNC(void)
 
typedef CRITICAL_SECTION CComCriticalSection
 
typedef struct _ATL_OBJMAP_ENTRYA_V1_TAG _ATL_OBJMAP_ENTRYA_V1
 
typedef struct _ATL_OBJMAP_ENTRYW_V1_TAG _ATL_OBJMAP_ENTRYW_V1
 
typedef struct _ATL_OBJMAP_ENTRYA_TAG _ATL_OBJMAP_ENTRYA
 
typedef struct _ATL_OBJMAP_ENTRYW_TAG _ATL_OBJMAP_ENTRYW
 
typedef struct _ATL_OBJMAP_ENTRYW_TAG _ATL_OBJMAP_ENTRY30
 
typedef struct _ATL_OBJMAP_ENTRYW_TAG _ATL_OBJMAP_ENTRY
 
typedef struct _ATL_OBJMAP_CACHE _ATL_OBJMAP_CACHE
 
typedef struct _ATL_OBJMAP_ENTRY110 _ATL_OBJMAP_ENTRY110
 
typedef struct _ATL_OBJMAP_ENTRY110 _ATL_OBJMAP_ENTRY_EX
 
typedef struct _ATL_TERMFUNC_ELEM_TAG _ATL_TERMFUNC_ELEM
 
typedef struct _AtlCreateWndData_TAG _AtlCreateWndData
 
typedef struct _ATL_MODULEA_TAG _ATL_MODULEA
 
typedef struct _ATL_MODULEW_TAG _ATL_MODULEW
 
typedef struct _ATL_MODULE70 _ATL_MODULE70
 
typedef struct _ATL_WIN_MODULE70 _ATL_WIN_MODULE70
 
typedef struct _ATL_COM_MODULE70 _ATL_COM_MODULE70
 
typedef struct _ATL_COM_MODULE70 _ATL_COM_MODULE
 
typedef _ATL_MODULE70 _ATL_MODULE
 
typedef _ATL_WIN_MODULE70 _ATL_WIN_MODULE
 
typedef struct _ATL_INTMAP_ENTRY_TAG _ATL_INTMAP_ENTRY
 

Functions

typedef HRESULT (WINAPI _ATL_CREATORFUNC)(void *pv
 
typedef LPCSTR (WINAPI _ATL_DESCRIPTIONFUNCA)(void)
 
typedef LPCWSTR (WINAPI _ATL_DESCRIPTIONFUNCW)(void)
 
typedef void (WINAPI _ATL_TERMFUNC)(DWORD_PTR dw)
 
HRESULT WINAPI AtlAdvise (IUnknown *pUnkCP, IUnknown *pUnk, const IID *iid, LPDWORD dpw)
 
HRESULT WINAPI AtlAxAttachControl (IUnknown *, HWND, IUnknown **)
 
HRESULT WINAPI AtlAxCreateControl (LPCOLESTR, HWND, IStream *, IUnknown **)
 
HRESULT WINAPI AtlAxCreateControlEx (LPCOLESTR, HWND, IStream *, IUnknown **, IUnknown **, REFIID, IUnknown *)
 
HRESULT WINAPI AtlFreeMarshalStream (IStream *pStream)
 
HRESULT WINAPI AtlInternalQueryInterface (void *pThis, const _ATL_INTMAP_ENTRY *pEntries, REFIID iid, void **ppvObject)
 
HRESULT WINAPI AtlMarshalPtrInProc (IUnknown *pUnk, const IID *iid, IStream **ppStream)
 
void WINAPI AtlModuleAddCreateWndData (_ATL_MODULEW *pM, _AtlCreateWndData *pData, void *pvObject)
 
HRESULT WINAPI AtlWinModuleInit (_ATL_WIN_MODULE *)
 
void WINAPI AtlWinModuleAddCreateWndData (_ATL_WIN_MODULE *, _AtlCreateWndData *, void *)
 
void *WINAPI AtlWinModuleExtractCreateWndData (_ATL_WIN_MODULE *)
 
HRESULT WINAPI AtlModuleAddTermFunc (_ATL_MODULE *pM, _ATL_TERMFUNC *pFunc, DWORD_PTR dw)
 
void WINAPI AtlCallTermFunc (_ATL_MODULE *)
 
void *WINAPI AtlModuleExtractCreateWndData (_ATL_MODULEW *pM)
 
HRESULT WINAPI AtlModuleInit (_ATL_MODULEW *pM, _ATL_OBJMAP_ENTRYW *p, HINSTANCE h)
 
HRESULT WINAPI AtlModuleLoadTypeLib (_ATL_MODULEW *pM, LPCOLESTR lpszIndex, BSTR *pbstrPath, ITypeLib **ppTypeLib)
 
HRESULT WINAPI AtlModuleRegisterClassObjects (_ATL_MODULEW *pM, DWORD dwClsContext, DWORD dwFlags)
 
HRESULT WINAPI AtlModuleRegisterServer (_ATL_MODULEW *pM, BOOL bRegTypeLib, const CLSID *pCLSID)
 
HRESULT WINAPI AtlModuleRegisterTypeLib (_ATL_MODULEW *pM, LPCOLESTR lpszIndex)
 
HRESULT WINAPI AtlModuleUnregisterServer (_ATL_MODULEW *pM, const CLSID *pCLSID)
 
HRESULT WINAPI AtlModuleUpdateRegistryFromResourceD (_ATL_MODULEW *pM, LPCOLESTR lpszRes, BOOL bRegister, struct _ATL_REGMAP_ENTRY *pMapEntries, IRegistrar *pReg)
 
HRESULT WINAPI AtlModuleUnregisterServerEx (_ATL_MODULEW *pM, BOOL bUnRegTypeLib, const CLSID *pCLSID)
 
HRESULT WINAPI AtlModuleTerm (_ATL_MODULEW *pM)
 
HRESULT WINAPI AtlUnadvise (IUnknown *pUnkCP, const IID *iid, DWORD dw)
 
HRESULT WINAPI AtlUnmarshalPtr (IStream *pStream, const IID *iid, IUnknown **ppUnk)
 
HRESULT WINAPI AtlCreateRegistrar (IRegistrar **)
 
HRESULT WINAPI AtlUpdateRegistryFromResourceD (HINSTANCE, LPCOLESTR, BOOL, struct _ATL_REGMAP_ENTRY *, IRegistrar *)
 
HRESULT WINAPI AtlLoadTypeLib (HINSTANCE, LPCOLESTR, BSTR *, ITypeLib **)
 
HRESULT WINAPI AtlRegisterTypeLib (HINSTANCE, LPCOLESTR)
 
HRESULT WINAPI AtlRegisterClassCategoriesHelper (REFCLSID, const struct _ATL_CATMAP_ENTRY *, BOOL)
 
HRESULT WINAPI AtlComModuleGetClassObject (_ATL_COM_MODULE *, REFCLSID, REFIID, void **)
 
HRESULT WINAPI AtlComModuleRegisterClassObjects (_ATL_COM_MODULE *, DWORD, DWORD)
 
HRESULT WINAPI AtlComModuleRevokeClassObjects (_ATL_COM_MODULE *)
 
HRESULT WINAPI AtlComModuleUnregisterServer (_ATL_COM_MODULE *, BOOL, const CLSID *)
 
BOOL WINAPI AtlWaitWithMessageLoop (HANDLE)
 
HRESULT WINAPI AtlGetObjectSourceInterface (IUnknown *, GUID *, IID *, unsigned short *, unsigned short *)
 
HRESULT WINAPI AtlSetPerUserRegistration (unsigned char)
 
HRESULT WINAPI AtlGetPerUserRegistration (unsigned char *)
 

Macro Definition Documentation

◆ _ATL_CATMAP_ENTRY_END

#define _ATL_CATMAP_ENTRY_END   0

Definition at line 253 of file atlbase.h.

◆ _ATL_CATMAP_ENTRY_IMPLEMENTED

#define _ATL_CATMAP_ENTRY_IMPLEMENTED   1

Definition at line 254 of file atlbase.h.

◆ _ATL_CATMAP_ENTRY_REQUIRED

#define _ATL_CATMAP_ENTRY_REQUIRED   2

Definition at line 255 of file atlbase.h.

◆ _ATL_VER

#define _ATL_VER   _ATL_VER_100

Definition at line 36 of file atlbase.h.

◆ _ATL_VER_100

#define _ATL_VER_100   0x0a00

Definition at line 32 of file atlbase.h.

◆ _ATL_VER_110

#define _ATL_VER_110   0x0b00

Definition at line 33 of file atlbase.h.

◆ _ATL_VER_30

#define _ATL_VER_30   0x0300

Definition at line 28 of file atlbase.h.

◆ _ATL_VER_70

#define _ATL_VER_70   0x0700

Definition at line 29 of file atlbase.h.

◆ _ATL_VER_80

#define _ATL_VER_80   0x0800

Definition at line 30 of file atlbase.h.

◆ _ATL_VER_90

#define _ATL_VER_90   0x0900

Definition at line 31 of file atlbase.h.

Typedef Documentation

◆ _ATL_CATMAPFUNC

typedef const struct _ATL_CATMAP_ENTRY *() _ATL_CATMAPFUNC(void)

Definition at line 43 of file atlbase.h.

◆ _ATL_COM_MODULE

◆ _ATL_COM_MODULE70

◆ _ATL_INTMAP_ENTRY

◆ _ATL_MODULE

Definition at line 227 of file atlbase.h.

◆ _ATL_MODULE70

◆ _ATL_MODULEA

◆ _ATL_MODULEW

◆ _ATL_OBJMAP_CACHE

◆ _ATL_OBJMAP_ENTRY

◆ _ATL_OBJMAP_ENTRY110

◆ _ATL_OBJMAP_ENTRY30

◆ _ATL_OBJMAP_ENTRY_EX

◆ _ATL_OBJMAP_ENTRYA

◆ _ATL_OBJMAP_ENTRYA_V1

◆ _ATL_OBJMAP_ENTRYW

◆ _ATL_OBJMAP_ENTRYW_V1

◆ _ATL_TERMFUNC_ELEM

◆ _ATL_WIN_MODULE

Definition at line 228 of file atlbase.h.

◆ _ATL_WIN_MODULE70

◆ _AtlCreateWndData

◆ CComCriticalSection

Definition at line 47 of file atlbase.h.

◆ dw

Definition at line 40 of file atlbase.h.

◆ ppv

typedef REFIID LPVOID * ppv

Definition at line 39 of file atlbase.h.

◆ riid

typedef REFIID riid

Definition at line 39 of file atlbase.h.

Function Documentation

◆ AtlAdvise()

HRESULT WINAPI AtlAdvise ( IUnknown pUnkCP,
IUnknown pUnk,
const IID iid,
LPDWORD  dpw 
)

◆ AtlAxAttachControl()

HRESULT WINAPI AtlAxAttachControl ( IUnknown control,
HWND  hWnd,
IUnknown **  container 
)

Definition at line 1142 of file atl_ax.c.

1143{
1144 HRESULT hr;
1145
1146 TRACE("(%p %p %p)\n", control, hWnd, container);
1147
1148 if (!control)
1149 return E_INVALIDARG;
1150
1152 return hWnd ? hr : S_FALSE;
1153}
HWND hWnd
Definition: settings.c:17
#define E_INVALIDARG
Definition: ddrawi.h:101
HRESULT hr
Definition: delayimp.cpp:582
static HRESULT IOCS_Create(HWND hWnd, IUnknown *pUnkControl, IUnknown **container)
Definition: atl_ax.c:939
#define TRACE(s)
Definition: solgame.cpp:4
Definition: dialog.c:52
#define S_FALSE
Definition: winerror.h:3451

Referenced by AtlAxCreateControlLicEx(), and test_AtlAxAttachControl().

◆ AtlAxCreateControl()

HRESULT WINAPI AtlAxCreateControl ( LPCOLESTR  lpszName,
HWND  hWnd,
IStream pStream,
IUnknown **  ppUnkContainer 
)

Definition at line 982 of file atl_ax.c.

984{
985 return AtlAxCreateControlEx( lpszName, hWnd, pStream, ppUnkContainer,
986 NULL, NULL, NULL );
987}
#define NULL
Definition: types.h:112
HRESULT WINAPI AtlAxCreateControlEx(const WCHAR *lpTricsData, HWND hwnd, IStream *stream, IUnknown **container, IUnknown **control, REFIID iidSink, IUnknown *punkSink)
Definition: atl_ax.c:1468

◆ AtlAxCreateControlEx()

HRESULT WINAPI AtlAxCreateControlEx ( LPCOLESTR  ,
HWND  ,
IStream ,
IUnknown **  ,
IUnknown **  ,
REFIID  ,
IUnknown  
)

◆ AtlCallTermFunc()

void WINAPI AtlCallTermFunc ( _ATL_MODULE )

◆ AtlComModuleGetClassObject()

HRESULT WINAPI AtlComModuleGetClassObject ( _ATL_COM_MODULE ,
REFCLSID  ,
REFIID  ,
void **   
)

◆ AtlComModuleRegisterClassObjects()

HRESULT WINAPI AtlComModuleRegisterClassObjects ( _ATL_COM_MODULE ,
DWORD  ,
DWORD   
)

◆ AtlComModuleRevokeClassObjects()

HRESULT WINAPI AtlComModuleRevokeClassObjects ( _ATL_COM_MODULE )

◆ AtlComModuleUnregisterServer()

HRESULT WINAPI AtlComModuleUnregisterServer ( _ATL_COM_MODULE ,
BOOL  ,
const CLSID  
)

◆ AtlCreateRegistrar()

HRESULT WINAPI AtlCreateRegistrar ( IRegistrar **  ret)

Definition at line 687 of file registrar.c.

688{
689 Registrar *registrar;
690
691 registrar = calloc(1, sizeof(*registrar));
692 if(!registrar)
693 return E_OUTOFMEMORY;
694
695 registrar->IRegistrar_iface.lpVtbl = &RegistrarVtbl;
696 registrar->ref = 1;
697
698 *ret = &registrar->IRegistrar_iface;
699 return S_OK;
700}
IRegistrar IRegistrar_iface
Definition: registrar.c:59
LONG ref
Definition: registrar.c:60
#define E_OUTOFMEMORY
Definition: ddrawi.h:100
static const IRegistrarVtbl RegistrarVtbl
Definition: registrar.c:668
return ret
Definition: mutex.c:147
#define S_OK
Definition: intsafe.h:52
#define calloc
Definition: rosglue.h:14

Referenced by AtlUpdateRegistryFromResourceD(), and RegistrarCF_CreateInstance().

◆ AtlFreeMarshalStream()

HRESULT WINAPI AtlFreeMarshalStream ( IStream pStream)

Definition at line 98 of file atl.c.

99{
100 FIXME("%p\n", stm);
101 return S_OK;
102}
#define FIXME(fmt,...)
Definition: precomp.h:53

◆ AtlGetObjectSourceInterface()

HRESULT WINAPI AtlGetObjectSourceInterface ( IUnknown unk,
GUID libid,
IID iid,
unsigned short major,
unsigned short minor 
)

Definition at line 883 of file atl.c.

884{
888 IPersist *persist;
889 IDispatch *disp;
891
892 TRACE("(%p %p %p %p %p)\n", unk, libid, iid, major, minor);
893
894 hres = IUnknown_QueryInterface(unk, &IID_IDispatch, (void**)&disp);
895 if(FAILED(hres))
896 return hres;
897
898 hres = IDispatch_GetTypeInfo(disp, 0, 0, &typeinfo);
899 IDispatch_Release(disp);
900 if(FAILED(hres))
901 return hres;
902
903 hres = ITypeInfo_GetContainingTypeLib(typeinfo, &typelib, 0);
904 ITypeInfo_Release(typeinfo);
905 if(SUCCEEDED(hres)) {
906 TLIBATTR *attr;
907
908 hres = ITypeLib_GetLibAttr(typelib, &attr);
909 if(SUCCEEDED(hres)) {
910 *libid = attr->guid;
911 *major = attr->wMajorVerNum;
912 *minor = attr->wMinorVerNum;
913 ITypeLib_ReleaseTLibAttr(typelib, attr);
914 }else {
915 ITypeLib_Release(typelib);
916 }
917 }
918 if(FAILED(hres))
919 return hres;
920
921 hres = IUnknown_QueryInterface(unk, &IID_IProvideClassInfo2, (void**)&classinfo);
922 if(SUCCEEDED(hres)) {
923 hres = IProvideClassInfo2_GetGUID(classinfo, GUIDKIND_DEFAULT_SOURCE_DISP_IID, iid);
924 IProvideClassInfo2_Release(classinfo);
925 ITypeLib_Release(typelib);
926 return hres;
927 }
928
929 hres = IUnknown_QueryInterface(unk, &IID_IPersist, (void**)&persist);
930 if(SUCCEEDED(hres)) {
931 CLSID clsid;
932
933 hres = IPersist_GetClassID(persist, &clsid);
934 if(SUCCEEDED(hres))
936 IPersist_Release(persist);
937 }
938
939 return hres;
940}
static HRESULT get_default_source(ITypeLib *typelib, const CLSID *clsid, IID *iid)
Definition: atl.c:831
#define SUCCEEDED(hr)
Definition: intsafe.h:50
#define FAILED(hr)
Definition: intsafe.h:51
HRESULT hres
Definition: protocol.c:465
const CLSID * clsid
Definition: msctf.cpp:50
const GUID IID_IProvideClassInfo2
const GUID IID_IDispatch
const GUID IID_IPersist
Definition: proxy.cpp:14
#define minor(rdev)
Definition: propsheet.cpp:929
#define major(rdev)
Definition: propsheet.cpp:928
Definition: cookie.c:202

Referenced by test_source_iface().

◆ AtlGetPerUserRegistration()

HRESULT WINAPI AtlGetPerUserRegistration ( unsigned char )

◆ AtlInternalQueryInterface()

HRESULT WINAPI AtlInternalQueryInterface ( void pThis,
const _ATL_INTMAP_ENTRY pEntries,
REFIID  iid,
void **  ppvObject 
)

Definition at line 200 of file atl.c.

201{
202 int i = 0;
204 TRACE("(%p, %p, %s, %p)\n",this, pEntries, debugstr_guid(iid), ppvObject);
205
206 if (IsEqualGUID(iid,&IID_IUnknown))
207 {
208 TRACE("Returning IUnknown\n");
209 *ppvObject = ((LPSTR)this+pEntries[0].dw);
210 IUnknown_AddRef((IUnknown*)*ppvObject);
211 return S_OK;
212 }
213
214 while (pEntries[i].pFunc != 0)
215 {
216 TRACE("Trying entry %i (%s %Ix %p)\n",i,debugstr_guid(pEntries[i].piid),
217 pEntries[i].dw, pEntries[i].pFunc);
218
219 if (!pEntries[i].piid || IsEqualGUID(iid,pEntries[i].piid))
220 {
221 TRACE("MATCH\n");
222 if (pEntries[i].pFunc == (_ATL_CREATORARGFUNC*)1)
223 {
224 TRACE("Offset\n");
225 *ppvObject = ((LPSTR)this+pEntries[i].dw);
226 IUnknown_AddRef((IUnknown*)*ppvObject);
227 return S_OK;
228 }
229 else
230 {
231 TRACE("Function\n");
232 rc = pEntries[i].pFunc(this, iid, ppvObject, pEntries[i].dw);
233 if(rc==S_OK || pEntries[i].piid)
234 return rc;
235 }
236 }
237 i++;
238 }
239 TRACE("Done returning (0x%lx)\n",rc);
240 return rc;
241}
const GUID IID_IUnknown
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
Definition: glfuncs.h:248
REFIID LPVOID DWORD_PTR dw
Definition: atlbase.h:40
#define debugstr_guid
Definition: kernel32.h:35
#define IsEqualGUID(rguid1, rguid2)
Definition: guiddef.h:147
_ATL_CREATORARGFUNC * pFunc
Definition: atlbase.h:238
char * LPSTR
Definition: typedefs.h:51
#define E_NOINTERFACE
Definition: winerror.h:3479

◆ AtlLoadTypeLib()

HRESULT WINAPI AtlLoadTypeLib ( HINSTANCE  inst,
LPCOLESTR  lpszIndex,
BSTR pbstrPath,
ITypeLib **  ppTypeLib 
)

Definition at line 337 of file atl.c.

339{
340 size_t path_len, index_len;
342 WCHAR *path;
344
345 TRACE("(%p %s %p %p)\n", inst, debugstr_w(lpszIndex), pbstrPath, ppTypeLib);
346
347 index_len = lpszIndex ? lstrlenW(lpszIndex) : 0;
348 path = malloc((MAX_PATH+index_len)*sizeof(WCHAR) + sizeof(L".tlb"));
349 if(!path)
350 return E_OUTOFMEMORY;
351
353 if(!path_len) {
354 free(path);
356 }
357
358 if(index_len)
359 memcpy(path+path_len, lpszIndex, (index_len+1)*sizeof(WCHAR));
360
362 if(FAILED(hres)) {
363 WCHAR *ptr;
364
365 for(ptr = path+path_len-1; ptr > path && *ptr != '\\' && *ptr != '.'; ptr--);
366 if(*ptr != '.')
367 ptr = path+path_len;
368 lstrcpyW(ptr, L".tlb");
370 }
371
372 if(SUCCEEDED(hres)) {
373 *pbstrPath = SysAllocString(path);
374 if(!*pbstrPath) {
375 ITypeLib_Release(typelib);
377 }
378 }
379
380 free(path);
381 if(FAILED(hres))
382 return hres;
383
384 *ppTypeLib = typelib;
385 return S_OK;
386}
#define free
Definition: debug_ros.c:5
#define malloc
Definition: debug_ros.c:4
#define MAX_PATH
Definition: compat.h:34
#define lstrcpyW
Definition: compat.h:749
#define lstrlenW
Definition: compat.h:750
DWORD WINAPI GetModuleFileNameW(HINSTANCE hModule, LPWSTR lpFilename, DWORD nSize)
Definition: loader.c:600
HRESULT WINAPI LoadTypeLib(const OLECHAR *szFile, ITypeLib **pptLib)
Definition: typelib.c:434
#define L(x)
Definition: resources.c:13
#define debugstr_w
Definition: kernel32.h:32
#define memcpy(s1, s2, n)
Definition: mkisofs.h:878
static PVOID ptr
Definition: dispmode.c:27
static DWORD path_len
Definition: batch.c:31
BSTR WINAPI SysAllocString(LPCOLESTR str)
Definition: oleaut.c:240
short WCHAR
Definition: pedump.c:58
DWORD WINAPI GetLastError(void)
Definition: except.c:1042
static HRESULT HRESULT_FROM_WIN32(unsigned int x)
Definition: winerror.h:210

Referenced by AtlModuleLoadTypeLib(), AtlRegisterTypeLib(), and test_typelib().

◆ AtlMarshalPtrInProc()

HRESULT WINAPI AtlMarshalPtrInProc ( IUnknown pUnk,
const IID iid,
IStream **  ppStream 
)

Definition at line 107 of file atl.c.

108{
109 FIXME("%p %p %p\n", pUnk, iid, pstm);
110 return E_FAIL;
111}
#define E_FAIL
Definition: ddrawi.h:102
static void *static void *static LPDIRECTPLAY IUnknown * pUnk
Definition: dplayx.c:30

◆ AtlModuleAddCreateWndData()

void WINAPI AtlModuleAddCreateWndData ( _ATL_MODULEW pM,
_AtlCreateWndData pData,
void pvObject 
)

Definition at line 399 of file atl30.c.

400{
401 TRACE("(%p, %p, %p)\n", pM, pData, pvObject);
402
403 pData->m_pThis = pvObject;
404 pData->m_dwThreadID = GetCurrentThreadId();
405
407 pData->m_pNext = pM->m_pCreateWndList;
410}
CRITICAL_SECTION m_csWindowCreate
Definition: atlbase.h:170
_AtlCreateWndData * m_pCreateWndList
Definition: atlbase.h:174
TW_UINT32 TW_UINT16 TW_UINT16 TW_MEMREF pData
Definition: twain.h:1830
DWORD WINAPI GetCurrentThreadId(void)
Definition: thread.c:459
void WINAPI LeaveCriticalSection(LPCRITICAL_SECTION)
void WINAPI EnterCriticalSection(LPCRITICAL_SECTION)

Referenced by test_winmodule().

◆ AtlModuleAddTermFunc()

HRESULT WINAPI AtlModuleAddTermFunc ( _ATL_MODULE pM,
_ATL_TERMFUNC *  pFunc,
DWORD_PTR  dw 
)

Definition at line 293 of file atl.c.

294{
295 _ATL_TERMFUNC_ELEM *termfunc_elem;
296
297 TRACE("version %04x (%p %p %Id)\n", _ATL_VER, pM, pFunc, dw);
298
299 if (_ATL_VER > _ATL_VER_30 || pM->cbSize > ATLVer1Size) {
300 termfunc_elem = malloc(sizeof(*termfunc_elem));
301 termfunc_elem->pFunc = pFunc;
302 termfunc_elem->dw = dw;
303 termfunc_elem->pNext = pM->m_pTermFuncs;
304
305 pM->m_pTermFuncs = termfunc_elem;
306 }
307
308 return S_OK;
309}
#define ATLVer1Size
Definition: atl.c:33
#define _ATL_VER_30
Definition: atlbase.h:28
#define _ATL_VER
Definition: atlbase.h:36
UINT cbSize
Definition: atlbase.h:192
_ATL_TERMFUNC_ELEM * m_pTermFuncs
Definition: atlbase.h:194
struct _ATL_TERMFUNC_ELEM_TAG * pNext
Definition: atlbase.h:119
_ATL_TERMFUNC * pFunc
Definition: atlbase.h:117

Referenced by test_term().

◆ AtlModuleExtractCreateWndData()

void *WINAPI AtlModuleExtractCreateWndData ( _ATL_MODULEW pM)

Definition at line 419 of file atl30.c.

420{
422 void *ret = NULL;
423
424 TRACE("(%p)\n", pM);
425
427
428 for(ppData = &pM->m_pCreateWndList; *ppData!=NULL; ppData = &(*ppData)->m_pNext)
429 {
430 if ((*ppData)->m_dwThreadID == GetCurrentThreadId())
431 {
433 *ppData = pData->m_pNext;
434 ret = pData->m_pThis;
435 break;
436 }
437 }
438
440 return ret;
441}
PSDBQUERYRESULT_VISTA PVOID * ppData
Definition: env.c:56

Referenced by test_winmodule().

◆ AtlModuleInit()

HRESULT WINAPI AtlModuleInit ( _ATL_MODULEW pM,
_ATL_OBJMAP_ENTRYW p,
HINSTANCE  h 
)

Definition at line 37 of file atl30.c.

38{
39 INT i;
40 UINT size;
41
42 TRACE("(%p %p %p)\n", pM, p, h);
43
44 size = pM->cbSize;
45 switch (size)
46 {
47 case ATLVer1Size:
48 case sizeof(_ATL_MODULEW):
49#ifdef _WIN64
50 case sizeof(_ATL_MODULEW) + sizeof(void *):
51#endif
52 break;
53 default:
54 WARN("Unknown structure version (size %i)\n",size);
55 return E_INVALIDARG;
56 }
57
58 memset(pM,0,pM->cbSize);
59 pM->cbSize = size;
60 pM->m_hInst = h;
61 pM->m_hInstResource = h;
62 pM->m_hInstTypeLib = h;
63 pM->m_pObjMap = p;
64 pM->m_hHeap = GetProcessHeap();
65
69
70 /* call mains */
71 i = 0;
72 if (pM->m_pObjMap != NULL && size > ATLVer1Size)
73 {
74 while (pM->m_pObjMap[i].pclsid != NULL)
75 {
76 TRACE("Initializing object %i %p\n",i,p[i].pfnObjectMain);
77 if (p[i].pfnObjectMain)
78 p[i].pfnObjectMain(TRUE);
79 i++;
80 }
81 }
82
83 return S_OK;
84}
#define ATLVer1Size
Definition: atl30.c:35
#define WARN(fmt,...)
Definition: precomp.h:61
#define TRUE
Definition: types.h:120
#define GetProcessHeap()
Definition: compat.h:736
GLsizeiptr size
Definition: glext.h:5919
GLfloat GLfloat p
Definition: glext.h:8902
GLfloat GLfloat GLfloat GLfloat h
Definition: glext.h:7723
unsigned int UINT
Definition: sysinfo.c:13
struct _ATL_MODULEW_TAG _ATL_MODULEW
#define memset(x, y, z)
Definition: compat.h:39
HINSTANCE m_hInstResource
Definition: atlbase.h:160
CRITICAL_SECTION m_csTypeInfoHolder
Definition: atlbase.h:167
union _ATL_MODULEW_TAG::@4158 u
HINSTANCE m_hInst
Definition: atlbase.h:159
_ATL_OBJMAP_ENTRYW * m_pObjMap
Definition: atlbase.h:162
CRITICAL_SECTION m_csObjMap
Definition: atlbase.h:171
HINSTANCE m_hInstTypeLib
Definition: atlbase.h:161
HANDLE m_hHeap
Definition: atlbase.h:164
const CLSID * pclsid
Definition: atlbase.h:86
VOID WINAPI InitializeCriticalSection(OUT LPCRITICAL_SECTION lpCriticalSection)
Definition: synch.c:687
int32_t INT
Definition: typedefs.h:58

Referenced by test_StructSize(), test_term(), test_winclassinfo(), and test_winmodule().

◆ AtlModuleLoadTypeLib()

HRESULT WINAPI AtlModuleLoadTypeLib ( _ATL_MODULEW pM,
LPCOLESTR  lpszIndex,
BSTR pbstrPath,
ITypeLib **  ppTypeLib 
)

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)
105 return E_INVALIDARG;
106
107 return AtlLoadTypeLib(pM->m_hInstTypeLib, lpszIndex, pbstrPath, ppTypeLib);
108}
HRESULT WINAPI AtlLoadTypeLib(HINSTANCE inst, LPCOLESTR lpszIndex, BSTR *pbstrPath, ITypeLib **ppTypeLib)
Definition: atl.c:337

◆ AtlModuleRegisterClassObjects()

HRESULT WINAPI AtlModuleRegisterClassObjects ( _ATL_MODULEW pM,
DWORD  dwClsContext,
DWORD  dwFlags 
)

Definition at line 131 of file atl30.c.

133{
135 int i=0;
136
137 TRACE("(%p %li %li)\n",pM, dwClsContext, dwFlags);
138
139 if (pM == NULL)
140 return E_INVALIDARG;
141
142 while ((obj = get_objmap_entry( pM, i++ )))
143 {
145 HRESULT rc;
146
147 TRACE("Registering object %i\n",i);
148 if (obj->pfnGetClassObject)
149 {
150 rc = obj->pfnGetClassObject(obj->pfnCreateInstance, &IID_IUnknown,
151 (LPVOID*)&pUnknown);
152 if (SUCCEEDED (rc) )
153 {
154 rc = CoRegisterClassObject(obj->pclsid, pUnknown, dwClsContext,
155 dwFlags, &obj->dwRegister);
156
157 if (FAILED (rc) )
158 WARN("Failed to register object %i: 0x%08lx\n", i, rc);
159
160 if (pUnknown)
161 IUnknown_Release(pUnknown);
162 }
163 }
164 }
165
166 return S_OK;
167}
static _ATL_OBJMAP_ENTRYW_V1 * get_objmap_entry(_ATL_MODULEW *mod, unsigned int index)
Definition: atl30.c:86
HRESULT WINAPI CoRegisterClassObject(REFCLSID rclsid, IUnknown *object, DWORD clscontext, DWORD flags, DWORD *cookie)
Definition: combase.c:2970
_In_ PUNKNOWN pUnknown
Definition: drmk.h:76
_In_ LPWSTR _In_ DWORD _In_ DWORD _In_ DWORD dwFlags
Definition: netsh.h:141

◆ AtlModuleRegisterServer()

HRESULT WINAPI AtlModuleRegisterServer ( _ATL_MODULEW pM,
BOOL  bRegTypeLib,
const CLSID pCLSID 
)

Definition at line 179 of file atl30.c.

180{
182 int i;
183 HRESULT hRes;
184
185 TRACE("%p %d %s\n", pM, bRegTypeLib, debugstr_guid(clsid));
186
187 if (pM == NULL)
188 return E_INVALIDARG;
189
190 for (i = 0; (obj = get_objmap_entry( pM, i )) != NULL; i++) /* register CLSIDs */
191 {
192 if (!clsid || IsEqualCLSID(obj->pclsid, clsid))
193 {
194 TRACE("Registering clsid %s\n", debugstr_guid(obj->pclsid));
195 hRes = obj->pfnUpdateRegistry(TRUE); /* register */
196 if (FAILED(hRes))
197 return hRes;
198
199 if(pM->cbSize > ATLVer1Size) {
200 const struct _ATL_CATMAP_ENTRY *catmap;
201
202 catmap = ((const _ATL_OBJMAP_ENTRYW*)obj)->pfnGetCategoryMap();
203 if(catmap) {
204 hRes = AtlRegisterClassCategoriesHelper(obj->pclsid, catmap, TRUE);
205 if(FAILED(hRes))
206 return hRes;
207 }
208 }
209 }
210 }
211
212 if (bRegTypeLib)
213 {
215 if (FAILED(hRes))
216 return hRes;
217 }
218
219 return S_OK;
220}
HRESULT WINAPI AtlRegisterClassCategoriesHelper(REFCLSID clsid, const struct _ATL_CATMAP_ENTRY *catmap, BOOL reg)
Definition: atl.c:747
HRESULT WINAPI AtlRegisterTypeLib(HINSTANCE inst, const WCHAR *index)
Definition: atl.c:393
#define IsEqualCLSID(rclsid1, rclsid2)
Definition: guiddef.h:96
Definition: atlbase.h:248

◆ AtlModuleRegisterTypeLib()

HRESULT WINAPI AtlModuleRegisterTypeLib ( _ATL_MODULEW pM,
LPCOLESTR  lpszIndex 
)

Definition at line 263 of file atl30.c.

264{
265 TRACE("%p %s\n", pm, debugstr_w(lpszIndex));
266
267 if (!pm)
268 return E_INVALIDARG;
269
270 return AtlRegisterTypeLib(pm->m_hInstTypeLib, lpszIndex);
271}
static LPMONITOREX pm
Definition: localmon.c:45

◆ AtlModuleTerm()

HRESULT WINAPI AtlModuleTerm ( _ATL_MODULEW pM)

◆ AtlModuleUnregisterServer()

HRESULT WINAPI AtlModuleUnregisterServer ( _ATL_MODULEW pM,
const CLSID pCLSID 
)

Definition at line 285 of file atl30.c.

286{
287 FIXME("%p %s\n", pm, debugstr_guid(clsid));
288 return E_FAIL;
289}

◆ AtlModuleUnregisterServerEx()

HRESULT WINAPI AtlModuleUnregisterServerEx ( _ATL_MODULEW pM,
BOOL  bUnRegTypeLib,
const CLSID pCLSID 
)

Definition at line 169 of file atl30.c.

170{
171 FIXME("(%p, %i, %p) stub\n", pM, bUnRegTypeLib, pCLSID);
172 return S_OK;
173}

◆ AtlModuleUpdateRegistryFromResourceD()

HRESULT WINAPI AtlModuleUpdateRegistryFromResourceD ( _ATL_MODULEW pM,
LPCOLESTR  lpszRes,
BOOL  bRegister,
struct _ATL_REGMAP_ENTRY pMapEntries,
IRegistrar pReg 
)

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
452 return AtlUpdateRegistryFromResourceD(pM->m_hInst, lpszRes, bRegister, pMapEntries, pReg);
453}
HRESULT WINAPI AtlUpdateRegistryFromResourceD(HINSTANCE inst, LPCOLESTR res, BOOL bRegister, struct _ATL_REGMAP_ENTRY *pMapEntries, IRegistrar *pReg)
Definition: registrar.c:705

◆ AtlRegisterClassCategoriesHelper()

HRESULT WINAPI AtlRegisterClassCategoriesHelper ( REFCLSID  clsid,
const struct _ATL_CATMAP_ENTRY catmap,
BOOL  reg 
)

Definition at line 747 of file atl.c.

748{
749 const struct _ATL_CATMAP_ENTRY *iter;
751
752 TRACE("(%s %p %x)\n", debugstr_guid(clsid), catmap, reg);
753
754 if(!catmap)
755 return S_OK;
756
757 if(!catreg) {
758 ICatRegister *new_catreg;
759
760 hres = CoCreateInstance(&CLSID_StdComponentCategoriesMgr, NULL, CLSCTX_INPROC_SERVER,
761 &IID_ICatRegister, (void**)&new_catreg);
762 if(FAILED(hres))
763 return hres;
764
765 if(InterlockedCompareExchangePointer((void**)&catreg, new_catreg, NULL))
766 ICatRegister_Release(new_catreg);
767 }
768
769 for(iter = catmap; iter->iType != _ATL_CATMAP_ENTRY_END; iter++) {
770 CATID catid = *iter->pcatid; /* For stupid lack of const in ICatRegister declaration. */
771
773 if(reg)
774 hres = ICatRegister_RegisterClassImplCategories(catreg, clsid, 1, &catid);
775 else
776 hres = ICatRegister_UnRegisterClassImplCategories(catreg, clsid, 1, &catid);
777 }else {
778 if(reg)
779 hres = ICatRegister_RegisterClassReqCategories(catreg, clsid, 1, &catid);
780 else
781 hres = ICatRegister_UnRegisterClassReqCategories(catreg, clsid, 1, &catid);
782 }
783 if(FAILED(hres))
784 return hres;
785 }
786
787 if(!reg) {
788 WCHAR reg_path[256] = L"CLSID\\", *ptr = reg_path+6;
789
790 ptr += StringFromGUID2(clsid, ptr, 64)-1;
791 *ptr++ = '\\';
792
793 lstrcpyW(ptr, L"Implemented Categories");
795
796 lstrcpyW(ptr, L"Required Categories");
798 }
799
800 return S_OK;
801}
LONG WINAPI RegDeleteKeyW(_In_ HKEY hKey, _In_ LPCWSTR lpSubKey)
Definition: reg.c:1239
static ICatRegister * catreg
Definition: atl.c:37
INT WINAPI StringFromGUID2(REFGUID guid, LPOLESTR str, INT cmax)
Definition: combase.c:1525
HRESULT WINAPI DECLSPEC_HOTPATCH CoCreateInstance(REFCLSID rclsid, IUnknown *outer, DWORD cls_context, REFIID riid, void **obj)
Definition: combase.c:1685
static int reg
Definition: i386-dis.c:1290
#define _ATL_CATMAP_ENTRY_END
Definition: atlbase.h:253
#define _ATL_CATMAP_ENTRY_IMPLEMENTED
Definition: atlbase.h:254
#define InterlockedCompareExchangePointer
Definition: interlocked.h:144
GUID catid
Definition: msctf.idl:629
const CATID * pcatid
Definition: atlbase.h:250
int iType
Definition: atlbase.h:249
#define HKEY_CLASSES_ROOT
Definition: winreg.h:10

Referenced by AtlComModuleRegisterServer(), AtlModuleRegisterServer(), and test_regcat().

◆ AtlRegisterTypeLib()

HRESULT WINAPI AtlRegisterTypeLib ( HINSTANCE  ,
LPCOLESTR   
)

◆ AtlSetPerUserRegistration()

HRESULT WINAPI AtlSetPerUserRegistration ( unsigned char  )

◆ AtlUnadvise()

HRESULT WINAPI AtlUnadvise ( IUnknown pUnkCP,
const IID iid,
DWORD  dw 
)

Definition at line 70 of file atl.c.

71{
75
76 TRACE("%p %p %ld\n", pUnkCP, iid, dw);
77
78 if(!pUnkCP)
79 return E_INVALIDARG;
80
81 hres = IUnknown_QueryInterface(pUnkCP, &IID_IConnectionPointContainer, (void**)&container);
82 if(FAILED(hres))
83 return hres;
84
85 hres = IConnectionPointContainer_FindConnectionPoint(container, iid, &cp);
86 IConnectionPointContainer_Release(container);
87 if(FAILED(hres))
88 return hres;
89
90 hres = IConnectionPoint_Unadvise(cp, dw);
91 IConnectionPoint_Release(cp);
92 return hres;
93}
POINT cp
Definition: magnifier.c:59
const GUID IID_IConnectionPointContainer

Referenced by CExplorerBand::_DestroyTreeView(), CAddressEditBox::SetOwner(), CBrandBand::SetSite(), CInternetToolbar::SetSite(), and test_cp().

◆ AtlUnmarshalPtr()

HRESULT WINAPI AtlUnmarshalPtr ( IStream pStream,
const IID iid,
IUnknown **  ppUnk 
)

Definition at line 116 of file atl.c.

117{
118 FIXME("%p %p %p\n", stm, iid, ppUnk);
119 return E_FAIL;
120}

◆ AtlUpdateRegistryFromResourceD()

HRESULT WINAPI AtlUpdateRegistryFromResourceD ( HINSTANCE  inst,
LPCOLESTR  res,
BOOL  bRegister,
struct _ATL_REGMAP_ENTRY pMapEntries,
IRegistrar pReg 
)

Definition at line 705 of file registrar.c.

707{
708 const struct _ATL_REGMAP_ENTRY *iter;
710 IRegistrar *registrar;
712
714 FIXME("hinst %p: did not get module name\n", inst);
715 return E_FAIL;
716 }
717
718 TRACE("%p (%s), %s, %d, %p, %p\n", inst, debugstr_w(module_name),
719 debugstr_w(res), bRegister, pMapEntries, pReg);
720
721 if(pReg) {
722 registrar = pReg;
723 }else {
724 hres = AtlCreateRegistrar(&registrar);
725 if(FAILED(hres))
726 return hres;
727 }
728
729 IRegistrar_AddReplacement(registrar, L"MODULE", module_name);
730
731 for (iter = pMapEntries; iter && iter->szKey; iter++)
732 IRegistrar_AddReplacement(registrar, iter->szKey, iter->szData);
733
734 if(bRegister)
735 hres = IRegistrar_ResourceRegisterSz(registrar, module_name, res, L"REGISTRY");
736 else
737 hres = IRegistrar_ResourceUnregisterSz(registrar, module_name, res, L"REGISTRY");
738
739 if(registrar != pReg)
740 IRegistrar_Release(registrar);
741 return hres;
742}
static LPCWSTR LPCWSTR module_name
Definition: db.cpp:171
HRESULT WINAPI AtlCreateRegistrar(IRegistrar **ret)
Definition: registrar.c:687
GLuint res
Definition: glext.h:9613
Definition: atlbase.h:242
LPCOLESTR szKey
Definition: atlbase.h:243
LPCOLESTR szData
Definition: atlbase.h:244

Referenced by AtlModuleUpdateRegistryFromResourceD().

◆ AtlWaitWithMessageLoop()

BOOL WINAPI AtlWaitWithMessageLoop ( HANDLE  handle)

Definition at line 806 of file atl.c.

807{
808 MSG msg;
809 DWORD res;
810
811 TRACE("(%p)\n", handle);
812
813 while(1) {
815 switch(res) {
816 case WAIT_OBJECT_0:
817 return TRUE;
818 case WAIT_OBJECT_0+1:
819 if(GetMessageW(&msg, NULL, 0, 0) < 0)
820 return FALSE;
821
824 break;
825 default:
826 return FALSE;
827 }
828 }
829}
#define msg(x)
Definition: auth_time.c:54
#define FALSE
Definition: types.h:117
#define INFINITE
Definition: serial.h:102
unsigned long DWORD
Definition: ntddk_ex.h:95
TW_UINT32 TW_UINT16 TW_UINT16 MSG
Definition: twain.h:1829
#define WAIT_OBJECT_0
Definition: winbase.h:383
BOOL WINAPI TranslateMessage(_In_ const MSG *)
BOOL WINAPI GetMessageW(_Out_ LPMSG, _In_opt_ HWND, _In_ UINT, _In_ UINT)
#define QS_ALLINPUT
Definition: winuser.h:914
DWORD WINAPI MsgWaitForMultipleObjects(_In_ DWORD nCount, _In_reads_opt_(nCount) CONST HANDLE *pHandles, _In_ BOOL fWaitAll, _In_ DWORD dwMilliseconds, _In_ DWORD dwWakeMask)
LRESULT WINAPI DispatchMessageW(_In_ const MSG *)

◆ AtlWinModuleAddCreateWndData()

void WINAPI AtlWinModuleAddCreateWndData ( _ATL_WIN_MODULE ,
_AtlCreateWndData ,
void  
)

Referenced by test_winmodule().

◆ AtlWinModuleExtractCreateWndData()

void *WINAPI AtlWinModuleExtractCreateWndData ( _ATL_WIN_MODULE )

Referenced by test_winmodule().

◆ AtlWinModuleInit()

HRESULT WINAPI AtlWinModuleInit ( _ATL_WIN_MODULE )

Referenced by test_winmodule().

◆ HRESULT()

typedef HRESULT ( WINAPI  _ATL_CREATORFUNC)

◆ LPCSTR()

typedef LPCSTR ( WINAPI  _ATL_DESCRIPTIONFUNCA)

◆ LPCWSTR()

typedef LPCWSTR ( WINAPI  _ATL_DESCRIPTIONFUNCW)

◆ void()

typedef void ( WINAPI  _ATL_TERMFUNC)