171 lines
3.5 KiB
C
171 lines
3.5 KiB
C
#pragma once
|
|
|
|
#define UPGWIZ_VERSION 1
|
|
|
|
#define DTF_ONE_SELECTION 0x0001
|
|
#define DTF_REQUEST_TEXT 0x0002
|
|
#define DTF_REQUEST_DESCRIPTION 0x0004
|
|
#define DTF_REQUIRE_TEXT 0x000a
|
|
#define DTF_REQUIRE_DESCRIPTION 0x0014
|
|
#define DTF_NO_DATA_OBJECT 0x0020
|
|
|
|
typedef struct {
|
|
// filled in by the DLL
|
|
DWORD Version;
|
|
PCSTR Name;
|
|
PCSTR Description;
|
|
UINT DataTypeId;
|
|
DWORD Flags;
|
|
|
|
// if DTF_REQUEST_TEXT specified in Flags...
|
|
UINT MaxTextSize;
|
|
PCSTR OptionalDescTitle; OPTIONAL
|
|
PCSTR OptionalTextTitle; OPTIONAL
|
|
|
|
// wizard private use
|
|
PVOID Reserved;
|
|
} DATATYPE, *PDATATYPE;
|
|
|
|
|
|
|
|
#define DOF_SELECTED 0x0001
|
|
#define DOF_NO_SPLIT_ON_WACK 0x0002
|
|
#define DOF_NO_SORT 0x0004
|
|
|
|
|
|
typedef struct {
|
|
// filled in by the DLL
|
|
DWORD Version;
|
|
PCSTR NameOrPath;
|
|
PVOID DllParam; // for private use by the DLL
|
|
|
|
// filled in by the DLL, altered by the wizard
|
|
DWORD Flags;
|
|
} DATAOBJECT, *PDATAOBJECT;
|
|
|
|
typedef struct {
|
|
// filled in by wizard, modified by optional UI page
|
|
PBOOL StartOverFlag;
|
|
|
|
// filled in by the wizard
|
|
DWORD Version;
|
|
PCSTR InboundInfDir;
|
|
PCSTR OutboundDir;
|
|
UINT DataTypeId;
|
|
PCSTR OptionalText;
|
|
PCSTR OptionalDescription;
|
|
} OUTPUTARGS, *POUTPUTARGS;
|
|
|
|
UINT
|
|
GiveVersion (
|
|
VOID
|
|
);
|
|
|
|
PDATATYPE
|
|
GiveDataTypeList (
|
|
OUT PUINT Count
|
|
);
|
|
|
|
PDATAOBJECT
|
|
GiveDataObjectList (
|
|
IN UINT DataTypeId,
|
|
OUT PUINT Count
|
|
);
|
|
|
|
BOOL
|
|
GenerateOutput (
|
|
IN POUTPUTARGS Args
|
|
);
|
|
|
|
|
|
//
|
|
// Routines in wiztools.dll
|
|
//
|
|
|
|
VOID
|
|
WizToolsMain (
|
|
IN DWORD dwReason
|
|
);
|
|
|
|
BOOL
|
|
WizardWriteRealString (
|
|
IN HANDLE File,
|
|
IN PCSTR String
|
|
);
|
|
|
|
|
|
VOID
|
|
GenerateUniqueStringSectKey (
|
|
IN PCSTR TwoLetterId,
|
|
OUT PSTR Buffer
|
|
);
|
|
|
|
BOOL
|
|
WriteHeader (
|
|
IN HANDLE File
|
|
);
|
|
|
|
BOOL
|
|
WriteStringSectKey (
|
|
IN HANDLE File,
|
|
IN PCSTR KeyName,
|
|
IN PCSTR String
|
|
);
|
|
|
|
BOOL
|
|
WriteFileAttributes (
|
|
IN POUTPUTARGS Args,
|
|
IN PCSTR NonLocalizedName, OPTIONAL
|
|
IN HANDLE FileHandle,
|
|
IN PCSTR FileSpec,
|
|
IN PCSTR Section OPTIONAL
|
|
);
|
|
|
|
BOOL
|
|
GetFileAttributesLine (
|
|
IN PCTSTR FileName,
|
|
OUT PTSTR Buffer,
|
|
IN DWORD BufferSize
|
|
);
|
|
|
|
BOOL
|
|
WizardWriteInfString (
|
|
IN HANDLE File,
|
|
IN PCSTR String,
|
|
IN BOOL Quoted,
|
|
IN BOOL SkipCRLF,
|
|
IN BOOL ReplaceSpace,
|
|
IN CHAR SpaceReplacement,
|
|
IN DWORD ColumnWidth
|
|
);
|
|
|
|
#define WizardWriteQuotedString(File,String) WizardWriteInfString(File,String,TRUE,FALSE,FALSE,0,0)
|
|
#define WizardWriteQuotedColumn(File,String,ColW) WizardWriteInfString(File,String,TRUE,FALSE,FALSE,0,ColW)
|
|
#define WizardWriteString(File,String) WizardWriteInfString(File,String,FALSE,FALSE,FALSE,0,0)
|
|
#define WizardWriteColumn(File,String,ColW) WizardWriteInfString(File,String,FALSE,FALSE,FALSE,0,ColW)
|
|
|
|
|
|
|
|
|
|
|
|
/* OvidiuT */
|
|
|
|
#ifdef UPGWIZ4FLOPPY
|
|
|
|
extern OSVERSIONINFOA g_OsInfo;
|
|
extern PTSTR g_WinDir;
|
|
extern PTSTR g_SystemDir;
|
|
extern HANDLE g_hHeap;
|
|
|
|
#define g_OsInfo Get_g_OsInfo()
|
|
#define g_WinDir Get_g_WinDir()
|
|
#define g_SystemDir Get_g_SystemDir()
|
|
#define g_hHeap Get_g_hHeap()
|
|
|
|
OSVERSIONINFOA Get_g_OsInfo (VOID);
|
|
PCTSTR Get_g_WinDir (VOID);
|
|
PCTSTR Get_g_SystemDir (VOID);
|
|
HANDLE Get_g_hHeap(VOID);
|
|
|
|
#endif // UPGWIZ4FLOPPY
|