1998-10-11 19:04:17 +02:00
|
|
|
/*
|
|
|
|
* IMAGEHLP library
|
|
|
|
*
|
|
|
|
* Copyright 1998 Patrik Stridvall
|
|
|
|
*/
|
|
|
|
|
1999-02-17 14:51:06 +01:00
|
|
|
#include "winbase.h"
|
1998-10-11 19:04:17 +02:00
|
|
|
#include "winerror.h"
|
1999-03-14 17:35:05 +01:00
|
|
|
#include "windef.h"
|
1999-05-14 10:17:14 +02:00
|
|
|
#include "debugtools.h"
|
1998-10-11 19:04:17 +02:00
|
|
|
#include "imagehlp.h"
|
|
|
|
|
2000-03-28 22:22:59 +02:00
|
|
|
DEFAULT_DEBUG_CHANNEL(imagehlp);
|
1999-04-19 16:56:29 +02:00
|
|
|
|
1998-10-11 19:04:17 +02:00
|
|
|
/***********************************************************************
|
2000-03-28 22:22:59 +02:00
|
|
|
* BindImage (IMAGEHLP.@)
|
1998-10-11 19:04:17 +02:00
|
|
|
*/
|
1999-02-26 12:11:13 +01:00
|
|
|
BOOL WINAPI BindImage(
|
1998-10-11 19:04:17 +02:00
|
|
|
LPSTR ImageName, LPSTR DllPath, LPSTR SymbolPath)
|
|
|
|
{
|
1999-02-26 12:11:13 +01:00
|
|
|
return BindImageEx(0, ImageName, DllPath, SymbolPath, NULL);
|
1998-10-11 19:04:17 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
/***********************************************************************
|
2000-03-28 22:22:59 +02:00
|
|
|
* BindImageEx (IMAGEHLP.@)
|
1998-10-11 19:04:17 +02:00
|
|
|
*/
|
1999-02-26 12:11:13 +01:00
|
|
|
BOOL WINAPI BindImageEx(
|
1998-10-11 19:04:17 +02:00
|
|
|
DWORD Flags, LPSTR ImageName, LPSTR DllPath, LPSTR SymbolPath,
|
1999-02-26 12:11:13 +01:00
|
|
|
PIMAGEHLP_STATUS_ROUTINE StatusRoutine)
|
1998-10-11 19:04:17 +02:00
|
|
|
{
|
1999-05-14 10:17:14 +02:00
|
|
|
FIXME("(%ld, %s, %s, %s, %p): stub\n",
|
1998-10-11 19:04:17 +02:00
|
|
|
Flags, debugstr_a(ImageName), debugstr_a(DllPath),
|
|
|
|
debugstr_a(SymbolPath), StatusRoutine
|
|
|
|
);
|
|
|
|
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
|
|
|
return FALSE;
|
|
|
|
}
|
|
|
|
|
|
|
|
/***********************************************************************
|
2000-03-28 22:22:59 +02:00
|
|
|
* CheckSumMappedFile (IMAGEHLP.@)
|
1998-10-11 19:04:17 +02:00
|
|
|
*/
|
1999-02-26 12:11:13 +01:00
|
|
|
PIMAGE_NT_HEADERS WINAPI CheckSumMappedFile(
|
1998-10-11 19:04:17 +02:00
|
|
|
LPVOID BaseAddress, DWORD FileLength,
|
|
|
|
LPDWORD HeaderSum, LPDWORD CheckSum)
|
|
|
|
{
|
1999-05-14 10:17:14 +02:00
|
|
|
FIXME("(%p, %ld, %p, %p): stub\n",
|
1998-10-11 19:04:17 +02:00
|
|
|
BaseAddress, FileLength, HeaderSum, CheckSum
|
|
|
|
);
|
|
|
|
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
|
|
|
return NULL;
|
|
|
|
}
|
|
|
|
|
|
|
|
/***********************************************************************
|
2000-03-28 22:22:59 +02:00
|
|
|
* MapFileAndCheckSumA (IMAGEHLP.@)
|
1998-10-11 19:04:17 +02:00
|
|
|
*/
|
1999-02-26 12:11:13 +01:00
|
|
|
DWORD WINAPI MapFileAndCheckSumA(
|
1998-10-11 19:04:17 +02:00
|
|
|
LPSTR Filename, LPDWORD HeaderSum, LPDWORD CheckSum)
|
|
|
|
{
|
1999-05-14 10:17:14 +02:00
|
|
|
FIXME("(%s, %p, %p): stub\n",
|
1998-10-11 19:04:17 +02:00
|
|
|
debugstr_a(Filename), HeaderSum, CheckSum
|
|
|
|
);
|
|
|
|
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
|
|
|
return CHECKSUM_OPEN_FAILURE;
|
|
|
|
}
|
|
|
|
|
|
|
|
/***********************************************************************
|
2000-03-28 22:22:59 +02:00
|
|
|
* MapFileAndCheckSumW (IMAGEHLP.@)
|
1998-10-11 19:04:17 +02:00
|
|
|
*/
|
1999-02-26 12:11:13 +01:00
|
|
|
DWORD WINAPI MapFileAndCheckSumW(
|
1998-10-11 19:04:17 +02:00
|
|
|
LPWSTR Filename, LPDWORD HeaderSum, LPDWORD CheckSum)
|
|
|
|
{
|
1999-05-14 10:17:14 +02:00
|
|
|
FIXME("(%s, %p, %p): stub\n",
|
1998-10-11 19:04:17 +02:00
|
|
|
debugstr_w(Filename), HeaderSum, CheckSum
|
|
|
|
);
|
|
|
|
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
|
|
|
return CHECKSUM_OPEN_FAILURE;
|
|
|
|
}
|
|
|
|
|
|
|
|
/***********************************************************************
|
2000-03-28 22:22:59 +02:00
|
|
|
* ReBaseImage (IMAGEHLP.@)
|
1998-10-11 19:04:17 +02:00
|
|
|
*/
|
1999-02-26 12:11:13 +01:00
|
|
|
BOOL WINAPI ReBaseImage(
|
|
|
|
LPSTR CurrentImageName, LPSTR SymbolPath, BOOL fReBase,
|
|
|
|
BOOL fRebaseSysfileOk, BOOL fGoingDown, ULONG CheckImageSize,
|
1998-10-11 19:04:17 +02:00
|
|
|
ULONG *OldImageSize, ULONG *OldImageBase, ULONG *NewImageSize,
|
|
|
|
ULONG *NewImageBase, ULONG TimeStamp)
|
|
|
|
{
|
1999-05-14 10:17:14 +02:00
|
|
|
FIXME(
|
1998-10-11 19:04:17 +02:00
|
|
|
"(%s, %s, %d, %d, %d, %ld, %p, %p, %p, %p, %ld): stub\n",
|
|
|
|
debugstr_a(CurrentImageName),debugstr_a(SymbolPath), fReBase,
|
|
|
|
fRebaseSysfileOk, fGoingDown, CheckImageSize, OldImageSize,
|
|
|
|
OldImageBase, NewImageSize, NewImageBase, TimeStamp
|
|
|
|
);
|
|
|
|
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
|
|
|
return FALSE;
|
|
|
|
}
|
|
|
|
|
|
|
|
/***********************************************************************
|
2000-03-28 22:22:59 +02:00
|
|
|
* RemovePrivateCvSymbolic (IMAGEHLP.@)
|
1998-10-11 19:04:17 +02:00
|
|
|
*/
|
1999-02-26 12:11:13 +01:00
|
|
|
BOOL WINAPI RemovePrivateCvSymbolic(
|
1998-10-11 19:04:17 +02:00
|
|
|
PCHAR DebugData, PCHAR *NewDebugData, ULONG *NewDebugSize)
|
|
|
|
{
|
1999-05-14 10:17:14 +02:00
|
|
|
FIXME("(%p, %p, %p): stub\n",
|
1998-10-11 19:04:17 +02:00
|
|
|
DebugData, NewDebugData, NewDebugSize
|
|
|
|
);
|
|
|
|
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
|
|
|
return FALSE;
|
|
|
|
}
|
|
|
|
|
|
|
|
/***********************************************************************
|
2000-03-28 22:22:59 +02:00
|
|
|
* RemoveRelocations (IMAGEHLP.@)
|
1998-10-11 19:04:17 +02:00
|
|
|
*/
|
1999-02-26 12:11:13 +01:00
|
|
|
VOID WINAPI RemoveRelocations(PCHAR ImageName)
|
1998-10-11 19:04:17 +02:00
|
|
|
{
|
1999-05-14 10:17:14 +02:00
|
|
|
FIXME("(%p): stub\n", ImageName);
|
1998-10-11 19:04:17 +02:00
|
|
|
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
|
|
|
}
|
|
|
|
|
|
|
|
/***********************************************************************
|
2000-03-28 22:22:59 +02:00
|
|
|
* SplitSymbols (IMAGEHLP.@)
|
1998-10-11 19:04:17 +02:00
|
|
|
*/
|
1999-02-26 12:11:13 +01:00
|
|
|
BOOL WINAPI SplitSymbols(
|
1998-10-11 19:04:17 +02:00
|
|
|
LPSTR ImageName, LPSTR SymbolsPath,
|
|
|
|
LPSTR SymbolFilePath, DWORD Flags)
|
|
|
|
{
|
1999-05-14 10:17:14 +02:00
|
|
|
FIXME("(%s, %s, %s, %ld): stub\n",
|
1998-10-11 19:04:17 +02:00
|
|
|
debugstr_a(ImageName), debugstr_a(SymbolsPath),
|
|
|
|
debugstr_a(SymbolFilePath), Flags
|
|
|
|
);
|
|
|
|
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
|
|
|
return FALSE;
|
|
|
|
}
|
|
|
|
|
|
|
|
/***********************************************************************
|
2000-03-28 22:22:59 +02:00
|
|
|
* UpdateDebugInfoFile (IMAGEHLP.@)
|
1998-10-11 19:04:17 +02:00
|
|
|
*/
|
1999-02-26 12:11:13 +01:00
|
|
|
BOOL WINAPI UpdateDebugInfoFile(
|
1998-10-11 19:04:17 +02:00
|
|
|
LPSTR ImageFileName, LPSTR SymbolPath,
|
1999-02-26 12:11:13 +01:00
|
|
|
LPSTR DebugFilePath, PIMAGE_NT_HEADERS NtHeaders)
|
1998-10-11 19:04:17 +02:00
|
|
|
{
|
1999-05-14 10:17:14 +02:00
|
|
|
FIXME("(%s, %s, %s, %p): stub\n",
|
1998-10-11 19:04:17 +02:00
|
|
|
debugstr_a(ImageFileName), debugstr_a(SymbolPath),
|
|
|
|
debugstr_a(DebugFilePath), NtHeaders
|
|
|
|
);
|
|
|
|
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
|
|
|
return FALSE;
|
|
|
|
}
|
|
|
|
|
|
|
|
/***********************************************************************
|
2000-03-28 22:22:59 +02:00
|
|
|
* UpdateDebugInfoFileEx (IMAGEHLP.@)
|
1998-10-11 19:04:17 +02:00
|
|
|
*/
|
1999-02-26 12:11:13 +01:00
|
|
|
BOOL WINAPI UpdateDebugInfoFileEx(
|
1998-10-11 19:04:17 +02:00
|
|
|
LPSTR ImageFileName, LPSTR SymbolPath, LPSTR DebugFilePath,
|
1999-02-26 12:11:13 +01:00
|
|
|
PIMAGE_NT_HEADERS NtHeaders, DWORD OldChecksum)
|
1998-10-11 19:04:17 +02:00
|
|
|
{
|
1999-05-14 10:17:14 +02:00
|
|
|
FIXME("(%s, %s, %s, %p, %ld): stub\n",
|
1998-10-11 19:04:17 +02:00
|
|
|
debugstr_a(ImageFileName), debugstr_a(SymbolPath),
|
|
|
|
debugstr_a(DebugFilePath), NtHeaders, OldChecksum
|
|
|
|
);
|
|
|
|
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
|
|
|
return FALSE;
|
|
|
|
}
|