diff --git a/import/OpenXDK/include/xboxkrnl/ob.h b/import/OpenXDK/include/xboxkrnl/ob.h index ba68b5820..f078477cb 100644 --- a/import/OpenXDK/include/xboxkrnl/ob.h +++ b/import/OpenXDK/include/xboxkrnl/ob.h @@ -28,7 +28,17 @@ XBSYSAPI EXPORTNUM(239) NTSTATUS NTAPI ObCreateObject // ****************************************************************** XBSYSAPI EXPORTNUM(240) OBJECT_TYPE ObDirectoryObjectType; -XBSYSAPI VOID *ObInsertObject; +// ****************************************************************** +// * 0x00F1 - ObInsertObject() +// ****************************************************************** +XBSYSAPI EXPORTNUM(241) NTSTATUS NTAPI ObInsertObject +( + IN PVOID Object, + IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL, + IN ULONG ObjectPointerBias, + OUT PHANDLE Handle +); + XBSYSAPI VOID *ObMakeTemporaryObject; XBSYSAPI EXPORTNUM(243) NTSTATUS NTAPI ObOpenObjectByName diff --git a/src/CxbxKrnl/EmuKrnlOb.cpp b/src/CxbxKrnl/EmuKrnlOb.cpp index 382080b12..14019159b 100644 --- a/src/CxbxKrnl/EmuKrnlOb.cpp +++ b/src/CxbxKrnl/EmuKrnlOb.cpp @@ -97,6 +97,29 @@ XBSYSAPI EXPORTNUM(240) xboxkrnl::OBJECT_TYPE xboxkrnl::ObDirectoryObjectType = 'eriD' // = first four characters of "Directory" in reverse }; +// ****************************************************************** +// * 0x00F1 - ObInsertObject() +// ****************************************************************** +XBSYSAPI EXPORTNUM(241) xboxkrnl::NTSTATUS NTAPI xboxkrnl::ObInsertObject +( + IN PVOID Object, + IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL, + IN ULONG ObjectPointerBias, + OUT PHANDLE Handle +) +{ + LOG_FUNC_BEGIN + LOG_FUNC_ARG(Object) + LOG_FUNC_ARG(ObjectAttributes) + LOG_FUNC_ARG(ObjectPointerBias) + LOG_FUNC_ARG_OUT(Handle) + LOG_FUNC_END; + + LOG_UNIMPLEMENTED(); + + RETURN(S_OK); +} + // ****************************************************************** // * 0x00F3 - ObOpenObjectByName() // ****************************************************************** diff --git a/src/CxbxKrnl/KernelThunk.cpp b/src/CxbxKrnl/KernelThunk.cpp index ad45a6885..4ed56b1bf 100644 --- a/src/CxbxKrnl/KernelThunk.cpp +++ b/src/CxbxKrnl/KernelThunk.cpp @@ -308,7 +308,7 @@ extern "C" CXBXKRNL_API uint32 CxbxKrnl_KernelThunkTable[379] = (uint32)FUNC(&xboxkrnl::NtYieldExecution), // 0x00EE (238) (uint32)FUNC(&xboxkrnl::ObCreateObject), // 0x00EF (239) (uint32)VARIABLE(&xboxkrnl::ObDirectoryObjectType), // 0x00F0 (240) - (uint32)PANIC(0x00F1), // 0x00F1 (241) ObInsertObject + (uint32)FUNC(&xboxkrnl::ObInsertObject), // 0x00F1 (241) (uint32)PANIC(0x00F2), // 0x00F2 (242) ObMakeTemporaryObject (uint32)FUNC(&xboxkrnl::ObOpenObjectByName), // 0x00F3 (243) (uint32)PANIC(0x00F4), // 0x00F4 (244) ObOpenObjectByPointer