windows-nt/Source/XPSP1/NT/base/ntsetup/win95upg/tools/inc/dgdll.h
2020-09-26 16:20:57 +08:00

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