[PATCH] Added stub for ObReferenceObjectByHandle()
Jim Cameron
jim_24601 at btinternet.com
Thu Aug 28 17:45:48 CDT 2008
---
dlls/ntoskrnl.exe/ntoskrnl.c | 14 ++++++++++++++
dlls/ntoskrnl.exe/ntoskrnl.exe.spec | 2 +-
include/ddk/wdm.h | 6 ++++++
3 files changed, 21 insertions(+), 1 deletions(-)
diff --git a/dlls/ntoskrnl.exe/ntoskrnl.c b/dlls/ntoskrnl.exe/ntoskrnl.c
index 50fe450..d8d8d4f 100644
--- a/dlls/ntoskrnl.exe/ntoskrnl.c
+++ b/dlls/ntoskrnl.exe/ntoskrnl.c
@@ -778,6 +778,20 @@ void WINAPI MmResetDriverPaging(PVOID AddrInSection)
TRACE("%p\n", AddrInSection);
}
+
+ /***********************************************************************
+ * ObReferenceObjectByHandle (NTOSKRNL.EXE.@)
+ */
+NTSTATUS WINAPI ObReferenceObjectByHandle( HANDLE obj, ACCESS_MASK access,
+ POBJECT_TYPE type,
+ KPROCESSOR_MODE mode, PVOID* ptr,
+ POBJECT_HANDLE_INFORMATION info)
+{
+ FIXME( "stub: %p %x %p %d %p %p\n", obj, access, type, mode, ptr, info);
+ return STATUS_NOT_IMPLEMENTED; /* Homeworld 2 */
+}
+
+
/***********************************************************************
* PsCreateSystemThread (NTOSKRNL.EXE.@)
*/
diff --git a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
index 4fa636e..3ac035e 100644
--- a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
+++ b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec
@@ -809,7 +809,7 @@
@ stub ObOpenObjectByPointer
@ stub ObQueryNameString
@ stub ObQueryObjectAuditingByHandle
-@ stub ObReferenceObjectByHandle
+@ stdcall ObReferenceObjectByHandle(long long ptr long ptr ptr)
@ stub ObReferenceObjectByName
@ stub ObReferenceObjectByPointer
@ stub ObReferenceSecurityDescriptor
diff --git a/include/ddk/wdm.h b/include/ddk/wdm.h
index 895c6b1..71c8b97 100644
--- a/include/ddk/wdm.h
+++ b/include/ddk/wdm.h
@@ -907,6 +907,10 @@ typedef struct _KUSER_SHARED_DATA {
} DUMMYUNIONNAME;
} KSHARED_USER_DATA, *PKSHARED_USER_DATA;
+/* This is an opaque type in Windows... */
+typedef struct _OBJECT_TYPE *POBJECT_TYPE;
+typedef struct _OBJECT_HANDLE_INFORMATION *POBJECT_HANDLE_INFORMATION;
+
typedef VOID (*PDRIVER_REINITIALIZE) (PDRIVER_OBJECT,PVOID,ULONG);
NTSTATUS WINAPI ObCloseHandle(IN HANDLE handle);
@@ -955,6 +959,8 @@ ULONG WINAPI KeQueryTimeIncrement(void);
PVOID WINAPI MmAllocateNonCachedMemory(SIZE_T);
void WINAPI MmFreeNonCachedMemory(PVOID,SIZE_T);
+NTSTATUS WINAPI ObReferenceObjectByHandle(HANDLE,ACCESS_MASK,POBJECT_TYPE,KPROCESSOR_MODE,PVOID*,POBJECT_HANDLE_INFORMATION);
+
NTSTATUS WINAPI PsCreateSystemThread(PHANDLE,ULONG,POBJECT_ATTRIBUTES,HANDLE,PCLIENT_ID,PKSTART_ROUTINE,PVOID);
#define PsGetCurrentProcess() IoGetCurrentProcess()
#define PsGetCurrentThread() ((PETHREAD)KeGetCurrentThread())
--
1.5.4.3
--0-939870500-1220389540=:79028--
More information about the wine-patches
mailing list