From db20f3f1bb8595633a7e16c8900fd401a453a6b5 Mon Sep 17 00:00:00 2001 From: Jiyoung Yun Date: Tue, 27 Dec 2016 16:46:08 +0900 Subject: Imported Upstream version 1.0.0.9127 --- .../VirtualAlloc/test10/VirtualAlloc.cpp | 48 ++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 src/pal/tests/palsuite/filemapping_memmgt/VirtualAlloc/test10/VirtualAlloc.cpp (limited to 'src/pal/tests/palsuite/filemapping_memmgt/VirtualAlloc/test10/VirtualAlloc.cpp') diff --git a/src/pal/tests/palsuite/filemapping_memmgt/VirtualAlloc/test10/VirtualAlloc.cpp b/src/pal/tests/palsuite/filemapping_memmgt/VirtualAlloc/test10/VirtualAlloc.cpp new file mode 100644 index 0000000000..ac06b9b5c8 --- /dev/null +++ b/src/pal/tests/palsuite/filemapping_memmgt/VirtualAlloc/test10/VirtualAlloc.cpp @@ -0,0 +1,48 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +/*============================================================= +** +** Source: virtualalloc.c +** +** Purpose: Positive test the VirtualAlloc API. +** Call VirtualAlloc with MEM_RESERVE allocation type +** and PAGE_EXECUTE_READ access protection + +** +**============================================================*/ +#include + +int __cdecl main(int argc, char *argv[]) +{ + int err; + LPVOID lpVirtualAddress; + + //Initialize the PAL environment + err = PAL_Initialize(argc, argv); + if(0 != err) + { + ExitProcess(FAIL); + } + + //Allocate the physical storage in memory or in the paging file on disk + lpVirtualAddress = VirtualAlloc(NULL,//system determine where to allocate the region + 1024, //specify the size + MEM_RESERVE, //allocation type + PAGE_EXECUTE_READ); //access protection + if(NULL == lpVirtualAddress) + { + Fail("\nFailed to call VirtualAlloc API!\n"); + } + + //decommit the specified region + err = VirtualFree(lpVirtualAddress,1024,MEM_DECOMMIT); + if(0 == err) + { + Fail("\nFailed to call VirtualFree API!\n"); + } + + PAL_Terminate(); + return PASS; +} -- cgit v1.2.3