why está CreateProcessWithTokenW falhando com ERROR_ACCESS_DENIED

Eu tenho uma chamada para CreateProcessWithTokenW que está falhando com o acesso negado. Alguma idéia de como depurar isso?

A chamada para CreateProcessWithTokenW está aqui:https: //github.com/fschwiet/PShochu/blob/master/PShochu/PInvoke/NetWrappers/ProcessUtil.c

Por enquanto, estou usando um token de acesso para o processo atual; eventualmente, usarei um token de outro usuário. Por enquanto estou usandohttps: //github.com/fschwiet/PShochu/blob/master/PShochu/PInvoke/NetWrappers/AccessToken.c para obter o token de acesso.

Se você deseja depurar, abra o código-fonte e execute o build_and_test.ps1. A pilha de erros é:

1) Test Error : PShochu.Tests.can_run_remote_interactive_tasks, given a psake script which writes the current process id to output, when that script is invoked interactively, then the script succeeds
   System.ComponentModel.Win32Exception : Access is denied
   at PShochu.PInvoke.NetWrappers.ProcessUtil.CreateProcessWithToken(IntPtr userPrincipalToken, String applicationName,
String applicationCommand, Boolean dontCreateWindow, Boolean createWithProfile, StreamReader& consoleOutput, StreamReader& errorOutput) in c:\src\PShochu\PShochu\PInvoke\NetWrappers\ProcessUtil.cs:line 52
   at PShochu.ProcessHandling.RunNoninteractiveConsoleProcessForStreams2(String command, String commandArguments, String& newLine) in c:\src\PShochu\PShochu\ProcessHandling.cs:line 36
   at PShochu.ProcessHandling.RunNoninteractiveConsoleProcess(String command, String commandArguments) in c:\src\PShochu\PShochu\ProcessHandling.cs:line 20
   at PShochu.Tests.can_run_remote_interactive_tasks.<>c__DisplayClass16.<>c__DisplayClass18.<Specify>b__2() in c:\src\PShochu\PShochu.Tests\can_run_remote_interactive_tasks.cs:line 27
   at NJasmine.Core.Execution.DescribeState.<>c__DisplayClass7`1.<visitBeforeEach>b__3() in c:\src\NJasmine\NJasmine\Core\Execution\DescribeState.cs:line 62

tualização mais recente: vi em alguns documentos que privilégios adicionais são necessários http: //msdn.microsoft.com/en-us/library/aa374905%28v=vs.85%29.asp). Estou com problemas para obter testes para verificar se tenho esses valores mobiliários individuais (eles são definidos em secpol.msc pré-reinicialização)

SE_ASSIGNPRIMARYTOKEN_NAME  "Replace a process level token"
SE_TCB_NAME "Act as part of the operatin system"
SE_INCREASE_QUOTA_NAME  "Adjust memory quotas for a process"

Estes testes continuam me dizendo que não tenho as permissões que defini na interface do usuário,https: //github.com/fschwiet/PShochu/blob/master/PShochu.Tests/verify_privileges.c

questionAnswers(1)

yourAnswerToTheQuestion