#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