mirror of
https://github.com/ApfelTeeSaft/reactos.git
synced 2026-09-02 04:13:34 +00:00
* Disable most apphelp:env and some apphelp:db tests on x64 due to structure differences breaking these tests. * Add new tag lists for Windows 8.1 and Windows 10 in apphelp:apphelp test. * Make a few changes to accept either Windows 10 or Windows 8.1 and older behavior in apphelp:apphelp test. * Create new shimdata structures for Windows 8 and Windows Vista. * Add attribute size definitions for Vista, 8.1, and 10. * Create new shim data validation functions for Vista and 8.1. * Use local time instead of UTC time for shim db version. This fixes test failures when the day in local time and the day in UTC are different.
96 lines
2.7 KiB
C
96 lines
2.7 KiB
C
#ifndef APPHELP_APITEST_H
|
|
#define APPHELP_APITEST_H
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
/* data.c */
|
|
void test_create_db_imp(const WCHAR* name, int win10);
|
|
DWORD test_get_db_size();
|
|
void test_create_exe_imp(const WCHAR* name, int skip_rsrc_exports);
|
|
void test_create_file_imp(const WCHAR* name, const char* contents, size_t len);
|
|
void test_create_ne_imp(const WCHAR* name, int skip_names);
|
|
DWORD get_host_winver(void);
|
|
DWORD get_module_version(HMODULE mod);
|
|
void silence_debug_output(void); // Silence output if the environment variable is not set.
|
|
|
|
#define test_create_db (winetest_set_location(__FILE__, __LINE__), 0) ? (void)0 : test_create_db_imp
|
|
#define test_create_exe (winetest_set_location(__FILE__, __LINE__), 0) ? (void)0 : test_create_exe_imp
|
|
#define test_create_file (winetest_set_location(__FILE__, __LINE__), 0) ? (void)0 : test_create_file_imp
|
|
#define test_create_ne (winetest_set_location(__FILE__, __LINE__), 0) ? (void)0 : test_create_ne_imp
|
|
|
|
/* register.cpp */
|
|
BOOL IsUserAdmin(VOID);
|
|
|
|
extern DWORD g_WinVersion;
|
|
|
|
#define WINVER_ANY 0
|
|
#define WINVER_WINXP 0x0501
|
|
#define WINVER_2003 0x0502
|
|
#define WINVER_VISTA 0x0600
|
|
#define WINVER_WIN7 0x0601
|
|
#define WINVER_WIN8 0x0602
|
|
#define WINVER_WIN81 0x0603
|
|
#define WINVER_WIN10 0x0a00
|
|
|
|
|
|
typedef WORD TAG;
|
|
typedef DWORD TAGID;
|
|
typedef DWORD TAGREF;
|
|
typedef UINT64 QWORD;
|
|
typedef VOID* PDB;
|
|
typedef VOID* HSDB;
|
|
typedef INT PATH_TYPE;
|
|
|
|
|
|
#define SDB_MAX_SDBS 16
|
|
#define SDB_MAX_EXES_VISTA 16
|
|
#define SDB_MAX_LAYERS 8
|
|
#define SHIMREG_DISABLE_LAYER (0x00000020)
|
|
|
|
#define SDBQUERYRESULT_EXPECTED_SIZE_VISTA 456
|
|
|
|
typedef struct tagSDBQUERYRESULT_VISTA
|
|
{
|
|
TAGREF atrExes[SDB_MAX_EXES_VISTA];
|
|
DWORD adwExeFlags[SDB_MAX_EXES_VISTA];
|
|
TAGREF atrLayers[SDB_MAX_LAYERS];
|
|
DWORD dwLayerFlags;
|
|
TAGREF trApphelp;
|
|
DWORD dwExeCount;
|
|
DWORD dwLayerCount;
|
|
GUID guidID;
|
|
DWORD dwFlags;
|
|
DWORD dwCustomSDBMap;
|
|
GUID rgGuidDB[SDB_MAX_SDBS];
|
|
} SDBQUERYRESULT_VISTA, *PSDBQUERYRESULT_VISTA;
|
|
|
|
#define SDBQUERYRESULT_EXPECTED_SIZE_2k3 344
|
|
|
|
#define SDB_MAX_EXES_2k3 4
|
|
|
|
typedef struct tagSDBQUERYRESULT_2k3
|
|
{
|
|
TAGREF atrExes[SDB_MAX_EXES_2k3];
|
|
TAGREF atrLayers[SDB_MAX_LAYERS];
|
|
DWORD dwLayerFlags;
|
|
TAGREF trApphelp; // probably?
|
|
DWORD dwExeCount;
|
|
DWORD dwLayerCount;
|
|
GUID guidID; // probably?
|
|
DWORD dwFlags; // probably?
|
|
DWORD dwCustomSDBMap;
|
|
GUID rgGuidDB[SDB_MAX_SDBS];
|
|
} SDBQUERYRESULT_2k3, *PSDBQUERYRESULT_2k3;
|
|
|
|
C_ASSERT(sizeof(SDBQUERYRESULT_VISTA) == SDBQUERYRESULT_EXPECTED_SIZE_VISTA);
|
|
C_ASSERT(sizeof(SDBQUERYRESULT_2k3) == SDBQUERYRESULT_EXPECTED_SIZE_2k3);
|
|
|
|
|
|
#ifdef __cplusplus
|
|
} // extern "C"
|
|
#endif
|
|
|
|
#endif // APPHELP_APITEST_H
|