81 lines
2.3 KiB
C
81 lines
2.3 KiB
C
|
//----------------------------------------------------------------------------
|
||
|
//
|
||
|
// memcmd.h
|
||
|
//
|
||
|
// Copyright (C) Microsoft Corporation, 1997-2001.
|
||
|
//
|
||
|
//----------------------------------------------------------------------------
|
||
|
|
||
|
#ifndef _MEMCMD_H_
|
||
|
#define _MEMCMD_H_
|
||
|
|
||
|
extern ULONG64 EXPRLastDump;
|
||
|
extern ADDR g_DumpDefault;
|
||
|
|
||
|
#define GetMemByte(addr, value) \
|
||
|
(BOOL)(GetMemString(addr, value, sizeof(UCHAR)) == sizeof(UCHAR))
|
||
|
|
||
|
#define GetMemWord(addr, value) \
|
||
|
(BOOL)(GetMemString(addr, (PUCHAR)value, sizeof(USHORT)) == \
|
||
|
sizeof(USHORT))
|
||
|
|
||
|
#define GetMemDword(addr, value) \
|
||
|
(BOOL)(GetMemString(addr, (PUCHAR)value, sizeof(ULONG)) == \
|
||
|
sizeof(ULONG))
|
||
|
|
||
|
#define GetMemQword(addr, value) \
|
||
|
(BOOL)(GetMemString(addr, (PUCHAR)value, sizeof(ULONG64)) == \
|
||
|
sizeof(ULONG64))
|
||
|
|
||
|
#define GetMemString(Addr, Value, Length) \
|
||
|
GetProcessMemString(g_CurrentProcess, Addr, Value, Length)
|
||
|
#define SetMemString(Addr, Value, Length) \
|
||
|
SetProcessMemString(g_CurrentProcess, Addr, Value, Length)
|
||
|
|
||
|
ULONG
|
||
|
GetProcessMemString(
|
||
|
PPROCESS_INFO Process,
|
||
|
PADDR Addr,
|
||
|
PVOID Value,
|
||
|
ULONG Length
|
||
|
);
|
||
|
|
||
|
ULONG
|
||
|
SetProcessMemString(
|
||
|
PPROCESS_INFO Process,
|
||
|
PADDR Addr,
|
||
|
PVOID Value,
|
||
|
ULONG Length
|
||
|
);
|
||
|
|
||
|
void parseDumpCommand(void);
|
||
|
void parseEnterCommand(void);
|
||
|
|
||
|
ULONG fnDumpAsciiMemory(PADDR, ULONG);
|
||
|
ULONG fnDumpUnicodeMemory (PADDR startaddr, ULONG count);
|
||
|
void fnDumpByteMemory(PADDR, ULONG);
|
||
|
void fnDumpWordMemory(PADDR, ULONG);
|
||
|
void fnDumpDwordMemory(PADDR startaddr, ULONG count, BOOL fDumpSymbols);
|
||
|
void fnDumpDwordAndCharMemory(PADDR, ULONG);
|
||
|
void fnDumpListMemory(PADDR, ULONG, ULONG, BOOL);
|
||
|
void fnDumpFloatMemory(PADDR Start, ULONG Count);
|
||
|
void fnDumpDoubleMemory(PADDR Start, ULONG Count);
|
||
|
void fnDumpQuadMemory(PADDR Start, ULONG Count, BOOL fDumpSymbols);
|
||
|
void fnDumpByteBinaryMemory(PADDR startaddr, ULONG count);
|
||
|
void fnDumpDwordBinaryMemory(PADDR startaddr, ULONG count);
|
||
|
void fnDumpSelector(ULONG Selector);
|
||
|
|
||
|
void fnInteractiveEnterMemory(PADDR, ULONG);
|
||
|
void fnEnterMemory(PADDR, PUCHAR, ULONG);
|
||
|
|
||
|
void fnCompareMemory(PADDR, ULONG, PADDR);
|
||
|
void fnMoveMemory(PADDR, ULONG, PADDR);
|
||
|
|
||
|
void ParseFillMemory(void);
|
||
|
void ParseSearchMemory(void);
|
||
|
|
||
|
void fnInputIo(ULONG64, UCHAR);
|
||
|
void fnOutputIo (ULONG64, ULONG, UCHAR);
|
||
|
|
||
|
#endif // #ifndef _MEMCMD_H_
|