Module: wine Branch: master Commit: ea943293c6185842b1350cc55c39df543fc64cf0 URL: http://source.winehq.org/git/wine.git/?a=commit;h=ea943293c6185842b1350cc55c... Author: Christian Costa <titan.costa(a)gmail.com> Date: Wed Oct 3 08:55:06 2012 +0200 ntoskrnl.exe: Add stub for ExCreateCallback. --- dlls/ntoskrnl.exe/ntoskrnl.c | 12 ++++++++++++ dlls/ntoskrnl.exe/ntoskrnl.exe.spec | 2 +- include/ddk/wdm.h | 9 +++++++++ 3 files changed, 22 insertions(+), 1 deletions(-) diff --git a/dlls/ntoskrnl.exe/ntoskrnl.c b/dlls/ntoskrnl.exe/ntoskrnl.c index 632cea5..06993ee 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 *obj, POBJECT_ATTRIBUTES attr, + BOOLEAN create, BOOLEAN allow_multiple) +{ + FIXME("(%p, %p, %u, %u): stub\n", obj, attr, create, allow_multiple); + + 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