[SHELL32_APITEST] -Add some tests for SHParseDisplayName for CORE-12882.
[reactos.git] / rostests / apitests / ntdll / NtOpenProcessToken.c
1 /*
2 * PROJECT: ReactOS api tests
3 * LICENSE: LGPLv2.1+ - See COPYING.LIB in the top level directory
4 * PURPOSE: Test for NtOpenProcessToken[Ex]
5 * PROGRAMMER: Thomas Faber <thomas.faber@reactos.org>
6 */
7
8 #include <apitest.h>
9
10 #include <ndk/obfuncs.h>
11 #include <ndk/psfuncs.h>
12 #include <ndk/sefuncs.h>
13
14 START_TEST(NtOpenProcessToken)
15 {
16 NTSTATUS Status;
17 HANDLE TokenHandle;
18
19 Status = NtOpenProcessToken(NtCurrentProcess(),
20 TOKEN_READ,
21 &TokenHandle);
22 ok(Status == STATUS_SUCCESS, "Status = %lx\n", Status);
23 if (NT_SUCCESS(Status))
24 {
25 ok((LONG_PTR)TokenHandle > 0, "TokenHandle = %p\n", TokenHandle);
26 Status = NtClose(TokenHandle);
27 ok(Status == STATUS_SUCCESS, "Status = %lx\n", Status);
28 }
29
30 Status = NtOpenProcessTokenEx(NtCurrentProcess(),
31 TOKEN_READ,
32 0,
33 &TokenHandle);
34 ok(Status == STATUS_SUCCESS, "Status = %lx\n", Status);
35 if (NT_SUCCESS(Status))
36 {
37 ok((LONG_PTR)TokenHandle > 0, "TokenHandle = %p\n", TokenHandle);
38 Status = NtClose(TokenHandle);
39 ok(Status == STATUS_SUCCESS, "Status = %lx\n", Status);
40 }
41
42 Status = NtOpenProcessTokenEx(NtCurrentProcess(),
43 TOKEN_READ,
44 OBJ_KERNEL_HANDLE,
45 &TokenHandle);
46 ok(Status == STATUS_SUCCESS, "Status = %lx\n", Status);
47 if (NT_SUCCESS(Status))
48 {
49 ok((LONG_PTR)TokenHandle > 0, "TokenHandle = %p\n", TokenHandle);
50 Status = NtClose(TokenHandle);
51 ok(Status == STATUS_SUCCESS, "Status = %lx\n", Status);
52 }
53 }