[PATCH 2/5] ntoskrnl.exe: Add stub for MmProbeAndLockPages.

Christian Costa titan.costa at gmail.com
Sat Sep 29 15:28:08 CDT 2012


---
 dlls/ntoskrnl.exe/ntoskrnl.c        |   10 ++++++++++
 dlls/ntoskrnl.exe/ntoskrnl.exe.spec |    2 +-
 include/ddk/wdm.h                   |   12 ++++++++++--
 3 files changed, 21 insertions(+), 3 deletions(-)

diff --git a/dlls/ntoskrnl.exe/ntoskrnl.c b/dlls/ntoskrnl.exe/ntoskrnl.c
index 5b855ed..94ae7b4 100644
--- a/dlls/ntoskrnl.exe/ntoskrnl.c
+++ b/dlls/ntoskrnl.exe/ntoskrnl.c
@@ -1454,6 +1454,16 @@ PVOID WINAPI MmPageEntireDriver(PVOID AddrInSection)
     return AddrInSection;
 }
 
+
+/***********************************************************************
+ *           MmProbeAndLockPages  (NTOSKRNL.EXE.@)
+ */
+VOID MmProbeAndLockPages(PMDLX MemoryDescriptorList, KPROCESSOR_MODE AccessMode, LOCK_OPERATION Operation)
+{
+    FIXME("(%p, %u, %u): stub\n", MemoryDescriptorList, AccessMode, Operation);
+}
+
+
 /***********************************************************************
  *           MmResetDriverPaging   (NTOSKRNL.EXE.@)
  */
diff --git a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
index 676b241..2201d06 100644
--- a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
+++ b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
@@ -702,7 +702,7 @@
 @ stub MmMarkPhysicalMemoryAsGood
 @ stdcall MmPageEntireDriver(ptr)
 @ stub MmPrefetchPages
-@ stub MmProbeAndLockPages
+@ stdcall MmProbeAndLockPages(ptr long long)
 @ stub MmProbeAndLockProcessPages
 @ stub MmProbeAndLockSelectedPages
 @ stub MmProtectMdlSystemAddress
diff --git a/include/ddk/wdm.h b/include/ddk/wdm.h
index 85d3da5..a868e88 100644
--- a/include/ddk/wdm.h
+++ b/include/ddk/wdm.h
@@ -966,6 +966,8 @@ typedef struct _MDL {
   ULONG  ByteOffset;
 } MDL, *PMDL;
 
+typedef MDL *PMDLX;
+
 typedef struct _KTIMER {
     DISPATCHER_HEADER Header;
     ULARGE_INTEGER DueTime;
@@ -1088,10 +1090,16 @@ typedef struct _IO_REMOVE_LOCK_DBG_BLOCK {
 } IO_REMOVE_LOCK_DBG_BLOCK;
 
 typedef struct _IO_REMOVE_LOCK {
-	IO_REMOVE_LOCK_COMMON_BLOCK Common;
-	IO_REMOVE_LOCK_DBG_BLOCK Dbg;
+    IO_REMOVE_LOCK_COMMON_BLOCK Common;
+    IO_REMOVE_LOCK_DBG_BLOCK Dbg;
 } IO_REMOVE_LOCK, *PIO_REMOVE_LOCK;
 
+typedef enum  {
+    IoReadAccess,
+    IoWriteAccess,
+    IoModifyAccess
+} LOCK_OPERATION;
+
 NTSTATUS WINAPI ObCloseHandle(IN HANDLE handle);
 
 #ifdef NONAMELESSUNION




More information about the wine-patches mailing list