Module: wine Branch: master Commit: f3380958bda9d53475ad5d14aa2ccf1ae7ab2e06 URL: http://source.winehq.org/git/wine.git/?a=commit;h=f3380958bda9d53475ad5d14aa...
Author: Detlef Riekenberg wine.dev@web.de Date: Fri Mar 21 21:25:40 2008 +0100
ntoskrnl.exe: Implement MmIsAddressValid.
---
dlls/ntoskrnl.exe/ntoskrnl.c | 19 +++++++++++++++++++ dlls/ntoskrnl.exe/ntoskrnl.exe.spec | 2 +- 2 files changed, 20 insertions(+), 1 deletions(-)
diff --git a/dlls/ntoskrnl.exe/ntoskrnl.c b/dlls/ntoskrnl.exe/ntoskrnl.c index 149cb51..6a3c9f3 100644 --- a/dlls/ntoskrnl.exe/ntoskrnl.c +++ b/dlls/ntoskrnl.exe/ntoskrnl.c @@ -562,6 +562,25 @@ void WINAPI MmFreeNonCachedMemory( void *addr, SIZE_T size ) }
/*********************************************************************** + * MmIsAddressValid (NTOSKRNL.EXE.@) + * + * Check if the process can access the virtual address without a pagefault + * + * PARAMS + * VirtualAddress [I] Address to check + * + * RETURNS + * Failure: FALSE + * Success: TRUE (Accessing the Address works without a Pagefault) + * + */ +BOOLEAN WINAPI MmIsAddressValid(PVOID VirtualAddress) +{ + TRACE("(%p)\n", VirtualAddress); + return !IsBadWritePtr(VirtualAddress, 1); +} + +/*********************************************************************** * MmPageEntireDriver (NTOSKRNL.EXE.@) */ PVOID WINAPI MmPageEntireDriver(PVOID AddrInSection) diff --git a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec index dbe2152..461bf28 100644 --- a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec +++ b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec @@ -679,7 +679,7 @@ @ stub MmGetVirtualForPhysical @ stub MmGrowKernelStack @ stub MmHighestUserAddress -@ stub MmIsAddressValid +@ stdcall MmIsAddressValid(ptr) @ stub MmIsDriverVerifying @ stub MmIsNonPagedSystemAddressValid @ stub MmIsRecursiveIoFault