#ifndef SQLNS_DEF_H_ #ifdef DO_SQLNS_ODL_CONSTANTS_ #define DONE_SQLNS_ODL_CONSTANTS_ #ifndef SQLNSVersion_Major #define SQLNSVersion_Major 7 #define SQLNSVersion_Minor 0 #endif // SQLNSVersion_Major ///////////////////////////////////////////////////////////////////////////////////////// // Constant enumerations. ///////////////////////////////////////////////////////////////////////////////////////// #define IID_ISQLNamespace 00026f20-EB1C-11cf-AE6E-00AA004A34D5 #define IID_ISQLNamespaceObject 00026f21-EB1C-11cf-AE6E-00AA004A34D5 #define IID_ISQLNamespaceCommand 00026f22-EB1C-11cf-AE6E-00AA004A34D5 #define IID_ISQLNamespaceCommands 00026f23-EB1C-11cf-AE6E-00AA004A34D5 #define IID_IReplicationCustomization 00026f24-EB1C-11cf-AE6E-00AA004A34D5 #define LIBID_SQLNamespace 00026f30-EB1C-11cf-AE6E-00AA004A34D5 #define CLSID_SQLNamespace 00026f00-EB1C-11cf-AE6E-00AA004A34D5 #define CLSID_SQLNamespaceInternal 00026f10-EB1C-11cf-AE6E-00AA004A34D5 #endif //DO_SQLNS_ODL_CONSTANTS_ #ifdef DO_HELP_CONSTANTS_ //interfaces #define H_NamespaceLibrary 100 #define H_Namespace 200 #define H_NamespaceObject 400 #define H_NamespaceCommand 600 #define H_NamespaceCommands 800 //enums #define H_SQLNSRootType 2000 #define H_SQLNSObjectType 2200 #define H_SQLNSModality 2400 #define H_SQLNSCommandID 2600 #define H_SQLNSErrors 2800 #endif //DO_HELP_CONSTANTS_ #ifdef DO_ODL_TYPDEFS_ // To avoid the need to cast on bitwise operations (which defeats typesafety anyway), // define the datatype as DWORD for C/CPP. OleAut languages don't do typechecking // and organize by the enum name. #ifdef SQLNS_ODL_ #define SQLNS_ENUM_BEGIN(tdef, hstring) [helpcontext(H_##tdef), helpstring(hstring)] enum // item = value, ... #define SQLNS_ENUM_END(tdef) tdef, *LP##tdef #else #define SQLNS_ENUM_BEGIN(tdef, hstring) DWORD tdef, *LP##tdef; enum tag##tdef // item = value, ... #define SQLNS_ENUM_END(tdef) #endif typedef SQLNS_ENUM_BEGIN(SQLNSRootType, "The type of object to set as root") { SQLNSRootType_DefaultRoot = 0x0000, SQLNSRootType_ServerGroup = 0x0001, SQLNSRootType_Server = 0x0002, SQLNSRootType_Database = 0x0003 } SQLNS_ENUM_END(SQLNSRootType); typedef SQLNS_ENUM_BEGIN(SQLNSObjectType, "The type of object") { SQLNSOBJECTTYPE_ROOT = 0x0000, SQLNSOBJECTTYPE_EMPTY, SQLNSOBJECTTYPE_SERVER_GROUP, SQLNSOBJECTTYPE_SERVER, SQLNSOBJECTTYPE_DATABASES, SQLNSOBJECTTYPE_DATABASE, SQLNSOBJECTTYPE_MANAGEMENT, SQLNSOBJECTTYPE_SECURITY, SQLNSOBJECTTYPE_SERVICES, SQLNSOBJECTTYPE_LOGINS, SQLNSOBJECTTYPE_LOGIN, SQLNSOBJECTTYPE_BACKUPDEVICES, SQLNSOBJECTTYPE_BACKUPDEVICE, SQLNSOBJECTTYPE_DATABASE_PUBLICATIONS, SQLNSOBJECTTYPE_DATABASE_PUBLICATION, SQLNSOBJECTTYPE_DATABASE_PUB_SUBSCRIPTION, SQLNSOBJECTTYPE_DATABASE_PULL_SUBSCRIPTIONS, SQLNSOBJECTTYPE_DATABASE_PULL_SUBSCRIPTION, SQLNSOBJECTTYPE_DATABASE_USERS, SQLNSOBJECTTYPE_DATABASE_USER, SQLNSOBJECTTYPE_DATABASE_ROLES, SQLNSOBJECTTYPE_DATABASE_ROLE, SQLNSOBJECTTYPE_DATABASE_DIAGRAMS, SQLNSOBJECTTYPE_DATABASE_DIAGRAM, SQLNSOBJECTTYPE_DATABASE_TABLES, SQLNSOBJECTTYPE_DATABASE_TABLE, SQLNSOBJECTTYPE_DATABASE_VIEWS, SQLNSOBJECTTYPE_DATABASE_VIEW, SQLNSOBJECTTYPE_DATABASE_SPS, SQLNSOBJECTTYPE_DATABASE_SP, SQLNSOBJECTTYPE_DATABASE_EXTENDED_SPS, SQLNSOBJECTTYPE_DATABASE_EXTENDED_SP, SQLNSOBJECTTYPE_DATABASE_RULES, SQLNSOBJECTTYPE_DATABASE_RULE, SQLNSOBJECTTYPE_DATABASE_DEFAULTS, SQLNSOBJECTTYPE_DATABASE_DEFAULT, SQLNSOBJECTTYPE_DATABASE_UDDTS, SQLNSOBJECTTYPE_DATABASE_UDDT, SQLNSOBJECTTYPE_JOBSERVER, SQLNSOBJECTTYPE_SQLMAIL, SQLNSOBJECTTYPE_DTC, SQLNSOBJECTTYPE_INDEXSERVER, SQLNSOBJECTTYPE_INDEXSERVER_CATALOGS, SQLNSOBJECTTYPE_INDEXSERVER_CATALOG, SQLNSOBJECTTYPE_ERRORLOGS, SQLNSOBJECTTYPE_ERRORLOG, SQLNSOBJECTTYPE_ERRORLOGENTRY, SQLNSOBJECTTYPE_ALERTS, SQLNSOBJECTTYPE_OPERATORS, SQLNSOBJECTTYPE_MSX_JOBS, SQLNSOBJECTTYPE_LOCAL_JOBS, SQLNSOBJECTTYPE_MULTI_JOBS, SQLNSOBJECTTYPE_LOCAL_JOB, SQLNSOBJECTTYPE_MULTI_JOB, SQLNSOBJECTTYPE_REMOTESERVERS, SQLNSOBJECTTYPE_LINKEDSERVERS, SQLNSOBJECTTYPE_SERVERROLES, SQLNSOBJECTTYPE_SERVERROLE, SQLNSOBJECTTYPE_ALERT, SQLNSOBJECTTYPE_OPERATOR, SQLNSOBJECTTYPE_REMOTESERVER, SQLNSOBJECTTYPE_LINKEDSERVER, SQLNSOBJECTTYPE_LINKEDSERVER_TABLES, SQLNSOBJECTTYPE_LINKEDSERVER_TABLE, SQLNSOBJECTTYPE_REPLICATION, SQLNSOBJECTTYPE_REPLICATION_PUBLISHERS, SQLNSOBJECTTYPE_REPLICATION_PUBLISHER, SQLNSOBJECTTYPE_REPLICATION_AGENTS, SQLNSOBJECTTYPE_REPLICATION_REPORTS, SQLNSOBJECTTYPE_REPLICATION_ALERTS, SQLNSOBJECTTYPE_REPLICATION_SUBSCRIPTION, // do not add between here and SQLNSOBJECTTYPE_REPLICATION_MERGE_AGENTS SQLNSOBJECTTYPE_REPLICATION_PUBLICATION, SQLNSOBJECTTYPE_REPLICATION_SNAPSHOT_AGENTS, SQLNSOBJECTTYPE_REPLICATION_LOGREADER_AGENTS, SQLNSOBJECTTYPE_REPLICATION_DISTRIBUTION_AGENTS, SQLNSOBJECTTYPE_REPLICATION_MERGE_AGENTS, SQLNSOBJECTTYPE_REPLICATION_MISC_AGENTS, // SQLNSOBJECTTYPE_REPLICATION_SNAPSHOT_AGENT, SQLNSOBJECTTYPE_REPLICATION_LOGREADER_AGENT, SQLNSOBJECTTYPE_REPLICATION_DISTRIBUTION_AGENT, SQLNSOBJECTTYPE_REPLICATION_MERGE_AGENT, SQLNSOBJECTTYPE_REPLICATION_MISC_AGENT, SQLNSOBJECTTYPE_REPLICATION_REPORT, SQLNSOBJECTTYPE_DTSPKGS, SQLNSOBJECTTYPE_DTS_LOCALPKGS, SQLNSOBJECTTYPE_DTS_REPOSPKGS, SQLNSOBJECTTYPE_DTS_METADATA, SQLNSOBJECTTYPE_DTSPKG, SQLNSOBJECTTYPE_DB_MAINT_PLANS, SQLNSOBJECTTYPE_DB_MAINT_PLAN, SQLNSOBJECTTYPE_WEBASSISTANTJOBS, SQLNSOBJECTTYPE_WEBASSISTANTJOB, SQLNSOBJECTTYPE_CURRENTACTIVITY, SQLNSOBJECTTYPE_CURRENTACTIVITY_PROCESSINFO, SQLNSOBJECTTYPE_CURRENTACTIVITY_PROCESSINFO_INFO, SQLNSOBJECTTYPE_CURRENTACTIVITY_LOCKEDPROCESSES, SQLNSOBJECTTYPE_CURRENTACTIVITY_SPID, SQLNSOBJECTTYPE_CURRENTACTIVITY_SPID_INFO, SQLNSOBJECTTYPE_CURRENTACTIVITY_LOCKEDOBJECTS, SQLNSOBJECTTYPE_CURRENTACTIVITY_LOCKEDOBJECT, SQLNSOBJECTTYPE_CURRENTACTIVITY_LOCKEDOBJECT_INFO, SQLNSOBJECTTYPE_DATABASE_UDFS, SQLNSOBJECTTYPE_DATABASE_UDF, SQLNSOBJECTTYPE_PROFILER, SQLNSOBJECTTYPE_PROFILER_TRACE, SQLNSOBJECTTYPE_REPLICATION_MONITOR_GROUP, SQLNSOBJECTTYPE_REPLICATION_QUEUEREADER_AGENTS, SQLNSOBJECTTYPE_REPLICATION_QUEUEREADER_AGENT, SQLNSOBJECTTYPE_LOGSHIPPING_MONITORS, SQLNSOBJECTTYPE_LOGSHIPPING_MONITOR, SQLNSOBJECTTYPE_REPLICATION_FOLDER, SQLNSOBJECTTYPE_PUBLICATIONS_FOLDER, SQLNSOBJECTTYPE_SUBSCRIPTIONS_FOLDER, SQLNSOBJECTTYPE_REPLICATION_FOLDER_PUBLICATION, SQLNSOBJECTTYPE_REPLICATION_FOLDER_PUB_SUBSCRIPTION, SQLNSOBJECTTYPE_REPLICATION_FOLDER_SUBSCRIPTION, SQLNSOBJECTTYPE_REPLICATION_FOLDER_PUSH_SUBSCRIPTION, SQLNSOBJECTTYPE_HETEROGENEOUS_PUBLICATIONS_FOLDER, SQLNSOBJECTTYPE_HETEROGENEOUS_PUBLICATION, SQLNSOBJECTTYPE_HETEROGENEOUS_PUB_SUBSCRIPTION, SQLNSOBJECTTYPE_HETEROGENEOUS_VENDOR_FOLDER, SQLNSOBJECTTYPE_LINKEDSERVER_VIEWS, SQLNSOBJECTTYPE_LINKEDSERVER_VIEW //update SQLNSOBJECTTYPE_LAST is you add items at end } SQLNS_ENUM_END(SQLNSObjectType); #define SQLNSOBJECTTYPE_LAST SQLNSOBJECTTYPE_LINKEDSERVER_VIEW typedef SQLNS_ENUM_BEGIN(SQLNSModality, "Suggests the modality of the UI displayed") { SQLNamespace_DontCare = 0x0000, SQLNamespace_PreferModal = 0x0001, SQLNamespace_PreferModeless = 0x0002 } SQLNS_ENUM_END(SQLNSModality); typedef SQLNS_ENUM_BEGIN(SQLNSCommandID, "Command IDs available in the SQLNamespace") { SQLNS_CmdID_WIZARD_CREATEDB = 1, SQLNS_CmdID_WIZARD_CREATEINDEX , SQLNS_CmdID_WIZARD_DTSIMPORT , SQLNS_CmdID_WIZARD_DTSEXPORT , SQLNS_CmdID_WIZARD_CREATEJOB , SQLNS_CmdID_WIZARD_SECURITY , SQLNS_CmdID_WIZARD_SP , SQLNS_CmdID_WIZARD_VIEW , SQLNS_CmdID_WIZARD_INDEXTUNING , SQLNS_CmdID_WIZARD_ALERT , SQLNS_CmdID_WIZARD_MAINTPLAN , SQLNS_CmdID_WIZARD_WEBASST , SQLNS_CmdID_WIZARD_BACKUP , SQLNS_CmdID_WIZARD_CREATETRACE , SQLNS_CmdID_WIZARDS , SQLNS_CmdID_PROPERTIES , SQLNS_CmdID_DELETE , SQLNS_CmdID_NEW_SERVER , SQLNS_CmdID_NEW_JOB , SQLNS_CmdID_NEW_ALERT , SQLNS_CmdID_NEW_OPERATOR , SQLNS_CmdID_NEW_REMOTE_SERVER , SQLNS_CmdID_NEW_DATABASE , SQLNS_CmdID_NEW_TABLE , SQLNS_CmdID_NEW_VIEW , SQLNS_CmdID_NEW_STORED_PROCEDURE , SQLNS_CmdID_NEW_EXTENDED_STORED_PROCEDURE, SQLNS_CmdID_NEW_RULE , SQLNS_CmdID_NEW_DEFAULT , SQLNS_CmdID_NEW_UDDT , SQLNS_CmdID_NEW_SERVER_GROUP , SQLNS_CmdID_NEW_DIAGRAM , SQLNS_CmdID_NEW_DATABASE_ROLE , SQLNS_CmdID_NEW_LOGIN , SQLNS_CmdID_NEW_DBUSER , SQLNS_CmdID_NEW_BACKUPDEVICE , SQLNS_CmdID_OPEN , SQLNS_CmdID_JOBSERVER_ERRORLOG , SQLNS_CmdID_JOB_START , SQLNS_CmdID_JOB_HISTORY , SQLNS_CmdID_JOB_STOP , SQLNS_CmdID_JOBSERVER_TARGET_SERVERS , SQLNS_CmdID_EDIT_SERVER , SQLNS_CmdID_OBJECT_PERMISSIONS , SQLNS_CmdID_OBJECT_DEPENDENCIES , SQLNS_CmdID_TABLE_INDEXES , SQLNS_CmdID_TABLE_TRIGGERS , //SQLNS_CmdID_JOB_STEPS , SQLNS_CmdID_SVC_STOP = 49, SQLNS_CmdID_SVC_PAUSE , SQLNS_CmdID_SVC_START , SQLNS_CmdID_SERVER_SECURITY , //SQLNS_CmdID_CONNECT , //SQLNS_CmdID_SERVER_CONFIGURATION , SQLNS_CmdID_ENLIST = 55, SQLNS_CmdID_DEFECT , SQLNS_CmdID_EXPORT_JOB , //SQLNS_CmdID_MULTI_SERVER_JOB_STATUS , SQLNS_CmdID_DTS_IMPORT = 59, SQLNS_CmdID_DTS_EXPORT , SQLNS_CmdID_DTS_RUN , SQLNS_CmdID_ENLIST_REG_SERVERS , SQLNS_CmdID_TOOLS_MAINT_PLAN , SQLNS_CmdID_REPLICATION_PUBLISH , SQLNS_CmdID_REPLICATION_CONFIGURE , SQLNS_CmdID_REPLICATION_SUBSCRIBE , SQLNS_CmdID_REPLICATION_SCRIPT , SQLNS_CmdID_REPLICATION_UNINSTALL , SQLNS_CmdID_NEW_PUBLICATION , SQLNS_CmdID_PUSH_NEW_SUBSCRIPTION , SQLNS_CmdID_REPLICATION_RESOLVE_CONFLICTS, SQLNS_CmdID_NEW_SUBSCRIPTION , SQLNS_CmdID_REINIT_SUBSCRIPTION , SQLNS_CmdID_SYNCHRONIZE_NOW , SQLNS_CmdID_STOP_SYNCHRONIZING , SQLNS_CmdID_AGENT_ERROR_DETAILS , SQLNS_CmdID_AGENT_HISTORY , SQLNS_CmdID_SECURITY_LIST , SQLNS_CmdID_GENERATE_SCRIPTS , SQLNS_CmdID_DATABASE_BACKUP , SQLNS_CmdID_DATABASE_RESTORE , SQLNS_CmdID_DATABASE_SHRINKDB , SQLNS_CmdID_PUBLISHING_PROPERTIES , SQLNS_CmdID_NEW_LINKED_SERVER , SQLNS_CmdID_NEW_UDF , SQLNS_CmdID_NEW_TRACE, //more to come } SQLNS_ENUM_END(SQLNSCommandID); typedef SQLNS_ENUM_BEGIN(SQLNSErrors, "Error ranges available in the SQLNamespace") { SQLNS_E_NotImplemented = 1001, SQLNS_E_OrdOutOfRange = 1002, SQLNS_E_NameNotFound = 1003, SQLNS_E_NameDup = 1004, SQLNS_E_Already_Initialized = 1005, SQLNS_E_InvalidRootType = 1006, SQLNS_E_RequireAppName = 1007, SQLNS_E_InvalidObjectHandle = 1008, SQLNS_E_NoDMOObject = 1009, SQLNS_E_InvalidCommandName = 1010, SQLNS_E_InvalidCommandID = 1011, SQLNS_E_InvalidRootInfo = 1012, SQLNS_E_InvalidServerName = 1013, SQLNS_E_InvalidLoginInfo = 1014, SQLNS_E_InvalidDBName = 1015, SQLNS_E_InvalidConnectString = 1016, SQLNS_E_SrvGrpNotFound = 1017, SQLNS_E_ServerNotFound = 1018, SQLNS_E_DatabaseNotFound = 1019, SQLNS_E_InvalidServerVersion = 1020, SQLNS_E_ExternalError = 1100 //General, external error..we don't have a description for this error //more to come } SQLNS_ENUM_END(SQLNSErrors); #ifndef SQLNS_ODL_ #define SIZE_SQLOBJ_NAMELEN 128 typedef struct { DWORD dwStructSize; // in Bytes DWORD dwCreatePubAllowTypes; DWORD dwPubPropPages; DWORD dwConfigurePropPages; TCHAR szDatabaseName[SIZE_SQLOBJ_NAMELEN + 2]; // database name should not be more than 128 TCHARs. } REPLICATION_CUSTOMIZE_INFO, *PREPLICATION_CUSTOMIZE_INFO; #endif // These flag groups are used to control the Create Publication wizard, // the publication property sheet, and Configure Publishing and // Distribution property sheet // // the caller may not want to allow all types of publications to be created const long fAllowSnapshotPubs = 0x01; const long fAllowTransPubs = 0x02; const long fAllowMergePubs = 0x04; const long grfAllowAllPubTypes = 0x07; // You can select which property pages to display in the publication property // sheet. Note that some pages are dependent on the General page being displayed. // General page is always displayed. const long fPubPropArticles = 0x0002; const long fPubPropFilters = 0x0004; // controls both Columns & Rows const long fPubPropSubs = 0x0008; const long fPubPropSubOptions = 0x0010; const long fPubPropStatus = 0x0020; const long fPubPropScript = 0x0040; const long fPubPropACL = 0x0080; const long fPubPropSnapshot = 0x0100; const long fPubPropSnapshotLocation = 0x0200; const long fPubPropUpdatable = 0x0400; const long fPubPropAltSyncPartners = 0x0800; const long grfPubPropAllPages = 0xFFFF; // You can select which property pages to display in the Configure Publishing // and Distribution property sheet. const long fConfigurePropDist = 0x01; const long fConfigurePropDBs = 0x02; const long fConfigurePropSubscribers = 0x04; const long fConfigurePropPublishers = 0x08; const long fConfigurePropAccessList = 0x10; // UNDONE: This page has been removed const long grfConfigurePropAllPages = 0x1F; #ifdef SQLNS_ODL_ typedef long HSQLNSITEM, *PHSQLNSITEM; //handle to a namespace item #else typedef DWORD HSQLNSITEM, *PHSQLNSITEM; //handle to a namespace item #endif #endif //DO_ODL_TYPDEFS_ #define SQLNS_DEF_H_ #endif //SQLNS_DEF_H_