PROTO.H
上传用户:bangxh
上传日期:2007-01-31
资源大小:42235k
文件大小:3k
源码类别:

Windows编程

开发平台:

Visual C++

  1. /*++
  2. Copyright (c) 1993  Microsoft Corporation
  3. Module Name:
  4.     proto.h
  5. Abstract:
  6.     Prototypes for drwatson.
  7. Author:
  8.     Wesley Witt (wesw) 1-May-1993
  9. Environment:
  10.     User Mode
  11. --*/
  12. #include <imagehlp.h>
  13. // error.c
  14. void NonFatalError(char *format, ...);
  15. void FatalError(char *format, ...);
  16. void AssertError( char *exp, char * file, DWORD line );
  17. void dprintf(char *format, ...);
  18. //log.c
  19. void OpenLogFile( char *szFileName, BOOL fAppend, BOOL fVisual );
  20. void CloseLogFile( void );
  21. void lprintfs(char *format, ...);
  22. void lprintf(DWORD dwFormatId, ...);
  23. void MakeLogFileName( char *szName );
  24. char * GetLogFileData( LPDWORD dwLogFileDataSize );
  25. // walk.c
  26. LPVOID SwFunctionTableAccess( HANDLE  hProcess, DWORD   dwPCAddr );
  27. DWORD  SwGetModuleBase( HANDLE  hProcess, DWORD   ReturnAddress );
  28. BOOL   SwReadProcessMemory( HANDLE  hProcess, LPCVOID lpBaseAddress, LPVOID  lpBuffer, DWORD   nSize, LPDWORD lpNumberOfBytesRead );
  29. DWORD  SwTranslateAddress( HANDLE    hProcess, HANDLE    hThread, LPADDRESS lpaddr );
  30. // regs.c
  31. void   OutputAllRegs(PDEBUGPACKET dp, BOOL Show64);
  32. DWORDLONG  GetRegValue(PDEBUGPACKET dp, ULONG regnum);
  33. DWORDLONG GetRegFlagValue (PDEBUGPACKET dp, ULONG regnum);
  34. // disasm.c
  35. BOOLEAN disasm( PDEBUGPACKET dp, PULONG pOffset, PUCHAR pchDst, BOOLEAN fEAout );
  36. // symbols.c
  37. void DumpSymbols( PDEBUGPACKET dp );
  38. // module.c
  39. BOOL ProcessModuleLoad ( PDEBUGPACKET dp, LPDEBUG_EVENT de );
  40. // debug.c
  41. DWORD DispatchDebugEventThread( PDEBUGPACKET dp );
  42. DWORD TerminationThread( PDEBUGPACKET dp );
  43. BOOL  DoMemoryRead(PDEBUGPACKET dp, LPCVOID addr, LPVOID buf, DWORD size, LPDWORD lpcb);
  44. // registry.c
  45. BOOL RegInitialize( POPTIONS o );
  46. BOOL RegSave( POPTIONS o );
  47. DWORD RegGetNumCrashes( void );
  48. void RegSetNumCrashes( DWORD dwNumCrashes );
  49. void RegLogCurrentVersion( void );
  50. BOOLEAN RegInstallDrWatson( BOOL fQuiet );
  51. void RegLogProcessorType( void );
  52. // eventlog.c
  53. BOOL ElSaveCrash( PCRASHES crash, DWORD dwNumCrashes );
  54. BOOL ElEnumCrashes( PCRASHINFO crashInfo, CRASHESENUMPROC lpEnumFunc );
  55. BOOL ElClearAllEvents( void );
  56. // process.c
  57. void LogTaskList( void );
  58. void LogProcessInformation( HANDLE hProcess );
  59. void GetTaskName( ULONG pid, char *szTaskName, LPDWORD pdwSize );
  60. // context.c
  61. void GetContextForThread( PDEBUGPACKET dp );
  62. // browse.c
  63. BOOL BrowseForDirectory( char *szCurrDir );
  64. BOOL GetWaveFileName( char *szWaveName );
  65. BOOL GetDumpFileName( char *szDumpName );
  66. // notify.c
  67. void NotifyWinMain ( void );
  68. BOOLEAN GetCommandLineArgs( LPDWORD dwPidToDebug, LPHANDLE hEventToSignal );
  69. // ui.c
  70. void DrWatsonWinMain ( void );
  71. // util.c
  72. void GetAppName( char *pszAppName, DWORD len );
  73. void GetHelpFileName( char *pszHelpFileName, DWORD len );
  74. char * LoadRcString( UINT wId );
  75. // controls.c
  76. BOOL SubclassControls( HWND hwnd );
  77. void SetFocusToCurrentControl( void );
  78. // dump.c
  79. BOOL CreateDumpFile( PDEBUGPACKET dp, LPEXCEPTION_DEBUG_INFO  ed );