atl100: Added AtlWinModuleAddCreateWndData implementation (based on AtlModuleAddCreateWndData).

This commit is contained in:
Jacek Caban 2012-12-12 14:56:11 +01:00 committed by Alexandre Julliard
parent 55b0de2173
commit 147dbf63cd
3 changed files with 35 additions and 1 deletions

View File

@ -287,6 +287,22 @@ HRESULT WINAPI AtlLoadTypeLib(HINSTANCE inst, LPCOLESTR lpszIndex,
return S_OK;
}
/***********************************************************************
* AtlWinModuleAddCreateWndData [atl100.43]
*/
void WINAPI AtlWinModuleAddCreateWndData(_ATL_WIN_MODULE *pM, _AtlCreateWndData *pData, void *pvObject)
{
TRACE("(%p, %p, %p)\n", pM, pData, pvObject);
pData->m_pThis = pvObject;
pData->m_dwThreadID = GetCurrentThreadId();
EnterCriticalSection(&pM->m_csWindowCreate);
pData->m_pNext = pM->m_pCreateWndList;
pM->m_pCreateWndList = pData;
LeaveCriticalSection(&pM->m_csWindowCreate);
}
/***********************************************************************
* AtlGetVersion [atl100.@]
*/

View File

@ -26,7 +26,7 @@
40 stdcall AtlAxCreateControlEx(ptr ptr ptr ptr ptr ptr ptr)
41 stdcall AtlAxAttachControl(ptr ptr ptr)
42 stdcall AtlAxWinInit()
43 stub AtlWinModuleAddCreateWndData
43 stdcall AtlWinModuleAddCreateWndData(ptr ptr ptr)
44 stub AtlWinModuleExtractCreateWndData
45 stub AtlWinModuleRegisterWndClassInfoW
46 stub AtlWinModuleRegisterWndClassInfoA

View File

@ -160,6 +160,13 @@ typedef struct _ATL_MODULEW_TAG
_ATL_TERMFUNC_ELEM* m_pTermFuncs;
} _ATL_MODULEW;
typedef struct
{
void *m_aT;
int m_nSize;
int m_nAllocSize;
} CSimpleArray;
typedef struct _ATL_MODULE70
{
UINT cbSize;
@ -168,10 +175,20 @@ typedef struct _ATL_MODULE70
CComCriticalSection m_csStaticDataInitAndTypeInfo;
} _ATL_MODULE70;
typedef struct _ATL_WIN_MODULE70
{
UINT cbSize;
CComCriticalSection m_csWindowCreate;
_AtlCreateWndData *m_pCreateWndList;
CSimpleArray /* <ATOM> */ m_rgWindowClassAtoms;
} _ATL_WIN_MODULE70;
#if _ATL_VER >= _ATL_VER_70
typedef _ATL_MODULE70 _ATL_MODULE;
typedef _ATL_WIN_MODULE70 _ATL_WIN_MODULE;
#else
typedef _ATL_MODULEW _ATL_MODULE;
typedef _ATL_MODULEW _ATL_WIN_MODULE;
#endif
typedef struct _ATL_INTMAP_ENTRY_TAG
@ -195,6 +212,7 @@ 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);
void WINAPI AtlWinModuleAddCreateWndData(_ATL_WIN_MODULE*,_AtlCreateWndData*,void*);
HRESULT WINAPI AtlModuleAddTermFunc(_ATL_MODULE *pM, _ATL_TERMFUNC *pFunc, DWORD_PTR dw);
void WINAPI AtlCallTermFunc(_ATL_MODULE*);
void* WINAPI AtlModuleExtractCreateWndData(_ATL_MODULEW *pM);