Renamed LOG_FUNC_FORWARD to LOG_FORWARD, added actual logging, populated all OBJECT_TYPE variables.
This commit is contained in:
parent
0dea41a0d3
commit
7a7af0db5e
|
@ -93,10 +93,6 @@ extern thread_local std::string _logPrefix;
|
|||
std::cout << msg.str(); \
|
||||
} } while (0)
|
||||
|
||||
// LOG_FUNC_FORWARD indicates that an api is implemented by a forward to another API
|
||||
#define LOG_FUNC_FORWARD(api) \
|
||||
std::cout << _logPrefix << __func__ << " forwarding to "#api"...\n";
|
||||
|
||||
// LOG_FUNC_RESULT logs the function return result
|
||||
#define LOG_FUNC_RESULT(r) \
|
||||
std::cout << _logPrefix << __func__ << " returns " << r << "\n";
|
||||
|
@ -119,14 +115,20 @@ extern thread_local std::string _logPrefix;
|
|||
// Log function with one out argument
|
||||
#define LOG_FUNC_ONE_ARG_OUT(arg) LOG_FUNC_BEGIN LOG_FUNC_ARG_OUT(arg) LOG_FUNC_END
|
||||
|
||||
// LOG_FORWARD indicates that an api is implemented by a forward to another API
|
||||
#define LOG_FORWARD(api) \
|
||||
do { if(g_bPrintfOn) { \
|
||||
std::cout << _logPrefix << __func__ << " forwarding to "#api"...\n"; \
|
||||
} } while (0)
|
||||
|
||||
#define LOG_IGNORED() \
|
||||
do { if(g_bPrintfOn) { \
|
||||
std::cout << __func__ << " ignored!\n"; \
|
||||
std::cout << _logPrefix << __func__ << " ignored!\n"; \
|
||||
} } while (0)
|
||||
|
||||
#define LOG_UNIMPLEMENTED() \
|
||||
do { if(g_bPrintfOn) { \
|
||||
std::cout << __func__ << " unimplemented!\n"; \
|
||||
std::cout << _logPrefix << __func__ << " unimplemented!\n"; \
|
||||
} } while (0)
|
||||
|
||||
#define RETURN(r) do { LOG_FUNC_RESULT(r) return r; } while (0)
|
||||
|
|
|
@ -89,7 +89,7 @@ XBSYSAPI EXPORTNUM(14) xboxkrnl::PVOID NTAPI xboxkrnl::ExAllocatePool
|
|||
IN SIZE_T NumberOfBytes
|
||||
)
|
||||
{
|
||||
LOG_FUNC_FORWARD("ExAllocatePoolWithTag");
|
||||
LOG_FORWARD("ExAllocatePoolWithTag");
|
||||
|
||||
return ExAllocatePoolWithTag(NumberOfBytes, (ULONG)"enoN"); // = "None" in reverse
|
||||
}
|
||||
|
@ -118,7 +118,18 @@ XBSYSAPI EXPORTNUM(15) xboxkrnl::PVOID NTAPI xboxkrnl::ExAllocatePoolWithTag
|
|||
}
|
||||
|
||||
// TODO : What should we initialize this to?
|
||||
XBSYSAPI EXPORTNUM(16) xboxkrnl::OBJECT_TYPE xboxkrnl::ExEventObjectType = {};
|
||||
XBSYSAPI EXPORTNUM(16) xboxkrnl::OBJECT_TYPE xboxkrnl::ExEventObjectType =
|
||||
{
|
||||
/*
|
||||
ExAllocatePoolWithTag,
|
||||
ExFreePool,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
*/
|
||||
NULL, // (PVOID)FIELD_OFFSET(KEVENT, Header),
|
||||
'vevE' // = first four characters of "Event" in reverse
|
||||
};
|
||||
|
||||
// ******************************************************************
|
||||
// * 0x0011 ExFreePool
|
||||
|
@ -216,7 +227,18 @@ XBSYSAPI EXPORTNUM(21) xboxkrnl::LONGLONG FASTCALL xboxkrnl::ExInterlockedCompar
|
|||
}
|
||||
|
||||
// TODO : What should we initialize this to?
|
||||
XBSYSAPI EXPORTNUM(22) xboxkrnl::OBJECT_TYPE xboxkrnl::ExMutantObjectType = {};
|
||||
XBSYSAPI EXPORTNUM(22) xboxkrnl::OBJECT_TYPE xboxkrnl::ExMutantObjectType =
|
||||
{
|
||||
/*
|
||||
ExAllocatePoolWithTag,
|
||||
ExFreePool,
|
||||
NULL,
|
||||
ExpDeleteMutant,
|
||||
NULL,
|
||||
*/
|
||||
NULL, // (PVOID)FIELD_OFFSET(KMUTANT, Header),
|
||||
'atuM' // = first four characters of "Mutant" in reverse
|
||||
};
|
||||
|
||||
// ******************************************************************
|
||||
// * 0x0017 ExQueryPoolBlockSize
|
||||
|
@ -495,10 +517,32 @@ XBSYSAPI EXPORTNUM(29) xboxkrnl::NTSTATUS NTAPI xboxkrnl::ExSaveNonVolatileSetti
|
|||
}
|
||||
|
||||
// TODO : What should we initialize this to?
|
||||
XBSYSAPI EXPORTNUM(30) xboxkrnl::OBJECT_TYPE xboxkrnl::ExSemaphoreObjectType = {};
|
||||
XBSYSAPI EXPORTNUM(30) xboxkrnl::OBJECT_TYPE xboxkrnl::ExSemaphoreObjectType =
|
||||
{
|
||||
/*
|
||||
ExAllocatePoolWithTag,
|
||||
ExFreePool,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
*/
|
||||
NULL, // (PVOID)FIELD_OFFSET(KSEMAPHORE, Header),
|
||||
'ameS' // = first four characters of "Semaphore" in reverse
|
||||
};
|
||||
|
||||
// TODO : What should we initialize this to?
|
||||
XBSYSAPI EXPORTNUM(31) xboxkrnl::OBJECT_TYPE xboxkrnl::ExTimerObjectType = {};
|
||||
XBSYSAPI EXPORTNUM(31) xboxkrnl::OBJECT_TYPE xboxkrnl::ExTimerObjectType =
|
||||
{
|
||||
/*
|
||||
ExAllocatePoolWithTag,
|
||||
ExFreePool,
|
||||
NULL,
|
||||
ExpDeleteTimer,
|
||||
NULL,
|
||||
*/
|
||||
NULL, // (PVOID)FIELD_OFFSET(KTIMER, Header),
|
||||
'emiT' // = first four characters of "Timer" in reverse
|
||||
};
|
||||
|
||||
// Source:ReactOS
|
||||
XBSYSAPI EXPORTNUM(32) xboxkrnl::PLIST_ENTRY FASTCALL xboxkrnl::ExfInterlockedInsertHeadList
|
||||
|
|
|
@ -48,7 +48,18 @@ namespace xboxkrnl
|
|||
#include "EmuFile.h" // For CxbxCreateSymbolicLink(), etc.
|
||||
|
||||
// TODO : What should we initialize this to?
|
||||
XBSYSAPI EXPORTNUM(64) xboxkrnl::OBJECT_TYPE xboxkrnl::IoCompletionObjectType = {};
|
||||
XBSYSAPI EXPORTNUM(64) xboxkrnl::OBJECT_TYPE xboxkrnl::IoCompletionObjectType =
|
||||
{
|
||||
/*
|
||||
ExAllocatePoolWithTag,
|
||||
ExFreePool,
|
||||
NULL,
|
||||
IopDeleteIoCompletion,
|
||||
NULL,
|
||||
*/
|
||||
NULL, // &ObpDefaultObject,
|
||||
'pmoC' // = first four characters of "Completion" in reverse
|
||||
};
|
||||
|
||||
// ******************************************************************
|
||||
// * 0x0042 - IoCreateFile
|
||||
|
@ -150,10 +161,32 @@ XBSYSAPI EXPORTNUM(69) xboxkrnl::NTSTATUS NTAPI xboxkrnl::IoDeleteSymbolicLink
|
|||
}
|
||||
|
||||
// TODO : What should we initialize this to?
|
||||
XBSYSAPI EXPORTNUM(70) xboxkrnl::OBJECT_TYPE xboxkrnl::IoDeviceObjectType = {};
|
||||
XBSYSAPI EXPORTNUM(70) xboxkrnl::OBJECT_TYPE xboxkrnl::IoDeviceObjectType =
|
||||
{
|
||||
/*
|
||||
ExAllocatePoolWithTag,
|
||||
ExFreePool,
|
||||
NULL,
|
||||
NULL,
|
||||
IoParseDevice,
|
||||
*/
|
||||
NULL, // &ObpDefaultObject,
|
||||
'iveD' // = first four characters of "Device" in reverse
|
||||
};
|
||||
|
||||
// TODO : What should we initialize this to?
|
||||
XBSYSAPI EXPORTNUM(71) xboxkrnl::OBJECT_TYPE xboxkrnl::IoFileObjectType = {};
|
||||
XBSYSAPI EXPORTNUM(71) xboxkrnl::OBJECT_TYPE xboxkrnl::IoFileObjectType =
|
||||
{
|
||||
/*
|
||||
ExAllocatePoolWithTag,
|
||||
ExFreePool,
|
||||
IopCloseFile,
|
||||
IopDeleteFile,
|
||||
IopParseFile,
|
||||
*/
|
||||
NULL, // (PVOID)FIELD_OFFSET(FILE_OBJECT, Event.Header),
|
||||
'eliF' // = "File" in reverse
|
||||
};
|
||||
|
||||
XBSYSAPI EXPORTNUM(90) xboxkrnl::NTSTATUS NTAPI xboxkrnl::IoDismountVolume
|
||||
(
|
||||
|
|
|
@ -432,7 +432,7 @@ XBSYSAPI EXPORTNUM(149) xboxkrnl::BOOLEAN NTAPI xboxkrnl::KeSetTimer
|
|||
IN PKDPC Dpc OPTIONAL
|
||||
)
|
||||
{
|
||||
LOG_FUNC_FORWARD("KeSetTimerEx");
|
||||
LOG_FORWARD("KeSetTimerEx");
|
||||
|
||||
// Call KeSetTimerEx with a period of zero
|
||||
return KeSetTimerEx(Timer, DueTime, 0, Dpc);
|
||||
|
|
|
@ -86,7 +86,7 @@ XBSYSAPI EXPORTNUM(165) xboxkrnl::PVOID NTAPI xboxkrnl::MmAllocateContiguousMemo
|
|||
IN ULONG NumberOfBytes
|
||||
)
|
||||
{
|
||||
LOG_FUNC_FORWARD("MmAllocateContiguousMemoryEx");
|
||||
LOG_FORWARD("MmAllocateContiguousMemoryEx");
|
||||
|
||||
return MmAllocateContiguousMemoryEx(NumberOfBytes, 0, MAXULONG_PTR, 0,
|
||||
PAGE_READWRITE);
|
||||
|
|
|
@ -1165,7 +1165,7 @@ XBSYSAPI EXPORTNUM(190) xboxkrnl::NTSTATUS NTAPI xboxkrnl::NtCreateFile
|
|||
IN ULONG CreateOptions
|
||||
)
|
||||
{
|
||||
LOG_FUNC_FORWARD("IoCreateFile");
|
||||
LOG_FORWARD("IoCreateFile");
|
||||
|
||||
return xboxkrnl::IoCreateFile(
|
||||
FileHandle,
|
||||
|
@ -1402,7 +1402,7 @@ XBSYSAPI EXPORTNUM(201) xboxkrnl::NTSTATUS NTAPI xboxkrnl::NtOpenDirectoryObject
|
|||
IN POBJECT_ATTRIBUTES ObjectAttributes
|
||||
)
|
||||
{
|
||||
LOG_FUNC_FORWARD("ObOpenObjectByName");
|
||||
LOG_FORWARD("ObOpenObjectByName");
|
||||
|
||||
return ObOpenObjectByName(ObjectAttributes, &ObDirectoryObjectType, NULL, DirectoryHandle);
|
||||
}
|
||||
|
@ -1425,7 +1425,7 @@ XBSYSAPI EXPORTNUM(202) xboxkrnl::NTSTATUS NTAPI xboxkrnl::NtOpenFile
|
|||
IN ULONG OpenOptions
|
||||
)
|
||||
{
|
||||
LOG_FUNC_FORWARD("IoCreateFile");
|
||||
LOG_FORWARD("IoCreateFile");
|
||||
|
||||
return xboxkrnl::IoCreateFile(
|
||||
FileHandle,
|
||||
|
@ -1450,6 +1450,11 @@ XBSYSAPI EXPORTNUM(203) xboxkrnl::NTSTATUS NTAPI xboxkrnl::NtOpenSymbolicLinkObj
|
|||
IN POBJECT_ATTRIBUTES ObjectAttributes
|
||||
)
|
||||
{
|
||||
/* TODO :
|
||||
LOG_FORWARD("ObOpenObjectByName");
|
||||
|
||||
return ObOpenObjectByName(ObjectAttributes, &ObSymbolicLinkObjectType, NULL, LinkHandle);
|
||||
*/
|
||||
LOG_FUNC_BEGIN
|
||||
LOG_FUNC_ARG_OUT(LinkHandle)
|
||||
LOG_FUNC_ARG(ObjectAttributes)
|
||||
|
@ -2167,7 +2172,7 @@ XBSYSAPI EXPORTNUM(233) xboxkrnl::NTSTATUS NTAPI xboxkrnl::NtWaitForSingleObject
|
|||
IN PLARGE_INTEGER Timeout
|
||||
)
|
||||
{
|
||||
LOG_FUNC_FORWARD("NtWaitForSingleObjectEx");
|
||||
LOG_FORWARD("NtWaitForSingleObjectEx");
|
||||
|
||||
return NtWaitForSingleObjectEx(Handle, KernelMode, Alertable, Timeout);
|
||||
}
|
||||
|
|
|
@ -92,7 +92,18 @@ XBSYSAPI EXPORTNUM(243) xboxkrnl::NTSTATUS NTAPI xboxkrnl::ObOpenObjectByName
|
|||
XBSYSAPI EXPORTNUM(245) xboxkrnl::DWORD xboxkrnl::ObpObjectHandleTable[1] = {};
|
||||
|
||||
// TODO : What should we initialize this to?
|
||||
XBSYSAPI EXPORTNUM(249) xboxkrnl::OBJECT_TYPE xboxkrnl::ObSymbolicLinkObjectType = {};
|
||||
XBSYSAPI EXPORTNUM(249) xboxkrnl::OBJECT_TYPE xboxkrnl::ObSymbolicLinkObjectType =
|
||||
{
|
||||
/*
|
||||
ExAllocatePoolWithTag,
|
||||
ExFreePool,
|
||||
NULL,
|
||||
ObpDeleteSymbolicLink,
|
||||
NULL,
|
||||
*/
|
||||
NULL, // &ObpDefaultObject,
|
||||
'bmyS' // = first four characters of "SymbolicLink" in reverse
|
||||
};
|
||||
|
||||
// ObReferenceObjectByHandle:
|
||||
// Turns a handle into a kernel object pointer. The ObjectType parameter
|
||||
|
|
Loading…
Reference in New Issue