Leaked source code of windows server 2003
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.

92 lines
4.1 KiB

  1. /*******************************************************************
  2. *
  3. * DESCRIPTION: Upload.h : Generates and sends out AppCompat report
  4. *
  5. * DATE:6/13/2002
  6. *
  7. *******************************************************************/
  8. #if !defined(_UPLOAD_H_)
  9. #define _UPLOAD_H_
  10. enum // EDwBehaviorFlags
  11. {
  12. fDwOfficeApp = 0x00000001,
  13. fDwNoReporting = 0x00000002, // don't report
  14. fDwCheckSig = 0x00000004, // checks the signatures of the App/Mod list
  15. fDwGiveAppResponse = 0x00000008, // hands szResponse to app on command line
  16. fDwWhistler = 0x00000010, // Whistler's exception handler is caller
  17. fDwUseIE = 0x00000020, // always launch w/ IE
  18. fDwDeleteFiles = 0x00000040, // delete the additional files after use.
  19. fDwHeadless = 0x00000080, // DW will auto-report. policy required to enable
  20. fDwUseHKLM = 0x00000100, // DW reg from HKLM instead of HKCU
  21. fDwUseLitePlea = 0x00000200, // DW won't suggest product change in report plea
  22. fDwUsePrivacyHTA = 0x00000400, // DW won't suggest product change in report plea
  23. fDwManifestDebug = 0x00000800, // DW will provide a debug button in manifset mode
  24. fDwReportChoice = 0x00001000, // DW will tack on the command line of the user
  25. fDwSkipBucketLog = 0x00002000, // DW won't log at bucket-time
  26. fDwNoDefaultCabLimit = 0x00004000, // DW under CER won't use 5 as the fallback but unlimited instead (policy still overrides)
  27. fDwAllowSuspend = 0x00008000, // DW will allow powersave mode to suspend it, as long as we're not in reporting phase
  28. fDwMiniDumpWithUnloadedModules = 0x00010000, // DW will pass MiniDumpWithUnloadedModules to the minidump API
  29. };
  30. const WCHAR c_wszDWCmdLine[] = L"dwwin.exe -d %ls";
  31. const WCHAR c_wszDWExe[] = L"%ls\\dwwin.exe";
  32. const WCHAR c_wszRegErrRpt[] = L"Software\\Microsoft\\PCHealth\\ErrorReporting";
  33. const WCHAR c_wszRegDWPolicy[]= L"Software\\Policies\\Microsoft\\PCHealth\\ErrorReporting\\DW";
  34. const WCHAR c_wszFileHeader[] = L"<?xml version=\"1.0\" encoding=\"UTF-16\"?>\r\n <DATABASE>";
  35. const WCHAR c_wszLblType[] = L"Type=";
  36. const WCHAR c_wszLblACW[] = L"\r\nAppCompWiz=";
  37. const WCHAR c_wszLblComment[] = L"\r\nComment=";
  38. const WCHAR c_wszServer[] = L"watson.microsoft.com";
  39. const WCHAR c_wszManSubPath[] = L"\r\nRegSubPath=Microsoft\\PCHealth\\ErrorReporting\\DW";
  40. const WCHAR c_wszManPID[] = L"\r\nDigPidRegPath=HKLM\\Software\\Microsoft\\Windows NT\\CurrentVersion\\DigitalProductId";
  41. const WCHAR c_wszManHdr[] = L"\r\nServer=%ls\r\nUI LCID=%d\r\nFlags=%d\r\nBrand=%ls\r\nTitleName=";
  42. const WCHAR c_wszStage1[] = L"\r\nStage1URL=/StageOne/%ls/%d_%d_%d_%d/appcomp.rpt/0_0_0_0/%08lx.htm";
  43. const WCHAR c_wszStage2[] = L"\r\nStage2URL=/dw/stagetwo.asp?szAppName=%ls&szAppVer=%d.%d.%d.%d&szModName=appcomp.rpt&szModVer=0.0.0.0&offset=%08lx";
  44. const WCHAR c_wszBrand[] = L"WINDOWS";
  45. const WCHAR c_wszManCorpPath[] = L"\r\nErrorSubPath=";
  46. const WCHAR c_wszManFiles[] = L"\r\nDataFiles=";
  47. const WCHAR c_wszManHdrText[] = L"\r\nHeaderText=";
  48. const WCHAR c_wszManErrText[] = L"\r\nErrorText=";
  49. const WCHAR c_wszManPleaText[] = L"\r\nPlea=";
  50. const WCHAR c_wszManSendText[] = L"\r\nReportButton=";
  51. const WCHAR c_wszManNSendText[] = L"\r\nNoReportButton=";
  52. const WCHAR c_wszManEventSrc[] = L"\r\nEventLogSource=";
  53. const WCHAR c_wszManStageOne[] = L"\r\nStage1URL=";
  54. const WCHAR c_wszManStageTwo[] = L"\r\nStage2URL=";
  55. //
  56. // Error values
  57. //
  58. #define ERROR_APPRPT_DW_LAUNCH 100
  59. #define ERROR_APPRPT_DW_TIMEOUT 101
  60. #define ERROR_APPRPT_OS_NOT_SUPPORTED 102
  61. #define ERROR_APPRPT_COMPAT_TEXT 103
  62. #define ERROR_APPRPT_UPLOADING 104
  63. HRESULT
  64. GenerateAppCompatText(
  65. LPWSTR wszAppName,
  66. LPWSTR *pwszAppCompatReport
  67. );
  68. HRESULT
  69. UploadAppProblem(
  70. LPWSTR wszAppName,
  71. LPWSTR wszProblemType,
  72. LPWSTR wszUserComment,
  73. LPWSTR wszACWResult,
  74. LPWSTR wszAppCompatText
  75. );
  76. #endif // !defined _UPLOAD_H_