/* * PROJECT: ReactOS api tests * LICENSE: LGPLv2.1+ - See COPYING.LIB in the top level directory * PURPOSE: Test for NtOpenProcessToken[Ex] * PROGRAMMER: Thomas Faber */ #include "precomp.h" START_TEST(NtOpenProcessToken) { NTSTATUS Status; HANDLE TokenHandle; Status = NtOpenProcessToken(NtCurrentProcess(), TOKEN_READ, &TokenHandle); ok(Status == STATUS_SUCCESS, "Status = %lx\n", Status); if (NT_SUCCESS(Status)) { ok((LONG_PTR)TokenHandle > 0, "TokenHandle = %p\n", TokenHandle); Status = NtClose(TokenHandle); ok(Status == STATUS_SUCCESS, "Status = %lx\n", Status); } Status = NtOpenProcessTokenEx(NtCurrentProcess(), TOKEN_READ, 0, &TokenHandle); ok(Status == STATUS_SUCCESS, "Status = %lx\n", Status); if (NT_SUCCESS(Status)) { ok((LONG_PTR)TokenHandle > 0, "TokenHandle = %p\n", TokenHandle); Status = NtClose(TokenHandle); ok(Status == STATUS_SUCCESS, "Status = %lx\n", Status); } Status = NtOpenProcessTokenEx(NtCurrentProcess(), TOKEN_READ, OBJ_KERNEL_HANDLE, &TokenHandle); ok(Status == STATUS_SUCCESS, "Status = %lx\n", Status); if (NT_SUCCESS(Status)) { ok((LONG_PTR)TokenHandle > 0, "TokenHandle = %p\n", TokenHandle); Status = NtClose(TokenHandle); ok(Status == STATUS_SUCCESS, "Status = %lx\n", Status); } }