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.

119 lines
3.6 KiB

  1. #include "msodw.h"
  2. #define FAULTH_CREATE_NAME "FAULTHCreate"
  3. #define FAULTH_DELETE_NAME "FAULTHDelete"
  4. #define FAULTH_WININET_NAME "WININET.DLL"
  5. #define WININET_MIN_VERSION 4.72.2106.5
  6. #define FAULTH_WININET_MIN_MS ((4<<16)+72)
  7. #define FAULTH_WININET_MIN_LS ((2106<<16)+5)
  8. #define DW_MAX_ADDFILES 1024
  9. typedef struct _SETUP_FAULT_HANDLER *PSETUP_FAULT_HANDLER;
  10. // Ascii Version of functions
  11. typedef void (* PFAULTHSetURLMethodA)(
  12. IN PSETUP_FAULT_HANDLER This,
  13. IN PCSTR pszURL
  14. );
  15. typedef void (* PFAULTHSetAdditionalFilesMethodA)(
  16. IN PSETUP_FAULT_HANDLER This,
  17. IN PCSTR pszAdditionalFiles
  18. );
  19. typedef void (* PFAULTHSetAppNameMethodA)(
  20. IN PSETUP_FAULT_HANDLER This,
  21. IN PCSTR pszAppName
  22. );
  23. typedef void (* PFAULTHSetErrorTextA)(
  24. IN PSETUP_FAULT_HANDLER This,
  25. IN PCSTR pszErrorText
  26. );
  27. // Unicode Version of functions
  28. typedef void (* PFAULTHSetURLMethodW)(
  29. IN PSETUP_FAULT_HANDLER This,
  30. IN PCWSTR pwszURL
  31. );
  32. typedef void (* PFAULTHSetAdditionalFilesMethodW)(
  33. IN PSETUP_FAULT_HANDLER This,
  34. IN PCWSTR pwszAdditionalFiles
  35. );
  36. typedef void (* PFAULTHSetAppNameMethodW)(
  37. IN PSETUP_FAULT_HANDLER This,
  38. IN PCWSTR pwszAppName
  39. );
  40. typedef void (* PFAULTHSetErrorTextW)(
  41. IN PSETUP_FAULT_HANDLER This,
  42. IN PCWSTR pwszErrorText
  43. );
  44. typedef void (* PFAULTHSetLCID)(
  45. IN PSETUP_FAULT_HANDLER This,
  46. IN LCID lcid
  47. );
  48. typedef BOOL (* PFAULTHIsSupported)(
  49. IN PSETUP_FAULT_HANDLER This
  50. );
  51. typedef EFaultRepRetVal (*PREPORTFAULTA_FN)(
  52. IN PSETUP_FAULT_HANDLER This,
  53. IN LPEXCEPTION_POINTERS pep,
  54. IN DWORD dwReserved
  55. );
  56. typedef struct _SETUP_FAULT_HANDLER {
  57. //
  58. // Data members
  59. //
  60. CHAR szURL[DW_MAX_SERVERNAME];
  61. WCHAR wzAppName[DW_APPNAME_LENGTH];
  62. WCHAR wzAdditionalFiles[DW_MAX_ADDFILES];
  63. WCHAR wzErrorText[DW_MAX_ERROR_CWC];
  64. LCID lcid;
  65. BOOL bDebug;
  66. //
  67. // Methods
  68. //
  69. PFAULTHSetURLMethodA SetURLA;
  70. PFAULTHSetAppNameMethodA SetAppNameA;
  71. PFAULTHSetAdditionalFilesMethodA SetAdditionalFilesA;
  72. PFAULTHSetErrorTextA SetErrorTextA;
  73. PFAULTHSetURLMethodW SetURLW;
  74. PFAULTHSetAppNameMethodW SetAppNameW;
  75. PFAULTHSetAdditionalFilesMethodW SetAdditionalFilesW;
  76. PFAULTHSetErrorTextW SetErrorTextW;
  77. PFAULTHSetLCID SetLCID;
  78. PFAULTHIsSupported IsSupported;
  79. PREPORTFAULTA_FN Report;
  80. } SETUP_FAULT_HANDLER,*PSETUP_FAULT_HANDLER;
  81. typedef PSETUP_FAULT_HANDLER (APIENTRY *PFAULTHCreate) (VOID);
  82. typedef VOID (APIENTRY *PFAULTHDelete)(IN PSETUP_FAULT_HANDLER This);
  83. PSETUP_FAULT_HANDLER
  84. FAULTHCreate(
  85. VOID
  86. );
  87. VOID
  88. FAULTHDelete(
  89. IN PSETUP_FAULT_HANDLER This
  90. );