22 skip(
"OpenProcessToken() has failed to get the process' token (error code: %lu)!\n",
GetLastError());
39 skip(
"DuplicateToken() has failed to get the process' token (error code: %lu)!\n",
GetLastError());
55 skip(
"AdjustTokenPrivileges() has failed to disable the privileges (error code: %lu)!\n",
GetLastError());
static VOID DisableTokenPrivileges(_In_ HANDLE Token)
_IRQL_requires_same_ _In_ PLSA_STRING _In_ SECURITY_LOGON_TYPE _In_ ULONG _In_ ULONG _In_opt_ PTOKEN_GROUPS _In_ PTOKEN_SOURCE _Out_ PVOID _Out_ PULONG _Inout_ PLUID _Out_ PHANDLE Token
NTSTATUS NTAPI NtCompareTokens(_In_ HANDLE FirstTokenHandle, _In_ HANDLE SecondTokenHandle, _Out_ PBOOLEAN Equal)
Compares tokens if they're equal or not.
DWORD WINAPI GetLastError(VOID)
START_TEST(NtCompareTokens)
#define ok_hex(expression, result)
static HANDLE GetDuplicateToken(_In_ HANDLE Token)
BOOL WINAPI DuplicateToken(IN HANDLE ExistingTokenHandle, IN SECURITY_IMPERSONATION_LEVEL ImpersonationLevel, OUT PHANDLE DuplicateTokenHandle)
#define GetCurrentProcess()
BOOL WINAPI AdjustTokenPrivileges(HANDLE TokenHandle, BOOL DisableAllPrivileges, PTOKEN_PRIVILEGES NewState, DWORD BufferLength, PTOKEN_PRIVILEGES PreviousState, PDWORD ReturnLength)
static HANDLE GetTokenFromCurrentProcess(VOID)
#define STATUS_ACCESS_VIOLATION
BOOL WINAPI OpenProcessToken(HANDLE ProcessHandle, DWORD DesiredAccess, PHANDLE TokenHandle)
#define TOKEN_ADJUST_PRIVILEGES