/* * PROJECT: ReactOS api tests * LICENSE: GPLv2+ - See COPYING in the top level directory * PURPOSE: Test for the RegOpenKeyExW alignment * PROGRAMMER: Mark Jansen */ #include #define WIN32_NO_STATUS #include #include struct Unalignment1 { char dum; WCHAR buffer[20]; } Unalignment1; struct Unalignment2 { char dum; HKEY hk; } Unalignment2; #include #define TEST_STR L".exe" START_TEST(RegOpenKeyExW) { struct Unalignment1 un; struct Unalignment2 un2; HKEY hk; LONG lRes; memcpy(un.buffer, TEST_STR, sizeof(TEST_STR)); un2.hk = 0; 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)un.buffer) % 2, 1); lRes = RegOpenKeyExW(HKEY_CLASSES_ROOT, un.buffer, 0, KEY_READ, &hk); ok_int(lRes, ERROR_SUCCESS); if (!lRes) RegCloseKey(hk); ok_hex(((ULONG_PTR)&un2.hk) % 2, 1); lRes = RegOpenKeyExW(HKEY_CLASSES_ROOT, TEST_STR, 0, KEY_READ, &un2.hk); ok_int(lRes, ERROR_SUCCESS); if (!lRes) { hk = un2.hk; RegCloseKey(hk); } }