obs-ffmpeg, win-capture: Use better default DLL directory settings

This commit is contained in:
Richard Stanway
2026-06-05 15:27:30 -04:00
committed by Ryan Foster
parent 8801dbef06
commit e29a640ddd
3 changed files with 22 additions and 0 deletions
@@ -1152,6 +1152,13 @@ int main(int argc, char *argv[])
char **argv;
SetErrorMode(SEM_FAILCRITICALERRORS);
SetSearchPathMode(BASE_SEARCH_PATH_ENABLE_SAFE_SEARCHMODE | BASE_SEARCH_PATH_PERMANENT);
SetDefaultDllDirectories(LOAD_LIBRARY_SEARCH_DEFAULT_DIRS);
SetDllDirectoryW(L"");
PROCESS_MITIGATION_IMAGE_LOAD_POLICY policy = {0};
policy.PreferSystem32Images = 1;
SetProcessMitigationPolicy(ProcessImageLoadPolicy, &policy, sizeof(policy));
argv = malloc(argc * sizeof(char *));
for (int i = 0; i < argc; i++) {
@@ -17,6 +17,13 @@ int main(int argc, char *argv[])
wc.lpszClassName = DUMMY_WNDCLASS;
SetErrorMode(SEM_FAILCRITICALERRORS);
SetSearchPathMode(BASE_SEARCH_PATH_ENABLE_SAFE_SEARCHMODE | BASE_SEARCH_PATH_PERMANENT);
SetDefaultDllDirectories(LOAD_LIBRARY_SEARCH_DEFAULT_DIRS);
SetDllDirectoryW(L"");
PROCESS_MITIGATION_IMAGE_LOAD_POLICY policy = {0};
policy.PreferSystem32Images = 1;
SetProcessMitigationPolicy(ProcessImageLoadPolicy, &policy, sizeof(policy));
if (!RegisterClassA(&wc)) {
printf("failed to register '%s'\n", DUMMY_WNDCLASS);
@@ -97,6 +97,14 @@ int main(void)
int ret = INJECT_ERROR_INVALID_PARAMS;
SetErrorMode(SEM_FAILCRITICALERRORS);
SetSearchPathMode(BASE_SEARCH_PATH_ENABLE_SAFE_SEARCHMODE | BASE_SEARCH_PATH_PERMANENT);
SetDefaultDllDirectories(LOAD_LIBRARY_SEARCH_DEFAULT_DIRS);
SetDllDirectoryW(L"");
PROCESS_MITIGATION_IMAGE_LOAD_POLICY policy = {0};
policy.PreferSystem32Images = 1;
SetProcessMitigationPolicy(ProcessImageLoadPolicy, &policy, sizeof(policy));
load_debug_privilege();
pCommandLineW = GetCommandLineW();