// // // #ifndef _OLECONFIG_ #define _OLECONFIG_ #include #include #include #include #include #include #include #include #define ENABLE_NETWORK_OLE 1 #define DEFAULT_LAUNCH_PERMISSION 2 #define DEFAULT_ACCESS_PERMISSION 3 #define LEGACY_AUTHENTICATION_LEVEL 4 #define GLOBAL_KEYS 4 #define MERGE 101 #define SAVE_USER 102 #define SAVE_COMMON 103 #define GLOBAL_OPERATIONS 103 #define INPROC_HANDLER32 1 #define INPROC_SERVER32 2 #define LOCAL_SERVER32 3 #define LOCAL_SERVICE 4 #define REMOTE_SERVER_NAME 5 #define RUN_AS 6 #define ACTIVATE_AT_STORAGE 7 #define LAUNCH_PERMISSION 8 #define ACCESS_PERMISSION 9 #define CLSID_KEYS 9 #define CLSID_PATH_KEYS 4 #define UNKNOWN 0 #define END_OF_ARGS -1 #define INVALID -1 #define NO 1 #define YES 2 #define EAT_ARG() Args++; ArgsLeft--; typedef struct { char * Clsid; char * ClsidDescription; char * ProgId; char * ProgIdDescription; int LaunchPermission; int AccessPermission; int ActivateAtStorage; char * ServerPaths[CLSID_PATH_KEYS+1]; char * RemoteServerName; char * RunAsUserName; char * RunAsPassword; } CLSID_INFO; extern const char * GlobalKeyNames[]; extern const char * ClsidKeyNames[]; extern int ArgsLeft; extern char ** Args; extern char * ProgramName; extern HKEY hRegOle; extern HKEY hRegClsid; // main.c void ParseClsidProgId(); int NextClsidKey(); int ReadYesOrNo(); void DisplayHelp(); // oleconfig.c BOOL SetGlobalKey( int Key, int Value ); void DisplayGlobalSettings(); void DisplayClsidKeys( CLSID_INFO * ClsidInfo ); void UpdateClsidKeys( CLSID_INFO * ClsidInfo ); BOOL SetClsidKey( HKEY hClsid, char * Clsid, const char * Key, char * Value ); BOOL DeleteClsidKey( HKEY hClsid, char * Clsid, const char * Key ); void ReadPassword( char * Password ); BOOL ControlCConsoleHandler( DWORD ControlType ); void MergeHives( ); void SaveChangesToUser( ); void SaveChangesToCommon( ); #endif