4e2933c620 2015-04-21 kinaba: /***********************************************************************\ 4e2933c620 2015-04-21 kinaba: * imagehlp.d * 4e2933c620 2015-04-21 kinaba: * * 4e2933c620 2015-04-21 kinaba: * Windows API header module * 4e2933c620 2015-04-21 kinaba: * * 4e2933c620 2015-04-21 kinaba: * Translated from MinGW Windows headers * 4e2933c620 2015-04-21 kinaba: * by Stewart Gordon * 4e2933c620 2015-04-21 kinaba: * * 4e2933c620 2015-04-21 kinaba: * Placed into public domain * 4e2933c620 2015-04-21 kinaba: \***********************************************************************/ 4e2933c620 2015-04-21 kinaba: module win32.imagehlp; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: /* Comment from MinGW 4e2933c620 2015-04-21 kinaba: NOTE: This strictly does not belong in the Win32 API since it's 4e2933c620 2015-04-21 kinaba: really part of Platform SDK. However, GDB needs it and we might 4e2933c620 2015-04-21 kinaba: as well provide it here. 4e2933c620 2015-04-21 kinaba: */ 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: private import win32.winbase, win32.windef; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: // FIXME: check types of constants 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: const API_VERSION_NUMBER = 7; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: const BIND_NO_BOUND_IMPORTS = 1; 4e2933c620 2015-04-21 kinaba: const BIND_NO_UPDATE = 2; 4e2933c620 2015-04-21 kinaba: const BIND_ALL_IMAGES = 4; 4e2933c620 2015-04-21 kinaba: const BIND_CACHE_IMPORT_DLLS = 8; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: enum { 4e2933c620 2015-04-21 kinaba: CBA_DEFERRED_SYMBOL_LOAD_START = 1, 4e2933c620 2015-04-21 kinaba: CBA_DEFERRED_SYMBOL_LOAD_COMPLETE, 4e2933c620 2015-04-21 kinaba: CBA_DEFERRED_SYMBOL_LOAD_FAILURE, 4e2933c620 2015-04-21 kinaba: CBA_SYMBOLS_UNLOADED, 4e2933c620 2015-04-21 kinaba: CBA_DUPLICATE_SYMBOL 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: const CERT_PE_IMAGE_DIGEST_DEBUG_INFO = 1; 4e2933c620 2015-04-21 kinaba: const CERT_PE_IMAGE_DIGEST_RESOURCES = 2; 4e2933c620 2015-04-21 kinaba: const CERT_PE_IMAGE_DIGEST_ALL_IMPORT_INFO = 4; 4e2933c620 2015-04-21 kinaba: const CERT_PE_IMAGE_DIGEST_NON_PE_INFO = 8; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: const CERT_SECTION_TYPE_ANY = 255; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: enum { 4e2933c620 2015-04-21 kinaba: CHECKSUM_SUCCESS = 0, 4e2933c620 2015-04-21 kinaba: CHECKSUM_OPEN_FAILURE, 4e2933c620 2015-04-21 kinaba: CHECKSUM_MAP_FAILURE, 4e2933c620 2015-04-21 kinaba: CHECKSUM_MAPVIEW_FAILURE, 4e2933c620 2015-04-21 kinaba: CHECKSUM_UNICODE_FAILURE 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: const IMAGE_SEPARATION = 65536; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: const SPLITSYM_REMOVE_PRIVATE = 1; 4e2933c620 2015-04-21 kinaba: const SPLITSYM_EXTRACT_ALL = 2; 4e2933c620 2015-04-21 kinaba: const SPLITSYM_SYMBOLPATH_IS_SRC = 4; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: const SYMF_OMAP_GENERATED = 1; 4e2933c620 2015-04-21 kinaba: const SYMF_OMAP_MODIFIED = 2; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: const SYMOPT_CASE_INSENSITIVE = 1; 4e2933c620 2015-04-21 kinaba: const SYMOPT_UNDNAME = 2; 4e2933c620 2015-04-21 kinaba: const SYMOPT_DEFERRED_LOADS = 4; 4e2933c620 2015-04-21 kinaba: const SYMOPT_NO_CPP = 8; 4e2933c620 2015-04-21 kinaba: const SYMOPT_LOAD_LINES = 16; 4e2933c620 2015-04-21 kinaba: const SYMOPT_OMAP_FIND_NEAREST = 32; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: const UNDNAME_COMPLETE = 0; 4e2933c620 2015-04-21 kinaba: const UNDNAME_NO_LEADING_UNDERSCORES = 1; 4e2933c620 2015-04-21 kinaba: const UNDNAME_NO_MS_KEYWORDS = 2; 4e2933c620 2015-04-21 kinaba: const UNDNAME_NO_FUNCTION_RETURNS = 4; 4e2933c620 2015-04-21 kinaba: const UNDNAME_NO_ALLOCATION_MODEL = 8; 4e2933c620 2015-04-21 kinaba: const UNDNAME_NO_ALLOCATION_LANGUAGE = 16; 4e2933c620 2015-04-21 kinaba: const UNDNAME_NO_MS_THISTYPE = 32; 4e2933c620 2015-04-21 kinaba: const UNDNAME_NO_CV_THISTYPE = 64; 4e2933c620 2015-04-21 kinaba: const UNDNAME_NO_THISTYPE = 96; 4e2933c620 2015-04-21 kinaba: const UNDNAME_NO_ACCESS_SPECIFIERS = 128; 4e2933c620 2015-04-21 kinaba: const UNDNAME_NO_THROW_SIGNATURES = 256; 4e2933c620 2015-04-21 kinaba: const UNDNAME_NO_MEMBER_TYPE = 512; 4e2933c620 2015-04-21 kinaba: const UNDNAME_NO_RETURN_UDT_MODEL = 1024; 4e2933c620 2015-04-21 kinaba: const UNDNAME_32_BIT_DECODE = 2048; 4e2933c620 2015-04-21 kinaba: const UNDNAME_NAME_ONLY = 4096; 4e2933c620 2015-04-21 kinaba: const UNDNAME_NO_ARGUMENTS = 8192; 4e2933c620 2015-04-21 kinaba: const UNDNAME_NO_SPECIAL_SYMS = 16384; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: enum IMAGEHLP_STATUS_REASON { 4e2933c620 2015-04-21 kinaba: BindOutOfMemory, 4e2933c620 2015-04-21 kinaba: BindRvaToVaFailed, 4e2933c620 2015-04-21 kinaba: BindNoRoomInImage, 4e2933c620 2015-04-21 kinaba: BindImportModuleFailed, 4e2933c620 2015-04-21 kinaba: BindImportProcedureFailed, 4e2933c620 2015-04-21 kinaba: BindImportModule, 4e2933c620 2015-04-21 kinaba: BindImportProcedure, 4e2933c620 2015-04-21 kinaba: BindForwarder, 4e2933c620 2015-04-21 kinaba: BindForwarderNOT, 4e2933c620 2015-04-21 kinaba: BindImageModified, 4e2933c620 2015-04-21 kinaba: BindExpandFileHeaders, 4e2933c620 2015-04-21 kinaba: BindImageComplete, 4e2933c620 2015-04-21 kinaba: BindMismatchedSymbols, 4e2933c620 2015-04-21 kinaba: BindSymbolsNotUpdated 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct LOADED_IMAGE { 4e2933c620 2015-04-21 kinaba: LPSTR ModuleName; 4e2933c620 2015-04-21 kinaba: HANDLE hFile; 4e2933c620 2015-04-21 kinaba: PUCHAR MappedAddress; 4e2933c620 2015-04-21 kinaba: PIMAGE_NT_HEADERS FileHeader; 4e2933c620 2015-04-21 kinaba: PIMAGE_SECTION_HEADER LastRvaSection; 4e2933c620 2015-04-21 kinaba: ULONG NumberOfSections; 4e2933c620 2015-04-21 kinaba: PIMAGE_SECTION_HEADER Sections; 4e2933c620 2015-04-21 kinaba: ULONG Characteristics; 4e2933c620 2015-04-21 kinaba: BOOLEAN fSystemImage; 4e2933c620 2015-04-21 kinaba: BOOLEAN fDOSImage; 4e2933c620 2015-04-21 kinaba: LIST_ENTRY Links; 4e2933c620 2015-04-21 kinaba: ULONG SizeOfImage; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias LOADED_IMAGE* PLOADED_IMAGE; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct IMAGE_DEBUG_INFORMATION { 4e2933c620 2015-04-21 kinaba: LIST_ENTRY List; 4e2933c620 2015-04-21 kinaba: DWORD Size; 4e2933c620 2015-04-21 kinaba: PVOID MappedBase; 4e2933c620 2015-04-21 kinaba: USHORT Machine; 4e2933c620 2015-04-21 kinaba: USHORT Characteristics; 4e2933c620 2015-04-21 kinaba: DWORD CheckSum; 4e2933c620 2015-04-21 kinaba: DWORD ImageBase; 4e2933c620 2015-04-21 kinaba: DWORD SizeOfImage; 4e2933c620 2015-04-21 kinaba: DWORD NumberOfSections; 4e2933c620 2015-04-21 kinaba: PIMAGE_SECTION_HEADER Sections; 4e2933c620 2015-04-21 kinaba: DWORD ExportedNamesSize; 4e2933c620 2015-04-21 kinaba: LPSTR ExportedNames; 4e2933c620 2015-04-21 kinaba: DWORD NumberOfFunctionTableEntries; 4e2933c620 2015-04-21 kinaba: PIMAGE_FUNCTION_ENTRY FunctionTableEntries; 4e2933c620 2015-04-21 kinaba: DWORD LowestFunctionStartingAddress; 4e2933c620 2015-04-21 kinaba: DWORD HighestFunctionEndingAddress; 4e2933c620 2015-04-21 kinaba: DWORD NumberOfFpoTableEntries; 4e2933c620 2015-04-21 kinaba: PFPO_DATA FpoTableEntries; 4e2933c620 2015-04-21 kinaba: DWORD SizeOfCoffSymbols; 4e2933c620 2015-04-21 kinaba: PIMAGE_COFF_SYMBOLS_HEADER CoffSymbols; 4e2933c620 2015-04-21 kinaba: DWORD SizeOfCodeViewSymbols; 4e2933c620 2015-04-21 kinaba: PVOID CodeViewSymbols; 4e2933c620 2015-04-21 kinaba: LPSTR ImageFilePath; 4e2933c620 2015-04-21 kinaba: LPSTR ImageFileName; 4e2933c620 2015-04-21 kinaba: LPSTR DebugFilePath; 4e2933c620 2015-04-21 kinaba: DWORD TimeDateStamp; 4e2933c620 2015-04-21 kinaba: BOOL RomImage; 4e2933c620 2015-04-21 kinaba: PIMAGE_DEBUG_DIRECTORY DebugDirectory; 4e2933c620 2015-04-21 kinaba: DWORD NumberOfDebugDirectories; 4e2933c620 2015-04-21 kinaba: DWORD[3] Reserved; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias IMAGE_DEBUG_INFORMATION* PIMAGE_DEBUG_INFORMATION; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: enum ADDRESS_MODE { 4e2933c620 2015-04-21 kinaba: AddrMode1616, 4e2933c620 2015-04-21 kinaba: AddrMode1632, 4e2933c620 2015-04-21 kinaba: AddrModeReal, 4e2933c620 2015-04-21 kinaba: AddrModeFlat 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct ADDRESS { 4e2933c620 2015-04-21 kinaba: DWORD Offset; 4e2933c620 2015-04-21 kinaba: WORD Segment; 4e2933c620 2015-04-21 kinaba: ADDRESS_MODE Mode; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias ADDRESS* LPADDRESS; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct KDHELP { 4e2933c620 2015-04-21 kinaba: DWORD Thread; 4e2933c620 2015-04-21 kinaba: DWORD ThCallbackStack; 4e2933c620 2015-04-21 kinaba: DWORD NextCallback; 4e2933c620 2015-04-21 kinaba: DWORD FramePointer; 4e2933c620 2015-04-21 kinaba: DWORD KiCallUserMode; 4e2933c620 2015-04-21 kinaba: DWORD KeUserCallbackDispatcher; 4e2933c620 2015-04-21 kinaba: DWORD SystemRangeStart; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias KDHELP* PKDHELP; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct STACKFRAME { 4e2933c620 2015-04-21 kinaba: ADDRESS AddrPC; 4e2933c620 2015-04-21 kinaba: ADDRESS AddrReturn; 4e2933c620 2015-04-21 kinaba: ADDRESS AddrFrame; 4e2933c620 2015-04-21 kinaba: ADDRESS AddrStack; 4e2933c620 2015-04-21 kinaba: LPVOID FuncTableEntry; 4e2933c620 2015-04-21 kinaba: DWORD[4] Params; 4e2933c620 2015-04-21 kinaba: BOOL Far; 4e2933c620 2015-04-21 kinaba: BOOL Virtual; 4e2933c620 2015-04-21 kinaba: DWORD[3] Reserved; 4e2933c620 2015-04-21 kinaba: KDHELP KdHelp; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias STACKFRAME* LPSTACKFRAME; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct API_VERSION { 4e2933c620 2015-04-21 kinaba: USHORT MajorVersion; 4e2933c620 2015-04-21 kinaba: USHORT MinorVersion; 4e2933c620 2015-04-21 kinaba: USHORT Revision; 4e2933c620 2015-04-21 kinaba: USHORT Reserved; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias API_VERSION* LPAPI_VERSION; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: enum SYM_TYPE { 4e2933c620 2015-04-21 kinaba: SymNone, 4e2933c620 2015-04-21 kinaba: SymCoff, 4e2933c620 2015-04-21 kinaba: SymCv, 4e2933c620 2015-04-21 kinaba: SymPdb, 4e2933c620 2015-04-21 kinaba: SymExport, 4e2933c620 2015-04-21 kinaba: SymDeferred, 4e2933c620 2015-04-21 kinaba: SymSym 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct IMAGEHLP_SYMBOL { 4e2933c620 2015-04-21 kinaba: DWORD SizeOfStruct; 4e2933c620 2015-04-21 kinaba: DWORD Address; 4e2933c620 2015-04-21 kinaba: DWORD Size; 4e2933c620 2015-04-21 kinaba: DWORD Flags; 4e2933c620 2015-04-21 kinaba: DWORD MaxNameLength; 4e2933c620 2015-04-21 kinaba: CHAR[1] Name; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias IMAGEHLP_SYMBOL* PIMAGEHLP_SYMBOL; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct IMAGEHLP_MODULE { 4e2933c620 2015-04-21 kinaba: DWORD SizeOfStruct; 4e2933c620 2015-04-21 kinaba: DWORD BaseOfImage; 4e2933c620 2015-04-21 kinaba: DWORD ImageSize; 4e2933c620 2015-04-21 kinaba: DWORD TimeDateStamp; 4e2933c620 2015-04-21 kinaba: DWORD CheckSum; 4e2933c620 2015-04-21 kinaba: DWORD NumSyms; 4e2933c620 2015-04-21 kinaba: SYM_TYPE SymType; 4e2933c620 2015-04-21 kinaba: CHAR[32] ModuleName; 4e2933c620 2015-04-21 kinaba: CHAR[256] ImageName; 4e2933c620 2015-04-21 kinaba: CHAR[256] LoadedImageName; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias IMAGEHLP_MODULE* PIMAGEHLP_MODULE; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct IMAGEHLP_LINE { 4e2933c620 2015-04-21 kinaba: DWORD SizeOfStruct; 4e2933c620 2015-04-21 kinaba: DWORD Key; 4e2933c620 2015-04-21 kinaba: DWORD LineNumber; 4e2933c620 2015-04-21 kinaba: PCHAR FileName; 4e2933c620 2015-04-21 kinaba: DWORD Address; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias IMAGEHLP_LINE* PIMAGEHLP_LINE; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct IMAGEHLP_DEFERRED_SYMBOL_LOAD { 4e2933c620 2015-04-21 kinaba: DWORD SizeOfStruct; 4e2933c620 2015-04-21 kinaba: DWORD BaseOfImage; 4e2933c620 2015-04-21 kinaba: DWORD CheckSum; 4e2933c620 2015-04-21 kinaba: DWORD TimeDateStamp; 4e2933c620 2015-04-21 kinaba: CHAR[MAX_PATH] FileName; 4e2933c620 2015-04-21 kinaba: BOOLEAN Reparse; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias IMAGEHLP_DEFERRED_SYMBOL_LOAD* PIMAGEHLP_DEFERRED_SYMBOL_LOAD; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct IMAGEHLP_DUPLICATE_SYMBOL { 4e2933c620 2015-04-21 kinaba: DWORD SizeOfStruct; 4e2933c620 2015-04-21 kinaba: DWORD NumberOfDups; 4e2933c620 2015-04-21 kinaba: PIMAGEHLP_SYMBOL Symbol; 4e2933c620 2015-04-21 kinaba: ULONG SelectedSymbol; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias IMAGEHLP_DUPLICATE_SYMBOL* PIMAGEHLP_DUPLICATE_SYMBOL; 4e2933c620 2015-04-21 kinaba: 9b639cf2d6 2015-05-05 kinaba: mixin DECLARE_HANDLE!("DIGEST_HANDLE"); 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: extern (Windows) { 4e2933c620 2015-04-21 kinaba: alias BOOL function(IMAGEHLP_STATUS_REASON, LPSTR, LPSTR, ULONG, ULONG) 4e2933c620 2015-04-21 kinaba: PIMAGEHLP_STATUS_ROUTINE; 4e2933c620 2015-04-21 kinaba: alias BOOL function(HANDLE , LPCVOID, LPVOID, DWORD, LPDWORD) 4e2933c620 2015-04-21 kinaba: PREAD_PROCESS_MEMORY_ROUTINE; 4e2933c620 2015-04-21 kinaba: alias LPVOID function(HANDLE, DWORD) PFUNCTION_TABLE_ACCESS_ROUTINE; 4e2933c620 2015-04-21 kinaba: alias DWORD function(HANDLE, DWORD) PGET_MODULE_BASE_ROUTINE; 4e2933c620 2015-04-21 kinaba: alias DWORD function(HANDLE, HANDLE, LPADDRESS) 4e2933c620 2015-04-21 kinaba: PTRANSLATE_ADDRESS_ROUTINE; 4e2933c620 2015-04-21 kinaba: alias BOOL function(LPSTR, ULONG, PVOID) PSYM_ENUMMODULES_CALLBACK; 4e2933c620 2015-04-21 kinaba: alias BOOL function(LPSTR, ULONG, ULONG, PVOID) PSYM_ENUMSYMBOLS_CALLBACK; 4e2933c620 2015-04-21 kinaba: alias BOOL function(LPSTR, ULONG, ULONG, PVOID) 4e2933c620 2015-04-21 kinaba: PENUMLOADED_MODULES_CALLBACK; 4e2933c620 2015-04-21 kinaba: alias BOOL function(HANDLE, ULONG, PVOID, PVOID) 4e2933c620 2015-04-21 kinaba: PSYMBOL_REGISTERED_CALLBACK; 4e2933c620 2015-04-21 kinaba: alias BOOL function(DIGEST_HANDLE refdata, PBYTE pData, DWORD dwLength) 4e2933c620 2015-04-21 kinaba: DIGEST_FUNCTION; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: PIMAGE_NT_HEADERS CheckSumMappedFile(LPVOID, DWORD, LPDWORD, LPDWORD); 4e2933c620 2015-04-21 kinaba: DWORD MapFileAndCheckSumA(LPSTR, LPDWORD, LPDWORD); 4e2933c620 2015-04-21 kinaba: DWORD MapFileAndCheckSumW(PWSTR, LPDWORD, LPDWORD); 4e2933c620 2015-04-21 kinaba: BOOL TouchFileTimes(HANDLE, LPSYSTEMTIME); 4e2933c620 2015-04-21 kinaba: BOOL SplitSymbols(LPSTR, LPSTR, LPSTR, DWORD); 4e2933c620 2015-04-21 kinaba: HANDLE FindDebugInfoFile(LPSTR, LPSTR, LPSTR); 4e2933c620 2015-04-21 kinaba: HANDLE FindExecutableImage(LPSTR, LPSTR, LPSTR); 4e2933c620 2015-04-21 kinaba: BOOL UpdateDebugInfoFile(LPSTR, LPSTR, LPSTR, PIMAGE_NT_HEADERS); 4e2933c620 2015-04-21 kinaba: BOOL UpdateDebugInfoFileEx(LPSTR, LPSTR, LPSTR, PIMAGE_NT_HEADERS, DWORD); 4e2933c620 2015-04-21 kinaba: BOOL BindImage(LPSTR, LPSTR, LPSTR); 4e2933c620 2015-04-21 kinaba: BOOL BindImageEx(DWORD, LPSTR, LPSTR, LPSTR, PIMAGEHLP_STATUS_ROUTINE); 4e2933c620 2015-04-21 kinaba: BOOL ReBaseImage(LPSTR, LPSTR, BOOL, BOOL, BOOL, ULONG, ULONG*, ULONG*, 4e2933c620 2015-04-21 kinaba: ULONG*, ULONG*, ULONG); 4e2933c620 2015-04-21 kinaba: PLOADED_IMAGE ImageLoad(LPSTR, LPSTR); 4e2933c620 2015-04-21 kinaba: BOOL ImageUnload(PLOADED_IMAGE); 4e2933c620 2015-04-21 kinaba: PIMAGE_NT_HEADERS ImageNtHeader(PVOID); 4e2933c620 2015-04-21 kinaba: PVOID ImageDirectoryEntryToData(PVOID, BOOLEAN, USHORT, PULONG); 4e2933c620 2015-04-21 kinaba: PIMAGE_SECTION_HEADER ImageRvaToSection(PIMAGE_NT_HEADERS, PVOID, ULONG); 4e2933c620 2015-04-21 kinaba: PVOID ImageRvaToVa(PIMAGE_NT_HEADERS, PVOID, ULONG, 4e2933c620 2015-04-21 kinaba: PIMAGE_SECTION_HEADER*); 4e2933c620 2015-04-21 kinaba: BOOL MapAndLoad(LPSTR, LPSTR, PLOADED_IMAGE, BOOL, BOOL); 4e2933c620 2015-04-21 kinaba: BOOL GetImageConfigInformation(PLOADED_IMAGE, 4e2933c620 2015-04-21 kinaba: PIMAGE_LOAD_CONFIG_DIRECTORY); 4e2933c620 2015-04-21 kinaba: DWORD GetImageUnusedHeaderBytes(PLOADED_IMAGE, LPDWORD); 4e2933c620 2015-04-21 kinaba: BOOL SetImageConfigInformation(PLOADED_IMAGE, 4e2933c620 2015-04-21 kinaba: PIMAGE_LOAD_CONFIG_DIRECTORY); 4e2933c620 2015-04-21 kinaba: BOOL UnMapAndLoad(PLOADED_IMAGE); 4e2933c620 2015-04-21 kinaba: PIMAGE_DEBUG_INFORMATION MapDebugInformation(HANDLE, LPSTR, LPSTR, DWORD); 4e2933c620 2015-04-21 kinaba: BOOL UnmapDebugInformation(PIMAGE_DEBUG_INFORMATION); 4e2933c620 2015-04-21 kinaba: HANDLE FindExecutableImage(LPSTR, LPSTR, LPSTR); 4e2933c620 2015-04-21 kinaba: BOOL SearchTreeForFile(LPSTR, LPSTR, LPSTR); 4e2933c620 2015-04-21 kinaba: BOOL MakeSureDirectoryPathExists(LPCSTR); 4e2933c620 2015-04-21 kinaba: DWORD UnDecorateSymbolName(LPCSTR, LPSTR, DWORD, DWORD); 4e2933c620 2015-04-21 kinaba: BOOL StackWalk(DWORD, HANDLE, HANDLE, LPSTACKFRAME, LPVOID, 4e2933c620 2015-04-21 kinaba: PREAD_PROCESS_MEMORY_ROUTINE, PFUNCTION_TABLE_ACCESS_ROUTINE, 4e2933c620 2015-04-21 kinaba: PGET_MODULE_BASE_ROUTINE, PTRANSLATE_ADDRESS_ROUTINE); 4e2933c620 2015-04-21 kinaba: LPAPI_VERSION ImagehlpApiVersion(); 4e2933c620 2015-04-21 kinaba: LPAPI_VERSION ImagehlpApiVersionEx(LPAPI_VERSION); 4e2933c620 2015-04-21 kinaba: DWORD GetTimestampForLoadedLibrary(HMODULE); 4e2933c620 2015-04-21 kinaba: BOOL RemovePrivateCvSymbolic(PCHAR, PCHAR*, ULONG*); 4e2933c620 2015-04-21 kinaba: VOID RemoveRelocations(PCHAR); 4e2933c620 2015-04-21 kinaba: DWORD SymSetOptions(DWORD); 4e2933c620 2015-04-21 kinaba: DWORD SymGetOptions(); 4e2933c620 2015-04-21 kinaba: BOOL SymCleanup(HANDLE); 4e2933c620 2015-04-21 kinaba: BOOL SymEnumerateModules(HANDLE, PSYM_ENUMMODULES_CALLBACK, PVOID); 4e2933c620 2015-04-21 kinaba: BOOL SymEnumerateSymbols(HANDLE, DWORD, PSYM_ENUMSYMBOLS_CALLBACK, PVOID); 4e2933c620 2015-04-21 kinaba: BOOL EnumerateLoadedModules(HANDLE, PENUMLOADED_MODULES_CALLBACK, PVOID); 4e2933c620 2015-04-21 kinaba: LPVOID SymFunctionTableAccess(HANDLE, DWORD); 4e2933c620 2015-04-21 kinaba: BOOL SymGetModuleInfo(HANDLE, DWORD, PIMAGEHLP_MODULE); 4e2933c620 2015-04-21 kinaba: DWORD SymGetModuleBase(HANDLE, DWORD); 4e2933c620 2015-04-21 kinaba: BOOL SymGetSymFromAddr(HANDLE, DWORD, PDWORD, PIMAGEHLP_SYMBOL); 4e2933c620 2015-04-21 kinaba: BOOL SymGetSymFromName(HANDLE, LPSTR, PIMAGEHLP_SYMBOL); 4e2933c620 2015-04-21 kinaba: BOOL SymGetSymNext(HANDLE, PIMAGEHLP_SYMBOL); 4e2933c620 2015-04-21 kinaba: BOOL SymGetSymPrev(HANDLE, PIMAGEHLP_SYMBOL); 4e2933c620 2015-04-21 kinaba: BOOL SymGetLineFromAddr(HANDLE, DWORD, PDWORD, PIMAGEHLP_LINE); 4e2933c620 2015-04-21 kinaba: BOOL SymGetLineFromName(HANDLE, LPSTR, LPSTR, DWORD, PLONG, 4e2933c620 2015-04-21 kinaba: PIMAGEHLP_LINE); 4e2933c620 2015-04-21 kinaba: BOOL SymGetLineNext(HANDLE, PIMAGEHLP_LINE); 4e2933c620 2015-04-21 kinaba: BOOL SymGetLinePrev(HANDLE, PIMAGEHLP_LINE); 4e2933c620 2015-04-21 kinaba: BOOL SymMatchFileName(LPSTR, LPSTR, LPSTR*, LPSTR*); 4e2933c620 2015-04-21 kinaba: BOOL SymInitialize(HANDLE, LPSTR, BOOL); 4e2933c620 2015-04-21 kinaba: BOOL SymGetSearchPath(HANDLE, LPSTR, DWORD); 4e2933c620 2015-04-21 kinaba: BOOL SymSetSearchPath(HANDLE, LPSTR); 4e2933c620 2015-04-21 kinaba: BOOL SymLoadModule(HANDLE, HANDLE, PSTR, PSTR, DWORD, DWORD); 4e2933c620 2015-04-21 kinaba: BOOL SymUnloadModule(HANDLE, DWORD); 4e2933c620 2015-04-21 kinaba: BOOL SymUnDName(PIMAGEHLP_SYMBOL, LPSTR, DWORD); 4e2933c620 2015-04-21 kinaba: BOOL SymRegisterCallback(HANDLE, PSYMBOL_REGISTERED_CALLBACK, PVOID); 4e2933c620 2015-04-21 kinaba: BOOL ImageGetDigestStream(HANDLE, DWORD, DIGEST_FUNCTION, DIGEST_HANDLE); 4e2933c620 2015-04-21 kinaba: BOOL ImageAddCertificate(HANDLE, LPWIN_CERTIFICATE, PDWORD); 4e2933c620 2015-04-21 kinaba: BOOL ImageRemoveCertificate(HANDLE, DWORD); 4e2933c620 2015-04-21 kinaba: BOOL ImageEnumerateCertificates(HANDLE, WORD, PDWORD, PDWORD, DWORD); 4e2933c620 2015-04-21 kinaba: BOOL ImageGetCertificateData(HANDLE, DWORD, LPWIN_CERTIFICATE, PDWORD); 4e2933c620 2015-04-21 kinaba: BOOL ImageGetCertificateHeader(HANDLE, DWORD, LPWIN_CERTIFICATE); 4e2933c620 2015-04-21 kinaba: BOOL CopyPdb(CHAR*, CHAR*, BOOL); 4e2933c620 2015-04-21 kinaba: BOOL RemovePrivateCvSymbolicEx(PCHAR, ULONG, PCHAR*, ULONG*); 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: version (Unicode) { 4e2933c620 2015-04-21 kinaba: alias MapFileAndCheckSumW MapFileAndCheckSum; 4e2933c620 2015-04-21 kinaba: } else { 4e2933c620 2015-04-21 kinaba: alias MapFileAndCheckSumA MapFileAndCheckSum; 4e2933c620 2015-04-21 kinaba: }