/* * PROJECT: ReactOS api tests * LICENSE: GPLv2+ - See COPYING in the top level directory * PURPOSE: Test for the RegOpenKeyExW alignment * PROGRAMMER: Mark Jansen (mark.jansen@reactos.org) */ #include "precomp.h" #define TEST_STR L".exe" START_TEST(RegOpenKeyExW) { char GccShouldNotAlignThis[20 * 2]; char GccShouldNotAlignThis2[20]; PVOID Alias = GccShouldNotAlignThis + 1; PVOID UnalignedKey = GccShouldNotAlignThis2 + 1; HKEY hk; LONG lRes; memcpy(Alias, TEST_STR, sizeof(TEST_STR)); lRes = RegOpenKeyExW(HKEY_CLASSES_ROOT, TEST_STR, 0, KEY_READ, &hk); ok_int(lRes, ERROR_SUCCESS); if (lRes) return; RegCloseKey(hk); ok_hex(((ULONG_PTR)Alias) % 2, 1); lRes = RegOpenKeyExW(HKEY_CLASSES_ROOT, Alias, 0, KEY_READ, &hk); ok_int(lRes, ERROR_SUCCESS); if (!lRes) RegCloseKey(hk); ok_hex(((ULONG_PTR)UnalignedKey) % 2, 1); lRes = RegOpenKeyExW(HKEY_CLASSES_ROOT, TEST_STR, 0, KEY_READ, UnalignedKey); ok_int(lRes, ERROR_SUCCESS); if (!lRes) { RegCloseKey(*(HKEY*)(UnalignedKey)); } }