From: Alexander Morozov amorozov@etersoft.ru
Signed-off-by: Alistair Leslie-Hughes leslie_alistair@hotmail.com --- 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 10f69baac1..1a47f45075 100644 --- a/dlls/ntoskrnl.exe/ntoskrnl.c +++ b/dlls/ntoskrnl.exe/ntoskrnl.c @@ -2257,6 +2257,19 @@ static void ObReferenceObject( void *obj ) }
+/*********************************************************************** + * ObReferenceObjectByPointer (NTOSKRNL.EXE.@) + */ +NTSTATUS WINAPI ObReferenceObjectByPointer(void *obj, ACCESS_MASK access, + POBJECT_TYPE type, + KPROCESSOR_MODE mode) +{ + FIXME("(%p, %x, %p, %d): stub\n", obj, access, type, mode); + + return STATUS_NOT_IMPLEMENTED; +} + + /*********************************************************************** * ObDereferenceObject (NTOSKRNL.EXE.@) */ diff --git a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec index ebf1705729..9967d1619b 100644 --- a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec +++ b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec @@ -815,7 +815,7 @@ @ stub ObQueryObjectAuditingByHandle @ stdcall ObReferenceObjectByHandle(long long ptr long ptr ptr) @ stdcall ObReferenceObjectByName(ptr long ptr long ptr long ptr ptr) -@ stub ObReferenceObjectByPointer +@ stdcall ObReferenceObjectByPointer(ptr long ptr long) @ stub ObReferenceSecurityDescriptor @ stub ObReleaseObjectSecurity @ stub ObSetHandleAttributes diff --git a/include/ddk/wdm.h b/include/ddk/wdm.h index 61374a7ed4..b75ef9d56d 100644 --- a/include/ddk/wdm.h +++ b/include/ddk/wdm.h @@ -1336,6 +1336,7 @@ static inline void *MmGetSystemAddressForMdlSafe(MDL *mdl, ULONG priority) void WINAPI ObDereferenceObject(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**); +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);