Stefan Leichter : ntoskrnl.exe: Add stub for IoInitializeRemoveLockEx.
Alexandre Julliard
julliard at winehq.org
Thu Dec 29 12:15:50 CST 2011
Module: wine
Branch: master
Commit: 34c49777a3180cd82676f9b79077f8fe8714fc80
URL: http://source.winehq.org/git/wine.git/?a=commit;h=34c49777a3180cd82676f9b79077f8fe8714fc80
Author: Stefan Leichter <Stefan.Leichter at camline.com>
Date: Thu Dec 29 16:10:23 2011 +0100
ntoskrnl.exe: Add stub for IoInitializeRemoveLockEx.
---
dlls/ntoskrnl.exe/ntoskrnl.c | 10 ++++++++++
dlls/ntoskrnl.exe/ntoskrnl.exe.spec | 2 +-
include/ddk/wdm.h | 28 ++++++++++++++++++++++++++++
3 files changed, 39 insertions(+), 1 deletions(-)
diff --git a/dlls/ntoskrnl.exe/ntoskrnl.c b/dlls/ntoskrnl.exe/ntoskrnl.c
index e6706d8..4f6f493 100644
--- a/dlls/ntoskrnl.exe/ntoskrnl.c
+++ b/dlls/ntoskrnl.exe/ntoskrnl.c
@@ -1700,6 +1700,16 @@ BOOLEAN WINAPI IoSetThreadHardErrorMode(BOOLEAN EnableHardErrors)
return FALSE;
}
+
+/*****************************************************
+ * IoInitializeRemoveLockEx (NTOSKRNL.EXE.@)
+ */
+VOID WINAPI IoInitializeRemoveLockEx(PIO_REMOVE_LOCK lock, ULONG tag,
+ ULONG maxmin, ULONG high, ULONG size)
+{
+ FIXME("(%p %u %u %u %u) stub\n", lock, tag, maxmin, high, size);
+}
+
/*****************************************************
* DllMain
*/
diff --git a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
index a391c81..187439f 100644
--- a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
+++ b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
@@ -398,7 +398,7 @@
@ stub IoGetStackLimits
@ stub IoGetTopLevelIrp
@ stdcall IoInitializeIrp(ptr long long)
-@ stub IoInitializeRemoveLockEx
+@ stdcall IoInitializeRemoveLockEx(ptr long long long long)
@ stdcall IoInitializeTimer(ptr ptr ptr)
@ stub IoInvalidateDeviceRelations
@ stub IoInvalidateDeviceState
diff --git a/include/ddk/wdm.h b/include/ddk/wdm.h
index 356b1f7..3865f7f 100644
--- a/include/ddk/wdm.h
+++ b/include/ddk/wdm.h
@@ -1065,6 +1065,33 @@ typedef enum _MM_SYSTEM_SIZE
MmLargeSystem
} MM_SYSTEMSIZE;
+typedef struct _IO_REMOVE_LOCK_COMMON_BLOCK {
+ BOOLEAN Removed;
+ BOOLEAN Reserved[3];
+ LONG IoCount;
+ KEVENT RemoveEvent;
+} IO_REMOVE_LOCK_COMMON_BLOCK;
+
+typedef struct _IO_REMOVE_LOCK_TRACKING_BLOCK *PIO_REMOVE_LOCK_TRACKING_BLOCK;
+
+typedef struct _IO_REMOVE_LOCK_DBG_BLOCK {
+ LONG Signature;
+ LONG HighWatermark;
+ LONGLONG MaxLockedTicks;
+ LONG AllocateTag;
+ LIST_ENTRY LockList;
+ KSPIN_LOCK Spin;
+ LONG LowMemoryCount;
+ ULONG Reserved1[4];
+ PVOID Reserved2;
+ PIO_REMOVE_LOCK_TRACKING_BLOCK Blocks;
+} 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, *PIO_REMOVE_LOCK;
+
NTSTATUS WINAPI ObCloseHandle(IN HANDLE handle);
#ifdef NONAMELESSUNION
@@ -1125,6 +1152,7 @@ NTSTATUS WINAPI IoGetDeviceProperty(PDEVICE_OBJECT,DEVICE_REGISTRY_PROPERTY,ULO
PVOID WINAPI IoGetDriverObjectExtension(PDRIVER_OBJECT,PVOID);
PDEVICE_OBJECT WINAPI IoGetRelatedDeviceObject(PFILE_OBJECT);
void WINAPI IoInitializeIrp(IRP*,USHORT,CCHAR);
+VOID WINAPI IoInitializeRemoveLockEx(PIO_REMOVE_LOCK,ULONG,ULONG,ULONG,ULONG);
NTSTATUS WINAPI IoWMIRegistrationControl(PDEVICE_OBJECT,ULONG);
PKTHREAD WINAPI KeGetCurrentThread(void);
More information about the wine-cvs
mailing list