99 lines
1.9 KiB
C
99 lines
1.9 KiB
C
|
#ifndef _WIN64
|
||
|
/*++
|
||
|
|
||
|
Copyright (c) 1992 Microsoft Corporation
|
||
|
|
||
|
Module Name:
|
||
|
|
||
|
symhelp.h
|
||
|
|
||
|
Abstract:
|
||
|
|
||
|
Defines the interfaces to the SYMHELP dynamic link library. Useful for programs
|
||
|
that want to maintain a debug informaiton data base.
|
||
|
|
||
|
Author:
|
||
|
|
||
|
Steve Wood (stevewo) 11-Mar-1994
|
||
|
|
||
|
Revision History:
|
||
|
|
||
|
Mike Seaman (mikese) 20-Jan-1995 Added TranslateAddress
|
||
|
|
||
|
--*/
|
||
|
|
||
|
#ifndef _SYMHELP_
|
||
|
#define _SYMHELP_
|
||
|
|
||
|
typedef enum _LOAD_SYMBOLS_FILTER_REASON {
|
||
|
LoadSymbolsPathNotFound,
|
||
|
LoadSymbolsDeferredLoad,
|
||
|
LoadSymbolsLoad,
|
||
|
LoadSymbolsUnload,
|
||
|
LoadSymbolsUnableToLoad
|
||
|
} LOAD_SYMBOLS_FILTER_REASON;
|
||
|
|
||
|
typedef BOOL (*PLOAD_SYMBOLS_FILTER_ROUTINE)(
|
||
|
HANDLE UniqueProcess,
|
||
|
LPSTR ImageFilePath,
|
||
|
DWORD ImageBase,
|
||
|
DWORD ImageSize,
|
||
|
LOAD_SYMBOLS_FILTER_REASON Reason
|
||
|
);
|
||
|
|
||
|
BOOL
|
||
|
InitializeImageDebugInformation(
|
||
|
IN PLOAD_SYMBOLS_FILTER_ROUTINE LoadSymbolsFilter,
|
||
|
IN HANDLE TargetProcess,
|
||
|
IN BOOL NewProcess,
|
||
|
IN BOOL GetKernelSymbols
|
||
|
);
|
||
|
|
||
|
BOOL
|
||
|
AddImageDebugInformation(
|
||
|
IN HANDLE UniqueProcess,
|
||
|
IN LPSTR ImageFilePath,
|
||
|
IN DWORD ImageBase,
|
||
|
IN DWORD ImageSize
|
||
|
);
|
||
|
|
||
|
BOOL
|
||
|
RemoveImageDebugInformation(
|
||
|
IN HANDLE UniqueProcess,
|
||
|
IN LPSTR ImageFilePath,
|
||
|
IN DWORD ImageBase
|
||
|
);
|
||
|
|
||
|
PIMAGE_DEBUG_INFORMATION
|
||
|
FindImageDebugInformation(
|
||
|
IN HANDLE UniqueProcess,
|
||
|
IN DWORD Address
|
||
|
);
|
||
|
|
||
|
ULONG
|
||
|
GetSymbolicNameForAddress(
|
||
|
IN HANDLE UniqueProcess,
|
||
|
IN ULONG Address,
|
||
|
OUT LPSTR Name,
|
||
|
IN ULONG MaxNameLength
|
||
|
);
|
||
|
|
||
|
//
|
||
|
// The following function is essentially identical in operation to
|
||
|
// GetSymbolicNameForAddress, except that it:
|
||
|
//
|
||
|
// 1. Operates only on the calling process.
|
||
|
// 2. Does not require any previous calls to AddImageDebugInformation et al.
|
||
|
// That is, debug information for all currently loaded modules will
|
||
|
// be added automatically.
|
||
|
|
||
|
ULONG
|
||
|
TranslateAddress (
|
||
|
IN ULONG Address,
|
||
|
OUT LPSTR Name,
|
||
|
IN ULONG MaxNameLength
|
||
|
);
|
||
|
|
||
|
#endif
|
||
|
#endif
|