[NTDLL_APITEST] Add test for NtDuplicateObject with OBJ_PROTECT_CLOSE.

This commit is contained in:
Thomas Faber 2019-02-02 22:48:51 +01:00
parent f5fc9e0cf2
commit 58215e5fb7
No known key found for this signature in database
GPG key ID: 076E7C3D44720826
3 changed files with 33 additions and 0 deletions

View file

@ -15,6 +15,7 @@ list(APPEND SOURCE
NtCreateKey.c
NtCreateThread.c
NtDeleteKey.c
NtDuplicateObject.c
NtFreeVirtualMemory.c
NtLoadUnloadKey.c
NtMapViewOfSection.c

View file

@ -0,0 +1,30 @@
/*
* PROJECT: ReactOS Kernel
* LICENSE: LGPL-2.1-or-later (https://spdx.org/licenses/LGPL-2.1-or-later)
* PURPOSE: Test for NtDuplicateObject
* COPYRIGHT: Copyright 2019 Thomas Faber (thomas.faber@reactos.org)
*/
#include "precomp.h"
#define OBJ_PROTECT_CLOSE 0x01
START_TEST(NtDuplicateObject)
{
NTSTATUS Status;
HANDLE Handle;
Handle = NULL;
Status = NtDuplicateObject(NtCurrentProcess(),
NtCurrentProcess(),
NtCurrentProcess(),
&Handle,
GENERIC_ALL,
OBJ_PROTECT_CLOSE,
0);
ok_hex(Status, STATUS_SUCCESS);
ok(Handle != NULL && Handle != NtCurrentProcess(),
"Handle = %p\n", Handle);
Status = NtClose(Handle);
ok_hex(Status, STATUS_HANDLE_NOT_CLOSABLE);
}

View file

@ -13,6 +13,7 @@ extern void func_NtCreateFile(void);
extern void func_NtCreateKey(void);
extern void func_NtCreateThread(void);
extern void func_NtDeleteKey(void);
extern void func_NtDuplicateObject(void);
extern void func_NtFreeVirtualMemory(void);
extern void func_NtLoadUnloadKey(void);
extern void func_NtMapViewOfSection(void);
@ -77,6 +78,7 @@ const struct test winetest_testlist[] =
{ "NtCreateKey", func_NtCreateKey },
{ "NtCreateThread", func_NtCreateThread },
{ "NtDeleteKey", func_NtDeleteKey },
{ "NtDuplicateObject", func_NtDuplicateObject },
{ "NtFreeVirtualMemory", func_NtFreeVirtualMemory },
{ "NtLoadUnloadKey", func_NtLoadUnloadKey },
{ "NtMapViewOfSection", func_NtMapViewOfSection },