Rebase against ba858c28fd489a812ea0f55a11680a8edaf99ce5.

This commit is contained in:
Sebastian Lackner
2016-08-09 20:42:49 +02:00
parent 929a758ef4
commit b727968b45
5 changed files with 83 additions and 364 deletions

View File

@@ -1,26 +1,25 @@
From 7bab64e071904df31e980969a19a231099cfd6c0 Mon Sep 17 00:00:00 2001
From 5761c59c44922f139eeb9fdc873ad52cf2b75e02 Mon Sep 17 00:00:00 2001
From: Alexander Morozov <amorozov@etersoft.ru>
Date: Fri, 30 Jan 2015 00:01:37 +0100
Subject: ntoskrnl.exe: Add stubs for ObReferenceObjectByPointer and
ObDereferenceObject.
Subject: ntoskrnl.exe: Add stub for ObReferenceObjectByPointer.
---
dlls/ntoskrnl.exe/ntoskrnl.c | 24 +++++++++++++++++++++++-
dlls/ntoskrnl.exe/ntoskrnl.exe.spec | 4 ++--
include/ddk/wdm.h | 2 ++
3 files changed, 27 insertions(+), 3 deletions(-)
dlls/ntoskrnl.exe/ntoskrnl.c | 13 +++++++++++++
dlls/ntoskrnl.exe/ntoskrnl.exe.spec | 2 +-
include/ddk/wdm.h | 1 +
3 files changed, 15 insertions(+), 1 deletion(-)
diff --git a/dlls/ntoskrnl.exe/ntoskrnl.c b/dlls/ntoskrnl.exe/ntoskrnl.c
index 702cde7..3d22563 100644
index b2b900c..8db5bf0 100644
--- a/dlls/ntoskrnl.exe/ntoskrnl.c
+++ b/dlls/ntoskrnl.exe/ntoskrnl.c
@@ -2067,6 +2067,28 @@ NTSTATUS WINAPI ObReferenceObjectByName( UNICODE_STRING *ObjectName,
@@ -2192,6 +2192,19 @@ NTSTATUS WINAPI ObReferenceObjectByName( UNICODE_STRING *ObjectName,
/***********************************************************************
+ * ObReferenceObjectByPointer (NTOSKRNL.EXE.@)
+ */
+NTSTATUS WINAPI ObReferenceObjectByPointer(VOID *obj, ACCESS_MASK access,
+NTSTATUS WINAPI ObReferenceObjectByPointer(void *obj, ACCESS_MASK access,
+ POBJECT_TYPE type,
+ KPROCESSOR_MODE mode)
+{
@@ -31,40 +30,13 @@ index 702cde7..3d22563 100644
+
+
+/***********************************************************************
+ * ObDereferenceObject (NTOSKRNL.EXE.@)
+ */
+void WINAPI ObDereferenceObject(VOID *obj)
+{
+ FIXME("(%p): stub\n", obj);
+}
+
+
+/***********************************************************************
* ObfReferenceObject (NTOSKRNL.EXE.@)
* ObDereferenceObject (NTOSKRNL.EXE.@)
*/
#ifdef DEFINE_FASTCALL1_ENTRYPOINT
@@ -2090,7 +2112,7 @@ void WINAPI __regs_ObfDereferenceObject( void *obj )
void WINAPI ObfDereferenceObject( void *obj )
#endif
{
- FIXME( "(%p): stub\n", obj );
+ ObDereferenceObject( obj );
}
void WINAPI ObDereferenceObject( void *obj )
diff --git a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
index 1a19fd5..acc1713 100644
index 8ff5d49..702dde0 100644
--- a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
+++ b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
@@ -798,7 +798,7 @@
@ stub ObCloseHandle
@ stub ObCreateObject
@ stub ObCreateObjectType
-@ stub ObDereferenceObject
+@ stdcall ObDereferenceObject(ptr)
@ stub ObDereferenceSecurityDescriptor
@ stub ObFindHandleForObject
@ stub ObGetObjectSecurity
@@ -811,7 +811,7 @@
@ stub ObQueryObjectAuditingByHandle
@ stdcall ObReferenceObjectByHandle(long long ptr long ptr ptr)
@@ -75,19 +47,17 @@ index 1a19fd5..acc1713 100644
@ stub ObReleaseObjectSecurity
@ stub ObSetHandleAttributes
diff --git a/include/ddk/wdm.h b/include/ddk/wdm.h
index f5efc59..fceb4b2 100644
index 7d7fd73..60136ce 100644
--- a/include/ddk/wdm.h
+++ b/include/ddk/wdm.h
@@ -1252,7 +1252,9 @@ PMDL WINAPI MmAllocatePagesForMdl(PHYSICAL_ADDRESS,PHYSICAL_ADDRESS,PHYSICA
void WINAPI MmFreeNonCachedMemory(PVOID,SIZE_T);
MM_SYSTEMSIZE WINAPI MmQuerySystemSize(void);
+void WINAPI ObDereferenceObject(VOID*);
@@ -1255,6 +1255,7 @@ MM_SYSTEMSIZE WINAPI MmQuerySystemSize(void);
void WINAPI ObDereferenceObject(void*);
NTSTATUS WINAPI ObReferenceObjectByHandle(HANDLE,ACCESS_MASK,POBJECT_TYPE,KPROCESSOR_MODE,PVOID*,POBJECT_HANDLE_INFORMATION);
+NTSTATUS WINAPI ObReferenceObjectByPointer(VOID*,ACCESS_MASK,POBJECT_TYPE,KPROCESSOR_MODE);
NTSTATUS WINAPI ObReferenceObjectByName(UNICODE_STRING*,ULONG,ACCESS_STATE*,ACCESS_MASK,POBJECT_TYPE,KPROCESSOR_MODE,void*,void**);
+NTSTATUS WINAPI ObReferenceObjectByPointer(void*,ACCESS_MASK,POBJECT_TYPE,KPROCESSOR_MODE);
POWER_STATE WINAPI PoSetPowerState(PDEVICE_OBJECT,POWER_STATE_TYPE,POWER_STATE);
NTSTATUS WINAPI PsCreateSystemThread(PHANDLE,ULONG,POBJECT_ATTRIBUTES,HANDLE,PCLIENT_ID,PKSTART_ROUTINE,PVOID);
--
2.7.1
2.9.0