3a2b0f81d97ad7fc5887659a5d041c3f5dcaf687
[reactos.git] / lib / kernel32 / mem / procmem.c
1 /* $Id$
2  *
3  * COPYRIGHT:            See COPYING in the top level directory
4  * PROJECT:              ReactOS kernel
5  * FILE:                 lib/kernel32/mem/procmem.c
6  * PURPOSE:              
7  * PROGRAMMER:           Boudewijn Dekker
8  */
9
10 /* INCLUDES ******************************************************************/
11
12
13 #include <ddk/ntddk.h>
14 #include <kernel32/error.h>
15 #include <windows.h>
16
17 /* FUNCTIONS *****************************************************************/
18 WINBOOL
19 STDCALL
20 ReadProcessMemory (
21         HANDLE  hProcess,
22         LPCVOID lpBaseAddress,
23         LPVOID  lpBuffer,
24         DWORD   nSize,
25         LPDWORD lpNumberOfBytesRead
26         )
27 {
28
29         NTSTATUS Status;
30
31         Status = NtReadVirtualMemory( hProcess, (PVOID)lpBaseAddress,lpBuffer, nSize,
32                 (PULONG)lpNumberOfBytesRead
33                 );
34
35         if (!NT_SUCCESS(Status))
36         {
37                 SetLastErrorByStatus (Status);
38                 return FALSE;
39         }
40         return TRUE;
41 }
42
43
44 WINBOOL
45 STDCALL
46 WriteProcessMemory (
47         HANDLE  hProcess,
48         LPVOID  lpBaseAddress,
49         LPVOID  lpBuffer,
50         DWORD   nSize,
51         LPDWORD lpNumberOfBytesWritten
52         )
53 {
54         NTSTATUS Status;
55
56         Status = NtWriteVirtualMemory( hProcess, lpBaseAddress,lpBuffer, nSize,
57                 (PULONG)lpNumberOfBytesWritten
58                 );
59
60         if (!NT_SUCCESS(Status))
61         {
62                 SetLastErrorByStatus (Status);
63                 return FALSE;
64         }
65         return TRUE;
66 }
67
68
69 /* EOF */