Signed-off-by: Derek Lesho dlesho@codeweavers.com --- dlls/ntoskrnl.exe/ntoskrnl.c | 6 ++++++ dlls/ntoskrnl.exe/ntoskrnl.exe.spec | 1 + include/ddk/wdm.h | 1 + 3 files changed, 8 insertions(+)
diff --git a/dlls/ntoskrnl.exe/ntoskrnl.c b/dlls/ntoskrnl.exe/ntoskrnl.c index 0580231d8e3..5b84c626547 100644 --- a/dlls/ntoskrnl.exe/ntoskrnl.c +++ b/dlls/ntoskrnl.exe/ntoskrnl.c @@ -243,6 +243,12 @@ void ObReferenceObject( void *obj ) LeaveCriticalSection( &obref_cs ); }
+ULONG WINAPI ObGetObjectPointerCount( void *object ) +{ + struct object_header *header = (struct object_header *)object - 1; + return header->ref; +} + /*********************************************************************** * ObGetObjectType (NTOSKRNL.EXE.@) */ diff --git a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec index 2e5e2e6e11b..6426bc3968a 100644 --- a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec +++ b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec @@ -834,6 +834,7 @@ @ stdcall ObGetFilterVersion() @ stub ObGetObjectSecurity @ stdcall ObGetObjectType(ptr) +@ stdcall ObGetObjectPointerCount(ptr) @ stub ObInsertObject @ stub ObLogSecurityDescriptor @ stub ObMakeTemporaryObject diff --git a/include/ddk/wdm.h b/include/ddk/wdm.h index 51097bfe3ab..1e7ce63f776 100644 --- a/include/ddk/wdm.h +++ b/include/ddk/wdm.h @@ -1802,6 +1802,7 @@ static inline void *MmGetSystemAddressForMdlSafe(MDL *mdl, ULONG priority) void FASTCALL ObfReferenceObject(void*); void WINAPI ObDereferenceObject(void*); USHORT WINAPI ObGetFilterVersion(void); +ULONG WINAPI ObGetObjectPointerCount(void*); NTSTATUS WINAPI ObRegisterCallbacks(POB_CALLBACK_REGISTRATION, void**); NTSTATUS WINAPI ObReferenceObjectByHandle(HANDLE,ACCESS_MASK,POBJECT_TYPE,KPROCESSOR_MODE,PVOID*,POBJECT_HANDLE_INFORMATION); NTSTATUS WINAPI ObReferenceObjectByName(UNICODE_STRING*,ULONG,ACCESS_STATE*,ACCESS_MASK,POBJECT_TYPE,KPROCESSOR_MODE,void*,void**);