[PATCH] Add a stub for ExInitializeNPagedLookasideList.

crwulff (none) crwulff at cybertron.
Fri Dec 19 22:57:53 CST 2008


---
 dlls/ntoskrnl.exe/ntoskrnl.c        |   11 ++++++++++
 dlls/ntoskrnl.exe/ntoskrnl.exe.spec |    2 +-
 include/ddk/wdm.h                   |   36 +++++++++++++++++++++++++++++++++++
 3 files changed, 48 insertions(+), 1 deletions(-)

diff --git a/dlls/ntoskrnl.exe/ntoskrnl.c b/dlls/ntoskrnl.exe/ntoskrnl.c
index 227e393..5b48471 100644
--- a/dlls/ntoskrnl.exe/ntoskrnl.c
+++ b/dlls/ntoskrnl.exe/ntoskrnl.c
@@ -862,6 +862,17 @@ void WINAPI ExFreePoolWithTag( void *ptr, ULONG tag )
 
 
 /***********************************************************************
+ *           ExInitializeNPagedLookasideList	(NTOSKRNL.EXE.@)
+ */
+void WINAPI ExInitializeNPagedLookasideList( PNPAGED_LOOKASIDE_LIST Lookaside, PALLOCATE_FUNCTION Allocate, PFREE_FUNCTION Free, ULONG Flags, SIZE_T Size, ULONG Tag, USHORT Depth)
+{
+    FIXME( "%p %p %p %u %lu %u %u: stub\n", Lookaside, Allocate, Free, Flags, Size, Tag, Depth );
+
+    memset(Lookaside, 0xcc, sizeof(NPAGED_LOOKASIDE_LIST));
+}
+
+
+/***********************************************************************
  *           KeInitializeSpinLock   (NTOSKRNL.EXE.@)
  */
 void WINAPI KeInitializeSpinLock( PKSPIN_LOCK SpinLock )
diff --git a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
index 946249d..aff330a 100644
--- a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
+++ b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
@@ -139,7 +139,7 @@
 @ stub ExGetExclusiveWaiterCount
 @ stub ExGetPreviousMode
 @ stub ExGetSharedWaiterCount
-@ stub ExInitializeNPagedLookasideList
+@ stdcall ExInitializeNPagedLookasideList(ptr ptr ptr long long long long)
 @ stub ExInitializePagedLookasideList
 @ stub ExInitializeResourceLite
 @ stub ExInitializeZone
diff --git a/include/ddk/wdm.h b/include/ddk/wdm.h
index 0f241b6..9adee9b 100644
--- a/include/ddk/wdm.h
+++ b/include/ddk/wdm.h
@@ -1001,6 +1001,42 @@ typedef struct _KUSER_SHARED_DATA {
     } DUMMYUNIONNAME;
 } KSHARED_USER_DATA, *PKSHARED_USER_DATA;
 
+typedef PVOID (*PALLOCATE_FUNCTION)(POOL_TYPE PoolType, SIZE_T NumberOfBytes, ULONG Tag);
+typedef VOID (*PFREE_FUNCTION)(PVOID Buffer);
+
+typedef struct _GENERAL_LOOKASIDE {
+    SLIST_HEADER  ListHead;
+    USHORT  Depth;
+    USHORT  MaximumDepth;
+    ULONG  TotalAllocates;
+    union {
+        ULONG  AllocateMisses;
+        ULONG  AllocateHits;
+    };
+    ULONG  TotalFrees;
+    union {
+        ULONG  FreeMisses;
+        ULONG  FreeHits;
+    };
+    POOL_TYPE  Type;
+    ULONG  Tag;
+    ULONG  Size;
+    PALLOCATE_FUNCTION  Allocate;
+    PFREE_FUNCTION  Free;
+    LIST_ENTRY  ListEntry;
+    ULONG  LastTotalAllocates;
+    union {
+        ULONG  LastAllocateMisses;
+        ULONG  LastAllocateHits;
+    };
+    ULONG Future[2];
+} GENERAL_LOOKASIDE, *PGENERAL_LOOKASIDE;
+
+typedef struct _NPAGED_LOOKASIDE_LIST {
+    GENERAL_LOOKASIDE  L;
+    KSPIN_LOCK  Obsoleted;
+} NPAGED_LOOKASIDE_LIST, *PNPAGED_LOOKASIDE_LIST;
+
 NTSTATUS WINAPI ObCloseHandle(IN HANDLE handle);
 
 #define IoGetCurrentIrpStackLocation(_Irp) ((_Irp)->Tail.Overlay.CurrentStackLocation)
-- 
1.5.6.3


--=-Aonml3wSJbyg/hFukqGn--




More information about the wine-patches mailing list