2016-09-03 16:20:52 +00:00
|
|
|
#ifndef APPHELP_APITEST_H
|
|
|
|
#define APPHELP_APITEST_H
|
|
|
|
|
2016-10-30 19:39:43 +00:00
|
|
|
#ifdef __cplusplus
|
|
|
|
extern "C" {
|
|
|
|
#endif
|
|
|
|
|
2016-09-03 16:20:52 +00:00
|
|
|
/* data.c */
|
2017-06-26 10:26:57 +00:00
|
|
|
void test_create_db_imp(const WCHAR* name, int win10);
|
2016-09-03 16:20:52 +00:00
|
|
|
DWORD test_get_db_size();
|
2017-06-26 10:26:57 +00:00
|
|
|
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);
|
2016-09-03 16:20:52 +00:00
|
|
|
DWORD get_host_winver(void);
|
2016-10-30 19:39:43 +00:00
|
|
|
DWORD get_module_version(HMODULE mod);
|
2016-09-03 16:20:52 +00:00
|
|
|
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
|
|
|
|
|
2023-10-05 13:40:21 +00:00
|
|
|
/* register.cpp */
|
2023-10-05 19:32:26 +00:00
|
|
|
BOOL IsUserAdmin(VOID);
|
2016-09-03 16:20:52 +00:00
|
|
|
|
2023-10-05 19:32:26 +00:00
|
|
|
extern DWORD g_WinVersion;
|
2016-09-03 16:20:52 +00:00
|
|
|
|
|
|
|
#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_WIN10 0x0a00
|
|
|
|
|
2017-06-10 20:31:58 +00:00
|
|
|
|
|
|
|
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);
|
|
|
|
|
|
|
|
|
2016-10-30 19:39:43 +00:00
|
|
|
#ifdef __cplusplus
|
|
|
|
} // extern "C"
|
|
|
|
#endif
|
2016-09-03 16:20:52 +00:00
|
|
|
|
|
|
|
#endif // APPHELP_APITEST_H
|