static void check_crashdump(void);
LONG WINAPI vlc_exception_filter(struct _EXCEPTION_POINTERS *lpExceptionInfo);
# endif
-typedef enum _HEAP_INFORMATION_CLASS {
- HeapCompatibilityInformation,
- HeapEnableTerminationOnCorruption
-} HEAP_INFORMATION_CLASS;
-WINBASEAPI BOOL WINAPI HeapSetInformation(HANDLE,HEAP_INFORMATION_CLASS,PVOID,SIZE_T);
#define HeapEnableTerminationOnCorruption (HEAP_INFORMATION_CLASS)1
#endif
int argc;
#ifndef UNDER_CE
HeapSetInformation(NULL, HeapEnableTerminationOnCorruption, NULL, 0);
+
+ HINSTANCE h_Kernel32 = LoadLibraryW(L"kernel32.dll");
+ if(h_Kernel32)
+ {
+ BOOL (WINAPI * mySetProcessDEPPolicy)( DWORD dwFlags);
+# define PROCESS_DEP_ENABLE 1
+
+ mySetProcessDEPPolicy = (BOOL WINAPI (*)(DWORD))
+ GetProcAddress(h_Kernel32, "SetProcessDEPPolicy");
+ if(mySetProcessDEPPolicy)
+ mySetProcessDEPPolicy(PROCESS_DEP_ENABLE);
+ FreeLibrary(h_Kernel32);
+ }
+
wchar_t **wargv = CommandLineToArgvW (GetCommandLine (), &argc);
if (wargv == NULL)
return 1;