[GDI32_APITEST] Fix MSVC build
[reactos.git] / modules / rostests / apitests / advapi32 / RegOpenKeyExW.c
1 /*
2 * PROJECT: ReactOS api tests
3 * LICENSE: GPLv2+ - See COPYING in the top level directory
4 * PURPOSE: Test for the RegOpenKeyExW alignment
5 * PROGRAMMER: Mark Jansen (mark.jansen@reactos.org)
6 */
7
8 #include "precomp.h"
9
10 #define TEST_STR L".exe"
11
12 START_TEST(RegOpenKeyExW)
13 {
14 char GccShouldNotAlignThis[20 * 2];
15 char GccShouldNotAlignThis2[20];
16 PVOID Alias = GccShouldNotAlignThis + 1;
17 PVOID UnalignedKey = GccShouldNotAlignThis2 + 1;
18 HKEY hk;
19 LONG lRes;
20
21 memcpy(Alias, TEST_STR, sizeof(TEST_STR));
22
23 lRes = RegOpenKeyExW(HKEY_CLASSES_ROOT, TEST_STR, 0, KEY_READ, &hk);
24 ok_int(lRes, ERROR_SUCCESS);
25 if (lRes)
26 return;
27 RegCloseKey(hk);
28
29 ok_hex(((ULONG_PTR)Alias) % 2, 1);
30 lRes = RegOpenKeyExW(HKEY_CLASSES_ROOT, Alias, 0, KEY_READ, &hk);
31 ok_int(lRes, ERROR_SUCCESS);
32 if (!lRes)
33 RegCloseKey(hk);
34
35 ok_hex(((ULONG_PTR)UnalignedKey) % 2, 1);
36 lRes = RegOpenKeyExW(HKEY_CLASSES_ROOT, TEST_STR, 0, KEY_READ, UnalignedKey);
37 ok_int(lRes, ERROR_SUCCESS);
38 if (!lRes)
39 {
40 RegCloseKey(*(HKEY*)(UnalignedKey));
41 }
42 }