diff --git a/dlls/dbghelp/dbghelp.c b/dlls/dbghelp/dbghelp.c index 5a0d10d4bd1..a5e6beb4a73 100644 --- a/dlls/dbghelp/dbghelp.c +++ b/dlls/dbghelp/dbghelp.c @@ -65,6 +65,7 @@ WINE_DEFAULT_DEBUG_CHANNEL(dbghelp); */ unsigned dbghelp_options = SYMOPT_UNDNAME; +BOOL dbghelp_opt_native = FALSE; static struct process* process_first /* = NULL */; @@ -457,8 +458,19 @@ DWORD WINAPI SymGetOptions(void) */ BOOL WINAPI SymSetExtendedOption(IMAGEHLP_EXTENDED_OPTIONS option, BOOL value) { - FIXME("%d, %d\n", option, value); - return FALSE; + BOOL old = FALSE; + + switch(option) + { + case SYMOPT_EX_WINE_NATIVE_MODULES: + old = dbghelp_opt_native; + dbghelp_opt_native = value; + break; + default: + FIXME("Unsupported option %d with value %d\n", option, value); + } + + return old; } /****************************************************************** @@ -467,7 +479,14 @@ BOOL WINAPI SymSetExtendedOption(IMAGEHLP_EXTENDED_OPTIONS option, BOOL value) */ BOOL WINAPI SymGetExtendedOption(IMAGEHLP_EXTENDED_OPTIONS option) { - FIXME("%d\n", option); + switch(option) + { + case SYMOPT_EX_WINE_NATIVE_MODULES: + return dbghelp_opt_native; + default: + FIXME("Unsupported option %d\n", option); + } + return FALSE; } diff --git a/dlls/dbghelp/dbghelp_private.h b/dlls/dbghelp/dbghelp_private.h index 8083408c660..9e76d2dd4b0 100644 --- a/dlls/dbghelp/dbghelp_private.h +++ b/dlls/dbghelp/dbghelp_private.h @@ -114,6 +114,8 @@ void* hash_table_iter_up(struct hash_table_iter* hti) DECLSPEC_HIDDEN; extern unsigned dbghelp_options DECLSPEC_HIDDEN; +extern BOOL dbghelp_opt_native DECLSPEC_HIDDEN; + /* some more Wine extensions */ #define SYMOPT_WINE_WITH_NATIVE_MODULES 0x40000000 diff --git a/include/dbghelp.h b/include/dbghelp.h index a319385b4a7..1b234899195 100644 --- a/include/dbghelp.h +++ b/include/dbghelp.h @@ -1427,7 +1427,11 @@ typedef struct _IMAGE_DEBUG_INFORMATION typedef enum { SYMOPT_EX_DISABLEACCESSTIMEUPDATE, - SYMOPT_EX_MAX + SYMOPT_EX_MAX, + +#ifdef __WINESRC__ + SYMOPT_EX_WINE_NATIVE_MODULES = 1000, +#endif } IMAGEHLP_EXTENDED_OPTIONS; PIMAGE_DEBUG_INFORMATION WINAPI MapDebugInformation(HANDLE, PCSTR, PCSTR, ULONG);