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);