1998-10-11 19:04:17 +02:00
|
|
|
/*
|
|
|
|
* IMAGEHLP library
|
|
|
|
*
|
|
|
|
* Copyright 1998 Patrik Stridvall
|
2002-03-10 00:29:33 +01:00
|
|
|
*
|
|
|
|
* This library is free software; you can redistribute it and/or
|
|
|
|
* modify it under the terms of the GNU Lesser General Public
|
|
|
|
* License as published by the Free Software Foundation; either
|
|
|
|
* version 2.1 of the License, or (at your option) any later version.
|
|
|
|
*
|
|
|
|
* This library is distributed in the hope that it will be useful,
|
|
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
|
|
* Lesser General Public License for more details.
|
|
|
|
*
|
|
|
|
* You should have received a copy of the GNU Lesser General Public
|
|
|
|
* License along with this library; if not, write to the Free Software
|
|
|
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
1998-10-11 19:04:17 +02:00
|
|
|
*/
|
|
|
|
|
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"
|
2002-03-10 00:29:33 +01:00
|
|
|
#include "wine/debug.h"
|
1998-10-11 19:04:17 +02:00
|
|
|
#include "imagehlp.h"
|
|
|
|
|
2002-03-10 00:29:33 +01:00
|
|
|
WINE_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
|
|
|
* SymCleanup (IMAGEHLP.@)
|
1998-10-11 19:04:17 +02:00
|
|
|
*/
|
1999-02-26 12:11:13 +01:00
|
|
|
BOOL WINAPI SymCleanup(HANDLE hProcess)
|
1998-10-11 19:04:17 +02:00
|
|
|
{
|
1999-05-14 10:17:14 +02:00
|
|
|
FIXME("(0x%08x): stub\n", hProcess);
|
1998-10-11 19:04:17 +02:00
|
|
|
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
|
|
|
return FALSE;
|
|
|
|
}
|
|
|
|
|
|
|
|
/***********************************************************************
|
2000-03-28 22:22:59 +02:00
|
|
|
* SymEnumerateModules (IMAGEHLP.@)
|
1998-10-11 19:04:17 +02:00
|
|
|
*/
|
|
|
|
|
1999-02-26 12:11:13 +01:00
|
|
|
BOOL WINAPI SymEnumerateModules(
|
|
|
|
HANDLE hProcess, PSYM_ENUMMODULES_CALLBACK EnumModulesCallback,
|
1998-10-11 19:04:17 +02:00
|
|
|
PVOID UserContext)
|
|
|
|
{
|
1999-05-14 10:17:14 +02:00
|
|
|
FIXME("(0x%08x, %p, %p): stub\n",
|
1998-10-11 19:04:17 +02:00
|
|
|
hProcess, EnumModulesCallback, UserContext
|
|
|
|
);
|
|
|
|
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
|
|
|
return FALSE;
|
|
|
|
}
|
|
|
|
|
|
|
|
/***********************************************************************
|
2000-03-28 22:22:59 +02:00
|
|
|
* SymEnumerateSymbols (IMAGEHLP.@)
|
1998-10-11 19:04:17 +02:00
|
|
|
*/
|
1999-02-26 12:11:13 +01:00
|
|
|
BOOL WINAPI SymEnumerateSymbols(
|
|
|
|
HANDLE hProcess, DWORD BaseOfDll,
|
|
|
|
PSYM_ENUMSYMBOLS_CALLBACK EnumSymbolsCallback, PVOID UserContext)
|
1998-10-11 19:04:17 +02:00
|
|
|
{
|
2000-05-11 23:48:28 +02:00
|
|
|
FIXME("(0x%08x, 0x%08lx, %p, %p): stub\n",
|
|
|
|
hProcess, BaseOfDll, EnumSymbolsCallback, UserContext
|
1998-10-11 19:04:17 +02:00
|
|
|
);
|
|
|
|
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
|
|
|
return FALSE;
|
|
|
|
}
|
|
|
|
|
|
|
|
/***********************************************************************
|
2000-03-28 22:22:59 +02:00
|
|
|
* SymFunctionTableAccess (IMAGEHLP.@)
|
1998-10-11 19:04:17 +02:00
|
|
|
*/
|
1999-02-26 12:11:13 +01:00
|
|
|
PVOID WINAPI SymFunctionTableAccess(HANDLE hProcess, DWORD AddrBase)
|
1998-10-11 19:04:17 +02:00
|
|
|
{
|
1999-05-14 10:17:14 +02:00
|
|
|
FIXME("(0x%08x, 0x%08lx): stub\n", hProcess, AddrBase);
|
1998-10-11 19:04:17 +02:00
|
|
|
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
|
|
|
return FALSE;
|
|
|
|
}
|
|
|
|
|
|
|
|
/***********************************************************************
|
2000-03-28 22:22:59 +02:00
|
|
|
* SymGetModuleBase (IMAGEHLP.@)
|
1998-10-11 19:04:17 +02:00
|
|
|
*/
|
1999-02-26 12:11:13 +01:00
|
|
|
DWORD WINAPI SymGetModuleBase(HANDLE hProcess, DWORD dwAddr)
|
1998-10-11 19:04:17 +02:00
|
|
|
{
|
1999-05-14 10:17:14 +02:00
|
|
|
FIXME("(0x%08x, 0x%08lx): stub\n", hProcess, dwAddr);
|
1998-10-11 19:04:17 +02:00
|
|
|
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
/***********************************************************************
|
2000-03-28 22:22:59 +02:00
|
|
|
* SymGetModuleInfo (IMAGEHLP.@)
|
1998-10-11 19:04:17 +02:00
|
|
|
*/
|
1999-02-26 12:11:13 +01:00
|
|
|
BOOL WINAPI SymGetModuleInfo(
|
|
|
|
HANDLE hProcess, DWORD dwAddr,
|
|
|
|
PIMAGEHLP_MODULE ModuleInfo)
|
1998-10-11 19:04:17 +02:00
|
|
|
{
|
1999-05-14 10:17:14 +02:00
|
|
|
FIXME("(0x%08x, 0x%08lx, %p): stub\n",
|
1998-10-11 19:04:17 +02:00
|
|
|
hProcess, dwAddr, ModuleInfo
|
|
|
|
);
|
|
|
|
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
|
|
|
return FALSE;
|
|
|
|
}
|
|
|
|
|
|
|
|
/***********************************************************************
|
2000-03-28 22:22:59 +02:00
|
|
|
* SymGetOptions (IMAGEHLP.@)
|
1998-10-11 19:04:17 +02:00
|
|
|
*/
|
1999-02-26 12:11:13 +01:00
|
|
|
DWORD WINAPI SymGetOptions()
|
1998-10-11 19:04:17 +02:00
|
|
|
{
|
1999-05-14 10:17:14 +02:00
|
|
|
FIXME("(): stub\n");
|
1998-10-11 19:04:17 +02:00
|
|
|
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
/***********************************************************************
|
2000-03-28 22:22:59 +02:00
|
|
|
* SymGetSearchPath (IMAGEHLP.@)
|
1998-10-11 19:04:17 +02:00
|
|
|
*/
|
1999-02-26 12:11:13 +01:00
|
|
|
BOOL WINAPI SymGetSearchPath(
|
|
|
|
HANDLE hProcess, LPSTR szSearchPath, DWORD SearchPathLength)
|
1998-10-11 19:04:17 +02:00
|
|
|
{
|
1999-05-14 10:17:14 +02:00
|
|
|
FIXME("(0x%08x, %s, %ld): stub\n",
|
1998-10-11 19:04:17 +02:00
|
|
|
hProcess, debugstr_an(szSearchPath,SearchPathLength), SearchPathLength
|
|
|
|
);
|
|
|
|
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
|
|
|
return FALSE;
|
|
|
|
}
|
|
|
|
|
|
|
|
/***********************************************************************
|
2000-03-28 22:22:59 +02:00
|
|
|
* SymGetSymFromAddr (IMAGEHLP.@)
|
1998-10-11 19:04:17 +02:00
|
|
|
*/
|
1999-02-26 12:11:13 +01:00
|
|
|
BOOL WINAPI SymGetSymFromAddr(
|
|
|
|
HANDLE hProcess, DWORD dwAddr,
|
|
|
|
PDWORD pdwDisplacement, PIMAGEHLP_SYMBOL Symbol)
|
1998-10-11 19:04:17 +02:00
|
|
|
{
|
1999-05-14 10:17:14 +02:00
|
|
|
FIXME("(0x%08x, 0x%08lx, %p, %p): stub\n",
|
1998-10-11 19:04:17 +02:00
|
|
|
hProcess, dwAddr, pdwDisplacement, Symbol
|
|
|
|
);
|
|
|
|
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
|
|
|
return FALSE;
|
|
|
|
}
|
|
|
|
|
|
|
|
/***********************************************************************
|
2000-03-28 22:22:59 +02:00
|
|
|
* SymGetSymFromName (IMAGEHLP.@)
|
1998-10-11 19:04:17 +02:00
|
|
|
*/
|
1999-02-26 12:11:13 +01:00
|
|
|
BOOL WINAPI SymGetSymFromName(
|
|
|
|
HANDLE hProcess, LPSTR Name, PIMAGEHLP_SYMBOL Symbol)
|
1998-10-11 19:04:17 +02:00
|
|
|
{
|
1999-05-14 10:17:14 +02:00
|
|
|
FIXME("(0x%08x, %s, %p): stub\n", hProcess, Name, Symbol);
|
1998-10-11 19:04:17 +02:00
|
|
|
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
|
|
|
return FALSE;
|
|
|
|
}
|
|
|
|
|
|
|
|
/***********************************************************************
|
2000-03-28 22:22:59 +02:00
|
|
|
* SymGetSymNext (IMAGEHLP.@)
|
1998-10-11 19:04:17 +02:00
|
|
|
*/
|
1999-02-26 12:11:13 +01:00
|
|
|
BOOL WINAPI SymGetSymNext(
|
|
|
|
HANDLE hProcess, PIMAGEHLP_SYMBOL Symbol)
|
1998-10-11 19:04:17 +02:00
|
|
|
{
|
1999-05-14 10:17:14 +02:00
|
|
|
FIXME("(0x%08x, %p): stub\n", hProcess, Symbol);
|
1998-10-11 19:04:17 +02:00
|
|
|
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
|
|
|
return FALSE;
|
|
|
|
}
|
|
|
|
|
|
|
|
/***********************************************************************
|
2000-03-28 22:22:59 +02:00
|
|
|
* SymGetSymPrev (IMAGEHLP.@)
|
1998-10-11 19:04:17 +02:00
|
|
|
*/
|
|
|
|
|
1999-02-26 12:11:13 +01:00
|
|
|
BOOL WINAPI SymGetSymPrev(
|
|
|
|
HANDLE hProcess, PIMAGEHLP_SYMBOL Symbol)
|
1998-10-11 19:04:17 +02:00
|
|
|
{
|
1999-05-14 10:17:14 +02:00
|
|
|
FIXME("(0x%08x, %p): stub\n", hProcess, Symbol);
|
1998-10-11 19:04:17 +02:00
|
|
|
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
|
|
|
return FALSE;
|
|
|
|
}
|
|
|
|
|
|
|
|
/***********************************************************************
|
2000-03-28 22:22:59 +02:00
|
|
|
* SymInitialize (IMAGEHLP.@)
|
1998-10-11 19:04:17 +02:00
|
|
|
*/
|
1999-02-26 12:11:13 +01:00
|
|
|
BOOL WINAPI SymInitialize(
|
|
|
|
HANDLE hProcess, LPSTR UserSearchPath, BOOL fInvadeProcess)
|
1998-10-11 19:04:17 +02:00
|
|
|
{
|
1999-05-14 10:17:14 +02:00
|
|
|
FIXME("(0x%08x, %s, %d): stub\n",
|
1998-10-11 19:04:17 +02:00
|
|
|
hProcess, debugstr_a(UserSearchPath), fInvadeProcess
|
|
|
|
);
|
|
|
|
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
|
|
|
return FALSE;
|
|
|
|
}
|
|
|
|
|
|
|
|
/***********************************************************************
|
2000-03-28 22:22:59 +02:00
|
|
|
* SymLoadModule (IMAGEHLP.@)
|
1998-10-11 19:04:17 +02:00
|
|
|
*/
|
|
|
|
|
1999-02-26 12:11:13 +01:00
|
|
|
BOOL WINAPI SymLoadModule(
|
|
|
|
HANDLE hProcess, HANDLE hFile, LPSTR ImageName, LPSTR ModuleName,
|
1998-10-11 19:04:17 +02:00
|
|
|
DWORD BaseOfDll, DWORD SizeOfDll)
|
|
|
|
{
|
1999-05-14 10:17:14 +02:00
|
|
|
FIXME("(0x%08x, 0x%08x, %s, %s, %ld, %ld): stub\n",
|
1998-10-11 19:04:17 +02:00
|
|
|
hProcess, hFile, debugstr_a(ImageName), debugstr_a(ModuleName),
|
|
|
|
BaseOfDll, SizeOfDll
|
|
|
|
);
|
|
|
|
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
|
|
|
return FALSE;
|
|
|
|
}
|
|
|
|
|
|
|
|
/***********************************************************************
|
2000-03-28 22:22:59 +02:00
|
|
|
* SymRegisterCallback (IMAGEHLP.@)
|
1998-10-11 19:04:17 +02:00
|
|
|
*/
|
1999-02-26 12:11:13 +01:00
|
|
|
BOOL WINAPI SymRegisterCallback(
|
|
|
|
HANDLE hProcess, PSYMBOL_REGISTERED_CALLBACK CallbackFunction,
|
1998-10-11 19:04:17 +02:00
|
|
|
PVOID UserContext)
|
|
|
|
{
|
1999-05-14 10:17:14 +02:00
|
|
|
FIXME("(0x%08x, %p, %p): stub\n",
|
1998-10-11 19:04:17 +02:00
|
|
|
hProcess, CallbackFunction, UserContext
|
|
|
|
);
|
|
|
|
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
|
|
|
return FALSE;
|
|
|
|
}
|
|
|
|
|
|
|
|
/***********************************************************************
|
2000-03-28 22:22:59 +02:00
|
|
|
* SymSetOptions (IMAGEHLP.@)
|
1998-10-11 19:04:17 +02:00
|
|
|
*/
|
1999-02-26 12:11:13 +01:00
|
|
|
DWORD WINAPI SymSetOptions(DWORD SymOptions)
|
1998-10-11 19:04:17 +02:00
|
|
|
{
|
2000-05-11 23:48:28 +02:00
|
|
|
FIXME("(0x%08lx): stub\n", SymOptions);
|
1998-10-11 19:04:17 +02:00
|
|
|
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
/***********************************************************************
|
2000-03-28 22:22:59 +02:00
|
|
|
* SymSetSearchPath (IMAGEHLP.@)
|
1998-10-11 19:04:17 +02:00
|
|
|
*/
|
1999-02-26 12:11:13 +01:00
|
|
|
BOOL WINAPI SymSetSearchPath(HANDLE hProcess, LPSTR szSearchPath)
|
1998-10-11 19:04:17 +02:00
|
|
|
{
|
1999-05-14 10:17:14 +02:00
|
|
|
FIXME("(0x%08x, %s): stub\n",
|
1998-10-11 19:04:17 +02:00
|
|
|
hProcess, debugstr_a(szSearchPath)
|
|
|
|
);
|
|
|
|
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
|
|
|
return FALSE;
|
|
|
|
}
|
|
|
|
|
|
|
|
/***********************************************************************
|
2000-03-28 22:22:59 +02:00
|
|
|
* SymUnDName (IMAGEHLP.@)
|
1998-10-11 19:04:17 +02:00
|
|
|
*/
|
1999-02-26 12:11:13 +01:00
|
|
|
BOOL WINAPI SymUnDName(
|
|
|
|
PIMAGEHLP_SYMBOL sym, LPSTR UnDecName, DWORD UnDecNameLength)
|
1998-10-11 19:04:17 +02:00
|
|
|
{
|
1999-05-14 10:17:14 +02:00
|
|
|
FIXME("(%p, %s, %ld): stub\n",
|
1998-10-11 19:04:17 +02:00
|
|
|
sym, UnDecName, UnDecNameLength
|
|
|
|
);
|
|
|
|
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
|
|
|
return FALSE;
|
|
|
|
}
|
|
|
|
|
|
|
|
/***********************************************************************
|
2000-03-28 22:22:59 +02:00
|
|
|
* SymUnloadModule (IMAGEHLP.@)
|
1998-10-11 19:04:17 +02:00
|
|
|
*/
|
1999-02-26 12:11:13 +01:00
|
|
|
BOOL WINAPI SymUnloadModule(
|
|
|
|
HANDLE hProcess, DWORD BaseOfDll)
|
1998-10-11 19:04:17 +02:00
|
|
|
{
|
1999-05-14 10:17:14 +02:00
|
|
|
FIXME("(0x%08x, 0x%08lx): stub\n", hProcess, BaseOfDll);
|
1998-10-11 19:04:17 +02:00
|
|
|
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
|
|
|
return FALSE;
|
|
|
|
}
|