4 * Copyright 2010 Marcus Meissner
7 * This library is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU Lesser General Public
9 * License as published by the Free Software Foundation; either
10 * version 2.1 of the License, or (at your option) any later version.
12 * This library is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 * Lesser General Public License for more details.
17 * You should have received a copy of the GNU Lesser General Public
18 * License along with this library; if not, write to the Free Software
19 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
27 #include <wine/test.h>
39 struct _ATL_OBJMAP_ENTRYW
;
40 struct _AtlCreateWndData
;
41 struct _ATL_TERMFUNC_ELEM
;
47 HINSTANCE m_hInstResource
;
48 HINSTANCE m_hInstTypeLib
;
49 struct _ATL_OBJMAP_ENTRYW
* m_pObjMap
;
54 CRITICAL_SECTION m_csTypeInfoHolder
;
55 CRITICAL_SECTION m_csStaticDataInit
;
57 CRITICAL_SECTION m_csWindowCreate
;
58 CRITICAL_SECTION m_csObjMap
;
61 struct _AtlCreateWndData
* m_pCreateWndList
;
67 struct _ATL_TERMFUNC_ELEM
* m_pTermFuncs
;
70 HRESULT WINAPI
AtlModuleInit(struct _ATL_MODULEW
* pM
, struct _ATL_OBJMAP_ENTRYW
* p
, HINSTANCE h
);
73 static void test_StructSize(void)
75 struct _ATL_MODULEW
*tst
;
79 tst
= HeapAlloc (GetProcessHeap(),HEAP_ZERO_MEMORY
,MAXSIZE
);
81 for (i
=0;i
<MAXSIZE
;i
++) {
83 hres
= AtlModuleInit(tst
, NULL
, NULL
);
86 case FIELD_OFFSET( struct _ATL_MODULEW
, dwAtlBuildVer
):
87 case sizeof(struct _ATL_MODULEW
):
89 case sizeof(struct _ATL_MODULEW
) + sizeof(void *):
91 ok (hres
== S_OK
, "AtlModuleInit with %d failed (0x%x).\n", i
, (int)hres
);
95 broken((i
> FIELD_OFFSET( struct _ATL_MODULEW
, dwAtlBuildVer
)) && (hres
== S_OK
)), /* Win95 */
96 "AtlModuleInit with %d succeeded? (0x%x).\n", i
, (int)hres
);
101 HeapFree (GetProcessHeap(), 0, tst
);