Module: wine Branch: master Commit: 410cb3e7f8fb8291783b3e6ea9e0e01c6462c39a URL: http://source.winehq.org/git/wine.git/?a=commit;h=410cb3e7f8fb8291783b3e6ea9...
Author: Jim Cameron jim_24601@btinternet.com Date: Thu Aug 28 23:45:48 2008 +0100
ntoskrnl.exe: Add stub for ObReferenceObjectByHandle().
---
dlls/ntoskrnl.exe/ntoskrnl.c | 14 ++++++++++++++ dlls/ntoskrnl.exe/ntoskrnl.exe.spec | 2 +- include/ddk/wdm.h | 4 ++++ 3 files changed, 19 insertions(+), 1 deletions(-)
diff --git a/dlls/ntoskrnl.exe/ntoskrnl.c b/dlls/ntoskrnl.exe/ntoskrnl.c index c2d5f0b..556486e 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; +} + + /*********************************************************************** * 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 3f5a6ca..19d799b 100644 --- a/include/ddk/wdm.h +++ b/include/ddk/wdm.h @@ -89,6 +89,8 @@ typedef struct _ETHREAD *PETHREAD; typedef struct _KTHREAD *PKTHREAD; typedef struct _EPROCESS *PEPROCESS; typedef struct _IO_WORKITEM *PIO_WORKITEM; +typedef struct _OBJECT_TYPE *POBJECT_TYPE; +typedef struct _OBJECT_HANDLE_INFORMATION *POBJECT_HANDLE_INFORMATION;
#define MAXIMUM_VOLUME_LABEL_LENGTH (32 * sizeof(WCHAR))
@@ -953,6 +955,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())