Logged ALLOCATION_TYPE

This commit is contained in:
PatrickvL 2017-01-01 16:17:31 +01:00
parent f5977140ae
commit c29a5b657b
3 changed files with 38 additions and 2 deletions

View File

@ -64,7 +64,7 @@ std::ostream& operator<<(std::ostream& os, const PULONG& value)
// Macro for implementation of rendering any Type-ToString :
#define LOGRENDER_TYPE(Type) LOGRENDER_HEADER(Type) \
{ return os << "("#Type") " << Type##ToString(value) << " = " << hex4((int)value); }
{ return os << "("#Type")" << hex4((int)value) << " = " << Type##ToString(value); }
// Macro's for Xbox Enum-ToString conversions :
#define ENUM2STR_START(EnumType) const char * EnumType##ToString(const xboxkrnl::EnumType value) { switch (value) {
@ -111,6 +111,40 @@ ENUM2STR_START(CREATE_DISPOSITION)
// ENUM2STR_CASE_DEF(FILE_MAXIMUM_DISPOSITION) Skip, identical to FILE_OVERWRITE_IF
ENUM2STR_END_and_LOGRENDER(CREATE_DISPOSITION)
FLAGS2STR_START(ALLOCATION_TYPE)
FLAG2STR(PAGE_NOACCESS)
FLAG2STR(PAGE_READONLY)
FLAG2STR(PAGE_READWRITE)
FLAG2STR(PAGE_WRITECOPY)
FLAG2STR(PAGE_EXECUTE)
FLAG2STR(PAGE_EXECUTE_READ)
FLAG2STR(PAGE_EXECUTE_READWRITE)
FLAG2STR(PAGE_EXECUTE_WRITECOPY)
FLAG2STR(PAGE_GUARD)
FLAG2STR(PAGE_NOCACHE)
FLAG2STR(PAGE_WRITECOMBINE)
FLAG2STR(MEM_COMMIT)
FLAG2STR(MEM_RESERVE)
FLAG2STR(MEM_DECOMMIT)
FLAG2STR(MEM_RELEASE)
FLAG2STR(MEM_FREE)
FLAG2STR(MEM_PRIVATE)
FLAG2STR(MEM_MAPPED)
FLAG2STR(MEM_RESET)
FLAG2STR(MEM_TOP_DOWN)
FLAG2STR(MEM_WRITE_WATCH)
FLAG2STR(MEM_PHYSICAL)
FLAG2STR(SEC_FILE)
FLAG2STR(SEC_IMAGE)
FLAG2STR(SEC_RESERVE)
FLAG2STR(SEC_COMMIT)
FLAG2STR(SEC_NOCACHE)
FLAG2STR(MEM_LARGE_PAGES)
FLAG2STR(MEM_4MB_PAGES)
// MEM_IMAGE = SEC_IMAGE;
// WRITE_WATCH_FLAG_RESET = $01;
FLAGS2STR_END_and_LOGRENDER(ALLOCATION_TYPE)
FLAGS2STR_START(CREATE_OPTION)
/*
#define FILE_VALID_OPTION_FLAGS 0x00ffffff

View File

@ -42,6 +42,7 @@ namespace xboxkrnl
#include <xboxkrnl/xboxkrnl.h>
// Additional types, exclusively for logging :
enum ALLOCATION_TYPE;
enum CREATE_DISPOSITION;
enum CREATE_OPTION;
};
@ -60,6 +61,7 @@ std::ostream& operator<<(std::ostream& os, const PULONG& value);
// Headers for rendering Xbox enum types :
LOGRENDER_HEADER(ALLOCATION_TYPE); // Not really an enum
LOGRENDER_HEADER(BUS_DATA_TYPE);
LOGRENDER_HEADER(CREATE_DISPOSITION); // Not really an enum
LOGRENDER_HEADER(CREATE_OPTION); // Not really an enum

View File

@ -75,7 +75,7 @@ XBSYSAPI EXPORTNUM(184) xboxkrnl::NTSTATUS NTAPI xboxkrnl::NtAllocateVirtualMemo
LOG_FUNC_ARG(BaseAddress)
LOG_FUNC_ARG(ZeroBits)
LOG_FUNC_ARG(AllocationSize)
LOG_FUNC_ARG(AllocationType)
LOG_FUNC_ARG_TYPE(ALLOCATION_TYPE, AllocationType)
LOG_FUNC_ARG(Protect)
LOG_FUNC_END;