[PATCH 1/2] ntoskrnl.exe: Add stub for ExCreateCallback.

Christian Costa titan.costa at gmail.com
Wed Oct 3 01:55:06 CDT 2012


---
 dlls/ntoskrnl.exe/ntoskrnl.c        |   12 ++++++++++++
 dlls/ntoskrnl.exe/ntoskrnl.exe.spec |    2 +-
 include/ddk/wdm.h                   |    9 +++++++++
 3 files changed, 22 insertions(+), 1 deletion(-)

diff --git a/dlls/ntoskrnl.exe/ntoskrnl.c b/dlls/ntoskrnl.exe/ntoskrnl.c
index 632cea5..3c5dd62 100644
--- a/dlls/ntoskrnl.exe/ntoskrnl.c
+++ b/dlls/ntoskrnl.exe/ntoskrnl.c
@@ -1105,6 +1105,18 @@ PVOID WINAPI ExAllocatePoolWithQuotaTag( POOL_TYPE type, SIZE_T size, ULONG tag
 
 
 /***********************************************************************
+ *           ExCreateCallback   (NTOSKRNL.EXE.@)
+ */
+NTSTATUS WINAPI ExCreateCallback(PCALLBACK_OBJECT *CallbackObject, POBJECT_ATTRIBUTES ObjectAttributes,
+                                 BOOLEAN Create, BOOLEAN AllowMultipleCallbacks)
+{
+    FIXME("(%p, %p, %u, %u): stub\n", CallbackObject, ObjectAttributes, Create, AllowMultipleCallbacks);
+
+    return STATUS_NOT_IMPLEMENTED;
+}
+
+
+/***********************************************************************
  *           ExFreePool   (NTOSKRNL.EXE.@)
  */
 void WINAPI ExFreePool( void *ptr )
diff --git a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
index b169815..4bce7ec 100644
--- a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
+++ b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
@@ -122,7 +122,7 @@
 @ stdcall ExAllocatePoolWithTag(long long long)
 @ stub ExAllocatePoolWithTagPriority
 @ stub ExConvertExclusiveToSharedLite
-@ stub ExCreateCallback
+@ stdcall ExCreateCallback(ptr ptr long long)
 @ stub ExDeleteNPagedLookasideList
 @ stub ExDeletePagedLookasideList
 @ stub ExDeleteResourceLite
diff --git a/include/ddk/wdm.h b/include/ddk/wdm.h
index 183c950..bf9c15e 100644
--- a/include/ddk/wdm.h
+++ b/include/ddk/wdm.h
@@ -1106,6 +1106,15 @@ typedef enum  {
     IoModifyAccess
 } LOCK_OPERATION;
 
+typedef struct _CALLBACK_OBJECT
+{
+    ULONG Signature;
+    KSPIN_LOCK Lock;
+    LIST_ENTRY RegisteredCallbacks;
+    BOOLEAN AllowMultipleCallbacks;
+    UCHAR reserved[3];
+} CALLBACK_OBJECT, *PCALLBACK_OBJECT;
+
 NTSTATUS WINAPI ObCloseHandle(IN HANDLE handle);
 
 #ifdef NONAMELESSUNION




More information about the wine-patches mailing list