/* * basesnap.rgs * * * Copyright (c) 1998-1999 Microsoft Corporation * * PURPOSE: Defines strings from which a registry script is built on the fly. * * * OWNER: ptousig */ // usage: str.FormatSz(szfmtSnapinRegScript1, szVersion); LPCTSTR szfmtSnapinRegScript1 = _T(" \r\n\ HKCR \r\n\ { \r\n\ '%%DLLName%%.%%ClassName%%.1' = s '%%ClassName%% Class' \r\n\ { \r\n\ 'CLSID' = s '%%CLSID_Snapin%%' \r\n\ } \r\n\ '%%DLLName%%.%%ClassName%%' = s '%%ClassName%% Class' \r\n\ { \r\n\ 'CLSID' = s '%%CLSID_Snapin%%' \r\n\ } \r\n\ NoRemove 'CLSID' \r\n\ { \r\n\ ForceRemove '%%CLSID_Snapin%%' = s '%%ClassName%% Class' \r\n\ { \r\n\ 'ProgID' = s '%%DLLName%%.%%ClassName%%.1' \r\n\ 'VersionIndependentProgID' = s '%%DLLName%%.%%ClassName%%' \r\n\ 'InprocServer32' = s '%%MODULE%%' \r\n\ { \r\n\ val 'ThreadingModel' = s 'both' \r\n\ } \r\n\ 'Version' = s '%s'\r\n\ } \r\n\ } \r\n\ }"); // usage: str.FormatSz(szfmtSnapinRegScript2, szVersion, szStandalone, szSnapinNodeTypesScript, szExtensionNodeTypesScript); LPCTSTR szfmtSnapinRegScript2 = _T(" \r\n\ HKLM \r\n\ { \r\n\ NoRemove 'Software'\r\n\ { \r\n\ NoRemove 'Microsoft'\r\n\ { \r\n\ NoRemove 'MMC'\r\n\ { \r\n\ NoRemove 'Snapins'\r\n\ { \r\n\ ForceRemove '%%CLSID_Snapin%%'\r\n\ { \r\n\ val 'NameString' = s '%%SnapinName%%'\r\n\ val 'NodeType' = s '%%CLSID_NodeType%%'\r\n\ val 'Version' = s '%s' \r\n\ val 'About' = s '%%CLSID_About%%'\r\n%s\ ForceRemove 'ColumnPersistence' \r\n\ { \r\n\ } \r\n\ 'NodeTypes' %s \r\n\ } \r\n\ } \r\n\ NoRemove 'NodeTypes'\r\n\ { \r\n\ %s \r\n\ } \r\n\ } \r\n\ } \r\n\ } \r\n\ }"); // usage: str.strcpy(szStandalone) LPCTSTR szStandalone = _T("\ 'StandAlone' \r\n"); // usage: str.FormatSz(szSnapinAboutRegScript, szVersion) LPCTSTR szSnapinAboutRegScript = _T(" \r\n\ HKCR \r\n\ { \r\n\ '%%DLLName%%.About%%ClassName%%.1' = s 'About%%ClassName%% Class' \r\n\ { \r\n\ 'CLSID' = s '%%CLSID_About%%' \r\n\ } \r\n\ '%%DLLName%%.About%%ClassName%%' = s 'About%%ClassName%% Class' \r\n\ { \r\n\ 'CLSID' = s '%%CLSID_About%%' \r\n\ } \r\n\ NoRemove 'CLSID' \r\n\ { \r\n\ ForceRemove '%%CLSID_About%%' = s 'About%%ClassName%% Class' \r\n\ { \r\n\ 'ProgID' = s '%%DLLName%%.About%%ClassName%%.1' \r\n\ 'VersionIndependentProgID' = s '%%DLLName%%.About%%ClassName%%' \r\n\ 'InprocServer32' = s '%%MODULE%%' \r\n\ { \r\n\ val 'ThreadingModel' = s 'both' \r\n\ } \r\n\ 'Version' = s '%s' \r\n\ } \r\n\ } \r\n\ }"); // usage: str.FormatSz(szfmtString, szSomeString); LPCTSTR szfmtString = _T("%s"); // usage: str.FormatSz(szfmtSingleExtension, szSomeString); LPCTSTR szfmtSingleExtension = _T(" \r\n\ { \r\n\ %s \r\n\ } "); // usage: str.strcat(szSnapinNodeTypeOpen); LPCTSTR szSnapinNodeTypeOpen = _T(" \r\n\ { "); // usage: str.strcat(szSnapinNodeTypeOpen); LPCTSTR szFmtSnapinNodeType = _T(" \r\n\ ForceRemove '%s' "); // usage: str.strcat(szSnapinNodeTypeClose); LPCTSTR szSnapinNodeTypeClose = _T(" \r\n\ } "); // usage: str.FormatSz(szfmtAllExtensions, szCLSID_NodeTypeExtends, szNameSpaceScript, // szContextMenuScript, szPropertySheetScript, szToolBarScript) LPCTSTR szfmtAllExtensions = _T(" \r\n\ NoRemove %s \r\n\ { \r\n\ NoRemove 'Extensions' \r\n\ { \r\n\ NoRemove 'NameSpace' %s \r\n\ NoRemove 'ContextMenu' %s \r\n\ NoRemove 'PropertySheet' %s \r\n\ NoRemove 'ToolBar' %s \r\n\ } \r\n\ } "); // usage: str.strcpy(szSingleExtension) LPCTSTR szSingleExtension = _T(" \r\n\ val '%CLSID_Snapin%' = s '%SnapinName%' ");