Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

76 lines
1.9 KiB

  1. /****************************************************************************
  2. Copyright (c) 2000 Microsoft Corporation
  3. Module Name:
  4. mdtosig.h
  5. Abstract:
  6. signature extraction library
  7. Revision History:
  8. DerekM created 04/04/00
  9. ****************************************************************************/
  10. #ifndef MDTOSIG_H
  11. #define MDTOSIG_H
  12. #include "util.h"
  13. /////////////////////////////////////////////////////////////////////////////
  14. // constants
  15. const DWORD c_bAppUsed = 0x01;
  16. const DWORD c_bAppVerUsed = 0x02;
  17. const DWORD c_bModUsed = 0x04;
  18. const DWORD c_bModVerUsed = 0x08;
  19. const DWORD c_bOffsetUsed = 0x10;
  20. /////////////////////////////////////////////////////////////////////////////
  21. // CFaultSignature
  22. class CFaultSignature : public CPFGenericClassBase
  23. {
  24. public:
  25. OSVERSIONINFOEXW osv;
  26. CComBSTR bstrApp;
  27. CComBSTR bstrAppVer;
  28. CComBSTR bstrMod;
  29. CComBSTR bstrModVer;
  30. CComBSTR bstrAppFullPath;
  31. DWORD dwSigID;
  32. DWORD dwIncID;
  33. DWORD dwOffset;
  34. DWORD dwUsed;
  35. CFaultSignature(void)
  36. {
  37. ZeroMemory(&this->osv, sizeof(this->osv));
  38. this->dwOffset = 0;
  39. this->dwUsed = 0;
  40. this->dwSigID = 0;
  41. this->dwIncID = 0;
  42. }
  43. void Clear(void)
  44. {
  45. ZeroMemory(&this->osv, sizeof(this->osv));
  46. this->bstrApp.Empty();
  47. this->bstrAppVer.Empty();
  48. this->bstrMod.Empty();
  49. this->bstrModVer.Empty();
  50. this->bstrAppFullPath.Empty();
  51. this->dwOffset = 0;
  52. this->dwUsed = 0;
  53. this->dwSigID = 0;
  54. this->dwIncID = 0;
  55. }
  56. HRESULT ExtractSigFromDump(LPWSTR wszDump, LPWSTR wszExec = NULL,
  57. BOOL *pfR0 = NULL);
  58. DWORD GenerateSigID(void);
  59. };
  60. #endif