120 lines
3.6 KiB
C
120 lines
3.6 KiB
C
#include "msodw.h"
|
|
|
|
#define FAULTH_CREATE_NAME "FAULTHCreate"
|
|
#define FAULTH_DELETE_NAME "FAULTHDelete"
|
|
#define FAULTH_WININET_NAME "WININET.DLL"
|
|
|
|
#define WININET_MIN_VERSION 4.72.2106.5
|
|
#define FAULTH_WININET_MIN_MS ((4<<16)+72)
|
|
#define FAULTH_WININET_MIN_LS ((2106<<16)+5)
|
|
|
|
#define DW_MAX_ADDFILES 1024
|
|
|
|
typedef struct _SETUP_FAULT_HANDLER *PSETUP_FAULT_HANDLER;
|
|
|
|
// Ascii Version of functions
|
|
typedef void (* PFAULTHSetURLMethodA)(
|
|
IN PSETUP_FAULT_HANDLER This,
|
|
IN PCSTR pszURL
|
|
);
|
|
|
|
typedef void (* PFAULTHSetAdditionalFilesMethodA)(
|
|
IN PSETUP_FAULT_HANDLER This,
|
|
IN PCSTR pszAdditionalFiles
|
|
);
|
|
|
|
typedef void (* PFAULTHSetAppNameMethodA)(
|
|
IN PSETUP_FAULT_HANDLER This,
|
|
IN PCSTR pszAppName
|
|
);
|
|
|
|
typedef void (* PFAULTHSetErrorTextA)(
|
|
IN PSETUP_FAULT_HANDLER This,
|
|
IN PCSTR pszErrorText
|
|
);
|
|
|
|
|
|
// Unicode Version of functions
|
|
typedef void (* PFAULTHSetURLMethodW)(
|
|
IN PSETUP_FAULT_HANDLER This,
|
|
IN PCWSTR pwszURL
|
|
);
|
|
|
|
typedef void (* PFAULTHSetAdditionalFilesMethodW)(
|
|
IN PSETUP_FAULT_HANDLER This,
|
|
IN PCWSTR pwszAdditionalFiles
|
|
);
|
|
|
|
typedef void (* PFAULTHSetAppNameMethodW)(
|
|
IN PSETUP_FAULT_HANDLER This,
|
|
IN PCWSTR pwszAppName
|
|
);
|
|
|
|
typedef void (* PFAULTHSetErrorTextW)(
|
|
IN PSETUP_FAULT_HANDLER This,
|
|
IN PCWSTR pwszErrorText
|
|
);
|
|
|
|
|
|
typedef void (* PFAULTHSetLCID)(
|
|
IN PSETUP_FAULT_HANDLER This,
|
|
IN LCID lcid
|
|
);
|
|
|
|
typedef BOOL (* PFAULTHIsSupported)(
|
|
IN PSETUP_FAULT_HANDLER This
|
|
);
|
|
|
|
typedef EFaultRepRetVal (*PREPORTFAULTA_FN)(
|
|
IN PSETUP_FAULT_HANDLER This,
|
|
IN LPEXCEPTION_POINTERS pep,
|
|
IN DWORD dwReserved
|
|
);
|
|
|
|
typedef struct _SETUP_FAULT_HANDLER {
|
|
//
|
|
// Data members
|
|
//
|
|
CHAR szURL[DW_MAX_SERVERNAME];
|
|
WCHAR wzAppName[DW_APPNAME_LENGTH];
|
|
WCHAR wzAdditionalFiles[DW_MAX_ADDFILES];
|
|
WCHAR wzErrorText[DW_MAX_ERROR_CWC];
|
|
LCID lcid;
|
|
BOOL bDebug;
|
|
|
|
//
|
|
// Methods
|
|
//
|
|
PFAULTHSetURLMethodA SetURLA;
|
|
PFAULTHSetAppNameMethodA SetAppNameA;
|
|
PFAULTHSetAdditionalFilesMethodA SetAdditionalFilesA;
|
|
PFAULTHSetErrorTextA SetErrorTextA;
|
|
|
|
PFAULTHSetURLMethodW SetURLW;
|
|
PFAULTHSetAppNameMethodW SetAppNameW;
|
|
PFAULTHSetAdditionalFilesMethodW SetAdditionalFilesW;
|
|
PFAULTHSetErrorTextW SetErrorTextW;
|
|
|
|
|
|
PFAULTHSetLCID SetLCID;
|
|
PFAULTHIsSupported IsSupported;
|
|
PREPORTFAULTA_FN Report;
|
|
|
|
} SETUP_FAULT_HANDLER,*PSETUP_FAULT_HANDLER;
|
|
|
|
typedef PSETUP_FAULT_HANDLER (APIENTRY *PFAULTHCreate) (VOID);
|
|
|
|
typedef VOID (APIENTRY *PFAULTHDelete)(IN PSETUP_FAULT_HANDLER This);
|
|
|
|
PSETUP_FAULT_HANDLER
|
|
FAULTHCreate(
|
|
VOID
|
|
);
|
|
|
|
VOID
|
|
FAULTHDelete(
|
|
IN PSETUP_FAULT_HANDLER This
|
|
);
|
|
|
|
|