#include "miginf.h" // // utils.c -- reusable utilities (unrelated to screen saver code) // VOID LogRegistryError ( IN HKEY Key, IN LPCSTR ValueName ); HKEY OpenRegKey ( IN HKEY RootKey, IN LPCSTR Key ); HKEY CreateRegKey ( IN HKEY RootKey, IN LPCSTR Key ); VOID CloseRegKey ( IN HKEY Key ); LPCSTR GetRegValueString ( IN HKEY Key, IN LPCSTR ValueName ); BOOL SetRegValueString ( HKEY Key, LPCSTR ValueName, LPCSTR ValueStr ); DWORD CountStringBytes ( IN LPCSTR str ); DWORD CountMultiStringBytes ( IN LPCSTR str ); LPSTR CopyStringAtoB ( OUT LPSTR mbstrDest, IN LPCSTR mbstrStart, IN LPCSTR mbstrEnd // ptr to the first char NOT to copy ); BOOL OurGetLongPathName ( LPCSTR ShortPath, LPSTR Buffer ); VOID ConvertSystemToSystem32 ( IN OUT LPSTR Filename ); // // utils.c -- helper functions specific to screen saver settings // VOID GenerateFilePaths ( VOID ); LPCSTR GetScrnSaveExe ( VOID ); BOOL CreateScreenSaverParamKey ( IN LPCSTR ScreenSaverName, IN LPCSTR Value, OUT LPSTR Buffer ); BOOL DecodeScreenSaverParamKey ( IN LPCSTR EncodedString, OUT LPSTR ScreenSaverName, OUT LPSTR ValueName ); // // savecfg.c -- functions that save things to our working directory // BOOL SaveDatFileKeyAndVal ( IN LPCSTR Key, IN LPCSTR Val ); BOOL CopyRegValueToDatFile ( IN HKEY RegKey, IN LPCSTR ValueName ); BOOL SaveControlIniSection ( LPCSTR ControlIniSection, LPCSTR ScreenSaverName ); // // dataconv.c -- functions that convert Win9x settings & save them on NT // BOOL CopyValuesFromDatFileToRegistry ( IN HKEY RegKey, IN LPCSTR RegKeyName, IN LPCSTR ScreenSaverName, IN LPCSTR ValueArray[] ); LPCSTR GetSettingsFileVal ( IN LPCSTR Key ); BOOL TranslateGeneralSetting ( IN HKEY RegKey, IN LPCSTR Win9xSetting, IN LPCSTR WinNTSetting ); BOOL SaveScrName ( IN HKEY RegKey, IN LPCSTR KeyName ); BOOL TranslateScreenSavers ( IN HKEY RegRoot ); BOOL CopyUntranslatedSettings ( IN HKEY RegRoot ); PCSTR ParseMessage ( UINT MessageId, ... ); VOID FreeMessage ( PCSTR Message ); // // DLL globals // extern LPCSTR g_User; extern LPSTR g_SettingsFile; extern LPSTR g_MigrateDotInf; extern LPSTR g_WorkingDirectory; extern LPSTR g_SourceDirectories; extern HANDLE g_hHeap; extern HINSTANCE g_hInst; // // Define strings // #define DEFINE_NONLOCALIZED_STRINGS \ DEFMAC (S_BOOT, "boot") \ DEFMAC (S_SCRNSAVE_EXE, "SCRNSAVE.EXE") \ DEFMAC (S_SCRNSAVE_DOT, "Screen Saver.") \ DEFMAC (S_SCRNSAVE_MASK, "Screen Saver.%s") \ DEFMAC (S_EMPTY, "") \ DEFMAC (S_DOUBLE_EMPTY, "\0") \ DEFMAC (S_SETTINGS_MASK, "%s\\settings.dat") \ DEFMAC (S_MIGINF_MASK, "%s\\migrate.inf") \ DEFMAC (S_SYSTEM_INI, "system.ini") \ DEFMAC (S_CONTROL_INI, "control.ini") \ DEFMAC (S_BEZIER, "Bezier") \ DEFMAC (S_MARQUEE, "Marquee") \ DEFMAC (S_BEZIER_SETTINGS, "Screen Saver.Bezier") \ DEFMAC (S_MARQUEE_SETTINGS, "Screen Saver.Marquee") \ DEFMAC (S_MIGRATION_PATHS, "Migration Paths") \ DEFMAC (S_CONTROL_PANEL_MASK, "Control Panel\\%s") \ DEFMAC (S_LENGTH, "Length") \ DEFMAC (S_WIDTH, "Width") \ DEFMAC (S_LINESPEED, "LineSpeed") \ DEFMAC (S_BACKGROUND_COLOR, "BackgroundColor") \ DEFMAC (S_CHARSET, "CharSet") \ DEFMAC (S_FONT, "Font") \ DEFMAC (S_MODE, "Mode") \ DEFMAC (S_SIZE, "Size") \ DEFMAC (S_SPEED, "Speed") \ DEFMAC (S_TEXT, "Text") \ DEFMAC (S_TEXTCOLOR, "TextColor") \ DEFMAC (S_ACTIVE1, "Active1") \ DEFMAC (S_ACTIVE2, "Active2") \ DEFMAC (S_CLEAN_SCREEN, "Clean Screen") \ DEFMAC (S_ENDCOLOR1, "EndColor1") \ DEFMAC (S_ENDCOLOR2, "EndColor2") \ DEFMAC (S_LINES1, "Lines1") \ DEFMAC (S_LINES2, "Lines2") \ DEFMAC (S_STARTCOLOR1, "StartColor1") \ DEFMAC (S_STARTCOLOR2, "StartColor2") \ DEFMAC (S_WALKRANDOM1, "WalkRandom1") \ DEFMAC (S_WALKRANDOM2, "WalkRandom2") \ DEFMAC (S_DENSITY, "Denisty") \ DEFMAC (S_WARPSPEED, "WarpSpeed") \ DEFMAC (S_HKR, "HKR") \ DEFMAC (S_DEFAULT_KEYSTR, "(unknown regkey)") \ DEFMAC (S_SYSTEM_DIR, "\\system\\") \ DEFMAC (S_SYSTEM32_DIR, "\\system32\\") \ #define DEFINE_STRINGS DEFINE_NONLOCALIZED_STRINGS // // Declare externs for all string variables // #define DEFMAC(var,str) extern CHAR var[]; DEFINE_STRINGS #undef DEFMAC