MCPcopy Create free account
hub / github.com/ThirteenAG/WidescreenFixesPack / CreateProcessInJob

Function CreateProcessInJob

includes/stdafx.cpp:411–451  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

409std::map<std::string, std::string> RegistryFallback::s_Defaults;
410
411BOOL CreateProcessInJob(
412 HANDLE hJob,
413 LPCTSTR lpApplicationName,
414 LPTSTR lpCommandLine,
415 LPSECURITY_ATTRIBUTES lpProcessAttributes,
416 LPSECURITY_ATTRIBUTES lpThreadAttributes,
417 BOOL bInheritHandles,
418 DWORD dwCreationFlags,
419 LPVOID lpEnvironment,
420 LPCTSTR lpCurrentDirectory,
421 LPSTARTUPINFO lpStartupInfo,
422 LPPROCESS_INFORMATION ppi)
423{
424 BOOL fRc = CreateProcess(
425 lpApplicationName,
426 lpCommandLine,
427 lpProcessAttributes,
428 lpThreadAttributes,
429 bInheritHandles,
430 dwCreationFlags | CREATE_SUSPENDED,
431 lpEnvironment,
432 lpCurrentDirectory,
433 lpStartupInfo,
434 ppi);
435 if (fRc)
436 {
437 fRc = AssignProcessToJobObject(hJob, ppi->hProcess);
438 if (fRc && !(dwCreationFlags & CREATE_SUSPENDED))
439 {
440 fRc = ResumeThread(ppi->hThread) != (DWORD)-1;
441 }
442 if (!fRc)
443 {
444 TerminateProcess(ppi->hProcess, 0);
445 CloseHandle(ppi->hProcess);
446 CloseHandle(ppi->hThread);
447 ppi->hProcess = ppi->hThread = nullptr;
448 }
449 }
450 return fRc;
451}
452
453BOOL CreateProcessInJobAsAdmin(
454 HANDLE hJob,

Callers 2

InitFunction · 0.85
InitializeASIFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected