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