| 827 | |
| 828 | |
| 829 | HANDLE OpenTokenForCurrentProcess() |
| 830 | { |
| 831 | HANDLE handle = NULL; |
| 832 | |
| 833 | // getting errors using the pseudo-handle on some systems. |
| 834 | HANDLE hProc = OpenProcess(PROCESS_QUERY_INFORMATION, FALSE, GetCurrentProcessId()); |
| 835 | if (!hProc) { |
| 836 | return NULL; |
| 837 | } |
| 838 | |
| 839 | const BOOL op_result = OpenProcessToken(hProc, TOKEN_QUERY, &handle); |
| 840 | |
| 841 | CloseHandle(hProc); |
| 842 | |
| 843 | return op_result ? handle : NULL; |
| 844 | } |
| 845 | |
| 846 | bool GetUserNameFromToken(HANDLE handle, wstring& user, wstring& domain) |
| 847 | { |