title: Getting error - Access is denied in OpenProcess() after enabling privileges
body: <p>I want to get executable path of csrss process. I enabled privileges, but GetLastError() function returns error 5 in OpenProcess. I'm running Visual Studio as administrator and compiling program in 64bit mode, also I'm using Windows 8. Thanks to all. </p>
  
  <pre><code>HANDLE hcurrentProcess=GetCurrentProcess();
  HANDLE hToken;
  size_t error;
  
  if (!OpenProcessToken(hcurrentProcess, TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &amp;hToken))
  return nullptr; 
  
  if (CheckTokenPrivilege(hcurrentProcess, SE_DEBUG_NAME)) {  
  LUID luid;
  
  if (!LookupPrivilegeValue(NULL, SE_DEBUG_NAME, &amp;luid))
      return nullptr;
  
  TOKEN_PRIVILEGES newState,prvsState;
  DWORD length;
  newState.PrivilegeCount = 1;
  newState.Privileges[0].Luid = luid;
  newState.Privileges[0].Attributes = 2;
  
  AdjustTokenPrivileges(hToken, FALSE, &amp;newState, 28, &amp;prvsState, &amp;length);
  error = GetLastError(); //error = 0
  
  if (error == ERROR_NOT_ALL_ASSIGNED)
     return nullptr;
      //OpenProcess(PROCESS_QUERY_INFORMATION | PROCESS_VM_READ, FALSE, 876);  also error 5
  HANDLE  hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, 876); 
  
      error = GetLastError(); }   //  error 5  Access is denied
  </code></pre>