1 #ifndef APPHELP_APITEST_H 2 #define APPHELP_APITEST_H 3 4 #ifdef __cplusplus 5 extern "C" { 6 #endif 7 8 9 /* data.c */ 10 void test_create_db_imp(const WCHAR* name, int win10); 11 DWORD test_get_db_size(); 12 void test_create_exe_imp(const WCHAR* name, int skip_rsrc_exports); 13 void test_create_file_imp(const WCHAR* name, const char* contents, size_t len); 14 void test_create_ne_imp(const WCHAR* name, int skip_names); 15 DWORD get_host_winver(void); 16 DWORD get_module_version(HMODULE mod); 17 void silence_debug_output(void); // Silence output if the environment variable is not set. 18 19 #define test_create_db (winetest_set_location(__FILE__, __LINE__), 0) ? (void)0 : test_create_db_imp 20 #define test_create_exe (winetest_set_location(__FILE__, __LINE__), 0) ? (void)0 : test_create_exe_imp 21 #define test_create_file (winetest_set_location(__FILE__, __LINE__), 0) ? (void)0 : test_create_file_imp 22 #define test_create_ne (winetest_set_location(__FILE__, __LINE__), 0) ? (void)0 : test_create_ne_imp 23 24 25 static DWORD g_WinVersion; 26 27 #define WINVER_ANY 0 28 #define WINVER_WINXP 0x0501 29 #define WINVER_2003 0x0502 30 #define WINVER_VISTA 0x0600 31 #define WINVER_WIN7 0x0601 32 #define WINVER_WIN8 0x0602 33 #define WINVER_WIN10 0x0a00 34 35 36 typedef WORD TAG; 37 typedef DWORD TAGID; 38 typedef DWORD TAGREF; 39 typedef UINT64 QWORD; 40 typedef VOID* PDB; 41 typedef VOID* HSDB; 42 typedef INT PATH_TYPE; 43 44 45 46 #define SDB_MAX_SDBS 16 47 #define SDB_MAX_EXES_VISTA 16 48 #define SDB_MAX_LAYERS 8 49 #define SHIMREG_DISABLE_LAYER (0x00000020) 50 51 #define SDBQUERYRESULT_EXPECTED_SIZE_VISTA 456 52 53 54 55 typedef struct tagSDBQUERYRESULT_VISTA 56 { 57 TAGREF atrExes[SDB_MAX_EXES_VISTA]; 58 DWORD adwExeFlags[SDB_MAX_EXES_VISTA]; 59 TAGREF atrLayers[SDB_MAX_LAYERS]; 60 DWORD dwLayerFlags; 61 TAGREF trApphelp; 62 DWORD dwExeCount; 63 DWORD dwLayerCount; 64 GUID guidID; 65 DWORD dwFlags; 66 DWORD dwCustomSDBMap; 67 GUID rgGuidDB[SDB_MAX_SDBS]; 68 } SDBQUERYRESULT_VISTA, *PSDBQUERYRESULT_VISTA; 69 70 71 #define SDBQUERYRESULT_EXPECTED_SIZE_2k3 344 72 73 #define SDB_MAX_EXES_2k3 4 74 75 typedef struct tagSDBQUERYRESULT_2k3 76 { 77 TAGREF atrExes[SDB_MAX_EXES_2k3]; 78 TAGREF atrLayers[SDB_MAX_LAYERS]; 79 DWORD dwLayerFlags; 80 TAGREF trApphelp; // probably? 81 DWORD dwExeCount; 82 DWORD dwLayerCount; 83 GUID guidID; // probably? 84 DWORD dwFlags; // probably? 85 DWORD dwCustomSDBMap; 86 GUID rgGuidDB[SDB_MAX_SDBS]; 87 } SDBQUERYRESULT_2k3, *PSDBQUERYRESULT_2k3; 88 89 90 91 92 93 C_ASSERT(sizeof(SDBQUERYRESULT_VISTA) == SDBQUERYRESULT_EXPECTED_SIZE_VISTA); 94 C_ASSERT(sizeof(SDBQUERYRESULT_2k3) == SDBQUERYRESULT_EXPECTED_SIZE_2k3); 95 96 97 98 99 #ifdef __cplusplus 100 } // extern "C" 101 #endif 102 103 #endif // APPHELP_APITEST_H 104