| 258 | } |
| 259 | |
| 260 | static BOOL WINAPI |
| 261 | MyCreateProcessWithTokenW(HANDLE hToken, |
| 262 | DWORD dwLogonFlags, |
| 263 | LPCWSTR lpApplicationName, |
| 264 | LPWSTR lpCommandLine, |
| 265 | DWORD dwCreationFlags, |
| 266 | LPVOID lpEnvironment, |
| 267 | LPCWSTR lpCurrentDirectory, |
| 268 | LPSTARTUPINFOW lpStartupInfo, |
| 269 | LPPROCESS_INFORMATION lpProcessInformation) |
| 270 | { |
| 271 | if (VERBOSITY >= 2) { |
| 272 | debugPrintf("inject: intercepting %s(\"%S\", \"%S\", ...)\n", |
| 273 | __FUNCTION__, |
| 274 | lpApplicationName, |
| 275 | lpCommandLine); |
| 276 | } |
| 277 | |
| 278 | BOOL bRet; |
| 279 | bRet = CreateProcessWithTokenW(hToken, |
| 280 | dwLogonFlags, |
| 281 | lpApplicationName, |
| 282 | lpCommandLine, |
| 283 | dwCreationFlags | CREATE_SUSPENDED, |
| 284 | lpEnvironment, |
| 285 | lpCurrentDirectory, |
| 286 | lpStartupInfo, |
| 287 | lpProcessInformation); |
| 288 | |
| 289 | MyCreateProcessCommon(bRet, dwCreationFlags, lpProcessInformation); |
| 290 | |
| 291 | return bRet; |
| 292 | } |
| 293 | |
| 294 | static BOOL WINAPI |
| 295 | MyCreateProcessWithLogonW(LPCWSTR lpUsername, |
nothing calls this directly
no test coverage detected