mirror of
https://github.com/reactos/reactos.git
synced 2025-08-03 18:35:41 +00:00
[ADVAPI32_APITEST]
- Add tests for RtlEncrypt/DecryptMemory svn path=/trunk/; revision=64162
This commit is contained in:
parent
abaedf0591
commit
34f49b3d4b
3 changed files with 41 additions and 0 deletions
|
@ -3,6 +3,7 @@ list(APPEND SOURCE
|
||||||
CreateService.c
|
CreateService.c
|
||||||
LockDatabase.c
|
LockDatabase.c
|
||||||
QueryServiceConfig2.c
|
QueryServiceConfig2.c
|
||||||
|
RtlEncryptMemory.c
|
||||||
SaferIdentifyLevel.c
|
SaferIdentifyLevel.c
|
||||||
testlist.c)
|
testlist.c)
|
||||||
|
|
||||||
|
|
38
rostests/apitests/advapi32/RtlEncryptMemory.c
Normal file
38
rostests/apitests/advapi32/RtlEncryptMemory.c
Normal file
|
@ -0,0 +1,38 @@
|
||||||
|
/*
|
||||||
|
* PROJECT: ReactOS api tests
|
||||||
|
* LICENSE: GPLv2+ - See COPYING in the top level directory
|
||||||
|
* PURPOSE: Test for RtlEncrypt/DecryptMemory
|
||||||
|
* PROGRAMMER: Timo Kreuzer <timo.kreuzer@reactos.org>
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <apitest.h>
|
||||||
|
|
||||||
|
#define WIN32_NO_STATUS
|
||||||
|
#include <windows.h>
|
||||||
|
#include <ndk/ntndk.h>
|
||||||
|
#include <winsafer.h>
|
||||||
|
#include <Ntsecapi.h>
|
||||||
|
|
||||||
|
START_TEST(RtlEncryptMemory)
|
||||||
|
{
|
||||||
|
static const CHAR const TestData[32] = "This is some test Message!!!";
|
||||||
|
CHAR Buffer[32];
|
||||||
|
NTSTATUS Status;
|
||||||
|
|
||||||
|
/* Size must be aligned to 8 bytes */
|
||||||
|
Status = RtlEncryptMemory(Buffer, 7, RTL_ENCRYPT_OPTION_SAME_PROCESS);
|
||||||
|
ok_ntstatus(Status, STATUS_INVALID_PARAMETER);
|
||||||
|
|
||||||
|
/* Buffer must not be aligned to 8 bytes */
|
||||||
|
Status = RtlEncryptMemory(&Buffer[1], 8, RTL_ENCRYPT_OPTION_SAME_PROCESS);
|
||||||
|
ok_ntstatus(Status, STATUS_SUCCESS);
|
||||||
|
|
||||||
|
RtlCopyMemory(Buffer, TestData, sizeof(Buffer));
|
||||||
|
Status = RtlEncryptMemory(Buffer, sizeof(Buffer), RTL_ENCRYPT_OPTION_SAME_PROCESS);
|
||||||
|
ok_ntstatus(Status, STATUS_SUCCESS);
|
||||||
|
ok_int(RtlEqualMemory(Buffer, TestData, sizeof(Buffer)), 0);
|
||||||
|
Status = RtlDecryptMemory(Buffer, sizeof(Buffer), RTL_ENCRYPT_OPTION_SAME_PROCESS);
|
||||||
|
ok_ntstatus(Status, STATUS_SUCCESS);
|
||||||
|
ok_int(RtlEqualMemory(Buffer, TestData, sizeof(Buffer)), 1);
|
||||||
|
|
||||||
|
}
|
|
@ -6,6 +6,7 @@
|
||||||
extern void func_CreateService(void);
|
extern void func_CreateService(void);
|
||||||
extern void func_LockDatabase(void);
|
extern void func_LockDatabase(void);
|
||||||
extern void func_QueryServiceConfig2(void);
|
extern void func_QueryServiceConfig2(void);
|
||||||
|
extern void func_RtlEncryptMemory(void);
|
||||||
extern void func_SaferIdentifyLevel(void);
|
extern void func_SaferIdentifyLevel(void);
|
||||||
|
|
||||||
const struct test winetest_testlist[] =
|
const struct test winetest_testlist[] =
|
||||||
|
@ -13,6 +14,7 @@ const struct test winetest_testlist[] =
|
||||||
{ "CreateService", func_CreateService },
|
{ "CreateService", func_CreateService },
|
||||||
{ "LockDatabase" , func_LockDatabase },
|
{ "LockDatabase" , func_LockDatabase },
|
||||||
{ "QueryServiceConfig2", func_QueryServiceConfig2 },
|
{ "QueryServiceConfig2", func_QueryServiceConfig2 },
|
||||||
|
{ "RtlEncryptMemory", func_RtlEncryptMemory },
|
||||||
{ "SaferIdentifyLevel", func_SaferIdentifyLevel },
|
{ "SaferIdentifyLevel", func_SaferIdentifyLevel },
|
||||||
|
|
||||||
{ 0, 0 }
|
{ 0, 0 }
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue