34#define ATLVer1Size FIELD_OFFSET(_ATL_MODULEW, dwAtlBuildVer)
51 TRACE(
"%p %p %p %p\n", pUnkCP,
pUnk, iid, pdw);
60 hres = IConnectionPointContainer_FindConnectionPoint(
container, iid, &
cp);
61 IConnectionPointContainer_Release(
container);
66 IConnectionPoint_Release(
cp);
79 TRACE(
"%p %p %d\n", pUnkCP, iid,
dw);
88 hres = IConnectionPointContainer_FindConnectionPoint(
container, iid, &
cp);
89 IConnectionPointContainer_Release(
container);
93 hres = IConnectionPoint_Unadvise(
cp,
dw);
94 IConnectionPoint_Release(
cp);
121 FIXME(
"%p %p %p\n", stm, iid, ppUnk);
130 static const WCHAR displayW[] = {
'd',
'i',
's',
'p',
'l',
'a',
'y',0};
138 if (dv->tdDriverNameOffset)
driver = (
WCHAR *)((
char *)dv + dv->tdDriverNameOffset);
139 if (dv->tdDeviceNameOffset)
device = (
WCHAR *)((
char *)dv + dv->tdDeviceNameOffset);
140 if (dv->tdPortNameOffset)
port = (
WCHAR *)((
char *)dv + dv->tdPortNameOffset);
141 if (dv->tdExtDevmodeOffset)
devmode = (
DEVMODEW *)((
char *)dv + dv->tdExtDevmodeOffset);
178 TRACE(
"(%p %p)\n", pp,
p);
180 if (
p) IUnknown_AddRef(
p);
181 if (*pp) IUnknown_Release(*pp);
195 if (
p) IUnknown_QueryInterface(
p,
riid, (
void **)&new_p);
196 if (*pp) IUnknown_Release(*pp);
212 TRACE(
"Returning IUnknown\n");
218 while (pEntries[
i].pFunc != 0)
221 pEntries[
i].
dw, pEntries[
i].pFunc);
226 if (pEntries[
i].pFunc == (_ATL_CREATORARGFUNC*)1)
237 if(rc==
S_OK || pEntries[
i].piid)
243 TRACE(
"Done returning (0x%x)\n",rc);
253 FIXME(
"(%p, %p, %p, %p)\n", pStm, pMap, pThis,
pUnk);
265 FIXME(
"(%p, %d, %p, %p, %p)\n", pStm, fClearDirty, pMap, pThis,
pUnk);
277 FIXME(
"(%p, %p, %p, %p, %p)\n", pPropBag, pErrorLog, pMap, pThis,
pUnk);
289 FIXME(
"(%p, %d, %d, %p, %p, %p)\n", pPropBag, fClearDirty, fSaveAll, pMap, pThis,
pUnk);
305 termfunc_elem->
pFunc = pFunc;
306 termfunc_elem->
dw =
dw;
315#if _ATL_VER > _ATL_VER_30
349 static const WCHAR tlb_extW[] = {
'.',
't',
'l',
'b',0};
351 TRACE(
"(%p %s %p %p)\n", inst,
debugstr_w(lpszIndex), pbstrPath, ppTypeLib);
353 index_len = lpszIndex ?
lstrlenW(lpszIndex) : 0;
394#if _ATL_VER <= _ATL_VER_80
419#if _ATL_VER > _ATL_VER_30
426 TRACE(
"(%p)\n", winmod);
428 if(winmod->
cbSize !=
sizeof(*winmod))
443 pData->m_pThis = pvObject;
460 TRACE(
"(%p)\n", winmod);
483#if _ATL_VER < _ATL_VER_110
494 for(iter =
pm->m_ppAutoObjMapFirst; iter < pm->m_ppAutoObjMapLast; iter++) {
495 if(
IsEqualCLSID((*iter)->pclsid, rclsid) && (*iter)->pfnGetClassObject) {
497 hres = (*iter)->pfnGetClassObject((*iter)->pfnCreateInstance, &
IID_IUnknown, (
void**)&(*iter)->pCF);
499 hres = IUnknown_QueryInterface((*iter)->pCF,
riid,
ppv);
519 for(iter =
pm->m_ppAutoObjMapFirst; iter < pm->m_ppAutoObjMapLast; iter++) {
520 if(
IsEqualCLSID((*iter)->pclsid, rclsid) && (*iter)->pfnGetClassObject) {
521 if(!(*iter)->pCache->pCF)
522 hres = (*iter)->pfnGetClassObject((*iter)->pfnCreateInstance, &
IID_IUnknown, (
void**)&(*iter)->pCache->pCF);
523 if((*iter)->pCache->pCF)
524 hres = IUnknown_QueryInterface((*iter)->pCache->pCF,
riid,
ppv);
538#if _ATL_VER < _ATL_VER_110
550 for(iter =
module->m_ppAutoObjMapFirst; iter < module->m_ppAutoObjMapLast; iter++) {
551 if(!(*iter)->pfnGetClassObject)
554 hres = (*iter)->pfnGetClassObject((*iter)->pfnCreateInstance, &
IID_IUnknown, (
void**)&unk);
559 IUnknown_Release(unk);
578 for(iter =
module->m_ppAutoObjMapFirst; iter < module->m_ppAutoObjMapLast; iter++) {
579 if(!(*iter)->pfnGetClassObject)
582 hres = (*iter)->pfnGetClassObject((*iter)->pfnCreateInstance, &
IID_IUnknown, (
void**)&unk);
587 IUnknown_Release(unk);
599#if _ATL_VER < _ATL_VER_110
610 for(iter =
module->m_ppAutoObjMapFirst; iter < module->m_ppAutoObjMapLast; iter++) {
629 for(iter =
module->m_ppAutoObjMapFirst; iter < module->m_ppAutoObjMapLast; iter++) {
642#if _ATL_VER < _ATL_VER_110
651 for(iter =
mod->m_ppAutoObjMapFirst; iter < mod->m_ppAutoObjMapLast; iter++) {
657 catmap = (*iter)->pfnGetCategoryMap();
664 hres = (*iter)->pfnUpdateRegistry(
FALSE);
700 for(iter =
mod->m_ppAutoObjMapFirst; iter < mod->m_ppAutoObjMapLast; iter++) {
706 catmap = (*iter)->pfnGetCategoryMap();
713 hres = (*iter)->pfnUpdateRegistry(
FALSE);
761 &IID_ICatRegister, (
void**)&new_catreg);
766 ICatRegister_Release(new_catreg);
788 WCHAR reg_path[256] = {
'C',
'L',
'S',
'I',
'D',
'\\'}, *
ptr = reg_path+6;
790 static const WCHAR implemented_catW[] =
791 {
'I',
'm',
'p',
'l',
'e',
'm',
'e',
'n',
't',
'e',
'd',
' ',
'C',
'a',
't',
'e',
'g',
'o',
'r',
'i',
'e',
's',0};
792 static const WCHAR required_catW[] =
793 {
'R',
'e',
'q',
'u',
'i',
'r',
'e',
'd',
' ',
'C',
'a',
't',
'e',
'g',
'o',
'r',
'i',
'e',
's',0};
798 memcpy(
ptr, implemented_catW,
sizeof(implemented_catW));
801 memcpy(
ptr, required_catW,
sizeof(required_catW));
854 for(
i=0;
i <
attr->cImplTypes;
i++) {
856 if(
SUCCEEDED(
hres) && type_flags == (IMPLTYPEFLAG_FSOURCE|IMPLTYPEFLAG_FDEFAULT)) {
876 hres = ITypeInfo_GetTypeAttr(src_typeinfo, &
attr);
879 ITypeInfo_ReleaseTypeAttr(src_typeinfo,
attr);
881 ITypeInfo_Release(src_typeinfo);
904 IDispatch_Release(disp);
928 hres = IProvideClassInfo2_GetGUID(
classinfo, GUIDKIND_DEFAULT_SOURCE_DISP_IID, iid);
938 hres = IPersist_GetClassID(persist, &
clsid);
941 IPersist_Release(persist);
947#if _ATL_VER >= _ATL_VER90
963 FIXME(
"stub: returning false\n");
991 ICatRegister_Release(
catreg);
std::map< E_MODULE, HMODULE > mod
static void * heap_alloc(size_t len)
static BOOL heap_free(void *mem)
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
LONG WINAPI RegDeleteKeyW(_In_ HKEY hKey, _In_ LPCWSTR lpSubKey)
IUnknown *WINAPI AtlComQIPtrAssign(IUnknown **pp, IUnknown *p, REFIID riid)
HRESULT WINAPI AtlModuleAddTermFunc(_ATL_MODULE *pM, _ATL_TERMFUNC *pFunc, DWORD_PTR dw)
static ICatRegister * catreg
HRESULT WINAPI AtlSetPerUserRegistration(cpp_bool bEnable)
HRESULT WINAPI AtlIPersistStreamInit_Save(LPSTREAM pStm, BOOL fClearDirty, ATL_PROPMAP_ENTRY *pMap, void *pThis, IUnknown *pUnk)
HRESULT WINAPI AtlAdvise(IUnknown *pUnkCP, IUnknown *pUnk, const IID *iid, DWORD *pdw)
HRESULT WINAPI AtlIPersistPropertyBag_Save(LPPROPERTYBAG pPropBag, BOOL fClearDirty, BOOL fSaveAll, ATL_PROPMAP_ENTRY *pMap, void *pThis, IUnknown *pUnk)
HRESULT WINAPI AtlIPersistStreamInit_Load(LPSTREAM pStm, ATL_PROPMAP_ENTRY *pMap, void *pThis, IUnknown *pUnk)
BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
HRESULT WINAPI AtlUnadvise(IUnknown *pUnkCP, const IID *iid, DWORD dw)
DWORD WINAPI AtlGetVersion(void *pReserved)
HRESULT WINAPI AtlGetObjectSourceInterface(IUnknown *unk, GUID *libid, IID *iid, unsigned short *major, unsigned short *minor)
HRESULT WINAPI AtlFreeMarshalStream(IStream *stm)
HRESULT WINAPI AtlRegisterClassCategoriesHelper(REFCLSID clsid, const struct _ATL_CATMAP_ENTRY *catmap, BOOL reg)
static HRESULT get_default_source(ITypeLib *typelib, const CLSID *clsid, IID *iid)
HRESULT WINAPI AtlIPersistPropertyBag_Load(LPPROPERTYBAG pPropBag, LPERRORLOG pErrorLog, ATL_PROPMAP_ENTRY *pMap, void *pThis, IUnknown *pUnk)
HRESULT WINAPI AtlMarshalPtrInProc(IUnknown *pUnk, const IID *iid, IStream **pstm)
IUnknown *WINAPI AtlComPtrAssign(IUnknown **pp, IUnknown *p)
HDC WINAPI AtlCreateTargetDC(HDC hdc, DVTARGETDEVICE *dv)
HRESULT WINAPI AtlUnmarshalPtr(IStream *stm, const IID *iid, IUnknown **ppUnk)
HRESULT WINAPI AtlGetPerUserRegistration(cpp_bool *pbEnabled)
HRESULT WINAPI AtlLoadTypeLib(HINSTANCE inst, LPCOLESTR lpszIndex, BSTR *pbstrPath, ITypeLib **ppTypeLib)
void WINAPI AtlHiMetricToPixel(const SIZEL *lpHiMetric, SIZEL *lpPix)
HRESULT WINAPI AtlRegisterTypeLib(HINSTANCE inst, const WCHAR *index)
BOOL WINAPI AtlWaitWithMessageLoop(HANDLE handle)
HRESULT WINAPI AtlInternalQueryInterface(void *this, const _ATL_INTMAP_ENTRY *pEntries, REFIID iid, void **ppvObject)
void WINAPI AtlPixelToHiMetric(const SIZEL *lpPix, SIZEL *lpHiMetric)
#define DLL_PROCESS_ATTACH
#define DLL_PROCESS_DETACH
#define HeapFree(x, y, z)
DWORD WINAPI GetModuleFileNameW(HINSTANCE hModule, LPWSTR lpFilename, DWORD nSize)
BOOL WINAPI DisableThreadLibraryCalls(IN HMODULE hLibModule)
HRESULT WINAPI CoRegisterClassObject(REFCLSID rclsid, LPUNKNOWN pUnk, DWORD dwClsContext, DWORD flags, LPDWORD lpdwRegister)
HRESULT WINAPI DECLSPEC_HOTPATCH CoCreateInstance(REFCLSID rclsid, LPUNKNOWN pUnkOuter, DWORD dwClsContext, REFIID iid, LPVOID *ppv)
HRESULT WINAPI DECLSPEC_HOTPATCH CoRevokeClassObject(DWORD dwRegister)
INT WINAPI StringFromGUID2(REFGUID id, LPOLESTR str, INT cmax)
HRESULT WINAPI RegisterTypeLib(ITypeLib *ptlib, const WCHAR *szFullPath, const WCHAR *szHelpDir)
HRESULT WINAPI UnRegisterTypeLib(REFGUID libid, WORD wVerMajor, WORD wVerMinor, LCID lcid, SYSKIND syskind)
HRESULT WINAPI LoadTypeLib(const OLECHAR *szFile, ITypeLib **pptLib)
static void *static void *static LPDIRECTPLAY IUnknown * pUnk
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
HRESULT WINAPI AtlComModuleRegisterClassObjects(_ATL_COM_MODULE *, DWORD, DWORD)
HRESULT WINAPI AtlWinModuleInit(_ATL_WIN_MODULE *)
void WINAPI AtlWinModuleAddCreateWndData(_ATL_WIN_MODULE *, _AtlCreateWndData *, void *)
#define _ATL_CATMAP_ENTRY_END
REFIID LPVOID DWORD_PTR dw
void *WINAPI AtlWinModuleExtractCreateWndData(_ATL_WIN_MODULE *)
HRESULT WINAPI AtlComModuleUnregisterServer(_ATL_COM_MODULE *, BOOL, const CLSID *)
void WINAPI AtlCallTermFunc(_ATL_MODULE *)
HRESULT WINAPI AtlComModuleGetClassObject(_ATL_COM_MODULE *, REFCLSID, REFIID, void **)
#define _ATL_CATMAP_ENTRY_IMPLEMENTED
#define InterlockedCompareExchangePointer
static IN DWORD IN LPVOID lpvReserved
#define memcpy(s1, s2, n)
static const WCHAR displayW[]
struct @1673::@1674 driver
HRESULT WINAPI AtlComModuleRevokeClassObjects(_ATL_COM_MODULE *module)
interface IStream * LPSTREAM
BSTR WINAPI SysAllocString(LPCOLESTR str)
void WINAPI DECLSPEC_HOTPATCH SysFreeString(BSTR str)
const GUID IID_IConnectionPointContainer
const GUID IID_IProvideClassInfo2
#define IsEqualGUID(rguid1, rguid2)
#define IsEqualCLSID(rclsid1, rclsid2)
_ATL_CREATORARGFUNC * pFunc
_ATL_TERMFUNC_ELEM * m_pTermFuncs
struct _ATL_TERMFUNC_ELEM_TAG * pNext
CComCriticalSection m_csWindowCreate
_AtlCreateWndData * m_pCreateWndList
struct _AtlCreateWndData_TAG * m_pNext
VOID WINAPI InitializeCriticalSection(OUT LPCRITICAL_SECTION lpCriticalSection)
TW_UINT32 TW_UINT16 TW_UINT16 TW_MEMREF pData
TW_UINT32 TW_UINT16 TW_UINT16 MSG
DWORD WINAPI GetLastError(void)
DWORD WINAPI GetCurrentThreadId(void)
void WINAPI LeaveCriticalSection(LPCRITICAL_SECTION)
void WINAPI EnterCriticalSection(LPCRITICAL_SECTION)
_In_ void _In_ PCCERT_CONTEXT _In_opt_ LPFILETIME _In_ DWORD _In_ DWORD _Outptr_opt_ void ** ppvObject
#define HRESULT_FROM_WIN32(x)
#define CLASS_E_CLASSNOTAVAILABLE
int WINAPI GetDeviceCaps(_In_opt_ HDC, _In_ int)
HDC WINAPI CreateDCW(_In_opt_ LPCWSTR pszDriver, _In_opt_ LPCWSTR pszDevice, _In_opt_ LPCWSTR psz, _In_opt_ const DEVMODEW *pdmInit)
#define HKEY_CLASSES_ROOT
int WINAPI ReleaseDC(_In_opt_ HWND, _In_ HDC)
BOOL WINAPI TranslateMessage(_In_ const MSG *)
BOOL WINAPI GetMessageW(_Out_ LPMSG, _In_opt_ HWND, _In_ UINT, _In_ UINT)
DWORD WINAPI MsgWaitForMultipleObjects(_In_ DWORD nCount, _In_reads_opt_(nCount) CONST HANDLE *pHandles, _In_ BOOL fWaitAll, _In_ DWORD dwMilliseconds, _In_ DWORD dwWakeMask)
HDC WINAPI GetDC(_In_opt_ HWND)
LRESULT WINAPI DispatchMessageW(_In_ const MSG *)