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>
40 struct _ATL_OBJMAP_ENTRYW;
41 struct _AtlCreateWndData;
42 struct _ATL_TERMFUNC_ELEM;
48 HINSTANCE m_hInstResource;
49 HINSTANCE m_hInstTypeLib;
50 struct _ATL_OBJMAP_ENTRYW* m_pObjMap;
55 CRITICAL_SECTION m_csTypeInfoHolder;
56 CRITICAL_SECTION m_csStaticDataInit;
58 CRITICAL_SECTION m_csWindowCreate;
59 CRITICAL_SECTION m_csObjMap;
62 struct _AtlCreateWndData* m_pCreateWndList;
68 struct _ATL_TERMFUNC_ELEM* m_pTermFuncs;
71 HRESULT WINAPI AtlModuleInit(struct _ATL_MODULEW* pM, struct _ATL_OBJMAP_ENTRYW* p, HINSTANCE h);
74 static void test_StructSize(void)
76 struct _ATL_MODULEW *tst;
80 tst = HeapAlloc (GetProcessHeap(),HEAP_ZERO_MEMORY,MAXSIZE);
82 for (i=0;i<MAXSIZE;i++) {
84 hres = AtlModuleInit(tst, NULL, NULL);
87 case FIELD_OFFSET( struct _ATL_MODULEW, dwAtlBuildVer ):
88 case sizeof(struct _ATL_MODULEW):
90 case sizeof(struct _ATL_MODULEW) + sizeof(void *):
92 ok (hres == S_OK, "AtlModuleInit with %d failed (0x%x).\n", i, (int)hres);
95 ok (FAILED(hres), "AtlModuleInit with %d succeeded? (0x%x).\n", i, (int)hres);