ReactOS
0.4.15-dev-6047-gb29e82d
NtOpenProcessToken.c
Go to the documentation of this file.
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 "
precomp.h
"
9
10
START_TEST
(
NtOpenProcessToken
)
11
{
12
NTSTATUS
Status
;
13
HANDLE
TokenHandle
;
14
15
Status
=
NtOpenProcessToken
(
NtCurrentProcess
(),
16
TOKEN_READ
,
17
&
TokenHandle
);
18
ok
(
Status
==
STATUS_SUCCESS
,
"Status = %lx\n"
,
Status
);
19
if
(
NT_SUCCESS
(
Status
))
20
{
21
ok
((
LONG_PTR
)
TokenHandle
> 0,
"TokenHandle = %p\n"
,
TokenHandle
);
22
Status
=
NtClose
(
TokenHandle
);
23
ok
(
Status
==
STATUS_SUCCESS
,
"Status = %lx\n"
,
Status
);
24
}
25
26
Status
=
NtOpenProcessTokenEx
(
NtCurrentProcess
(),
27
TOKEN_READ
,
28
0,
29
&
TokenHandle
);
30
ok
(
Status
==
STATUS_SUCCESS
,
"Status = %lx\n"
,
Status
);
31
if
(
NT_SUCCESS
(
Status
))
32
{
33
ok
((
LONG_PTR
)
TokenHandle
> 0,
"TokenHandle = %p\n"
,
TokenHandle
);
34
Status
=
NtClose
(
TokenHandle
);
35
ok
(
Status
==
STATUS_SUCCESS
,
"Status = %lx\n"
,
Status
);
36
}
37
38
Status
=
NtOpenProcessTokenEx
(
NtCurrentProcess
(),
39
TOKEN_READ
,
40
OBJ_KERNEL_HANDLE
,
41
&
TokenHandle
);
42
ok
(
Status
==
STATUS_SUCCESS
,
"Status = %lx\n"
,
Status
);
43
if
(
NT_SUCCESS
(
Status
))
44
{
45
ok
((
LONG_PTR
)
TokenHandle
> 0,
"TokenHandle = %p\n"
,
TokenHandle
);
46
Status
=
NtClose
(
TokenHandle
);
47
ok
(
Status
==
STATUS_SUCCESS
,
"Status = %lx\n"
,
Status
);
48
}
49
}
ok
#define ok(value,...)
Definition:
atltest.h:57
START_TEST
#define START_TEST(x)
Definition:
atltest.h:75
NTSTATUS
LONG NTSTATUS
Definition:
precomp.h:26
NT_SUCCESS
#define NT_SUCCESS(StatCode)
Definition:
apphelp.c:32
Status
Status
Definition:
gdiplustypes.h:25
OBJ_KERNEL_HANDLE
#define OBJ_KERNEL_HANDLE
Definition:
winternl.h:231
void
Definition:
nsiface.idl:2307
LONG_PTR
__int3264 LONG_PTR
Definition:
mstsclib_h.h:276
TokenHandle
_In_ ACCESS_MASK _In_ ULONG _Out_ PHANDLE TokenHandle
Definition:
psfuncs.h:718
NtCurrentProcess
#define NtCurrentProcess()
Definition:
nt_native.h:1657
NtClose
NTSTATUS NTAPI NtClose(IN HANDLE Handle)
Definition:
obhandle.c:3402
NtOpenProcessToken
NTSTATUS NTAPI NtOpenProcessToken(IN HANDLE ProcessHandle, IN ACCESS_MASK DesiredAccess, OUT PHANDLE TokenHandle)
Definition:
security.c:350
NtOpenProcessTokenEx
NTSTATUS NTAPI NtOpenProcessTokenEx(IN HANDLE ProcessHandle, IN ACCESS_MASK DesiredAccess, IN ULONG HandleAttributes, OUT PHANDLE TokenHandle)
Definition:
security.c:366
STATUS_SUCCESS
#define STATUS_SUCCESS
Definition:
shellext.h:65
precomp.h
TOKEN_READ
#define TOKEN_READ
Definition:
setypes.h:947
modules
rostests
apitests
ntdll
NtOpenProcessToken.c
Generated on Sun May 28 2023 06:06:45 for ReactOS by
1.9.6