home *** CD-ROM | disk | FTP | other *** search
/ io Programmo 32 / IOPROG_32.ISO / SOFT / SqlEval7 / devtools / include / sqlnsdef.h < prev    next >
Encoding:
C/C++ Source or Header  |  1998-10-08  |  12.9 KB  |  373 lines

  1. #ifndef SQLNS_DEF_H_
  2.  
  3. #ifdef  DO_SQLNS_ODL_CONSTANTS_
  4. #define DONE_SQLNS_ODL_CONSTANTS_
  5.  
  6. #ifndef SQLNSVersion_Major
  7.     #define SQLNSVersion_Major 7
  8.     #define SQLNSVersion_Minor 0
  9. #endif // SQLNSVersion_Major
  10.  
  11. /////////////////////////////////////////////////////////////////////////////////////////
  12. // Constant enumerations.
  13. /////////////////////////////////////////////////////////////////////////////////////////
  14.  
  15. #define IID_ISQLNamespace 00026f20-EB1C-11cf-AE6E-00AA004A34D5
  16. #define IID_ISQLNamespaceObject 00026f21-EB1C-11cf-AE6E-00AA004A34D5
  17. #define IID_ISQLNamespaceCommand 00026f22-EB1C-11cf-AE6E-00AA004A34D5
  18. #define IID_ISQLNamespaceCommands 00026f23-EB1C-11cf-AE6E-00AA004A34D5
  19. #define IID_IReplicationCustomization 00026f24-EB1C-11cf-AE6E-00AA004A34D5
  20.  
  21. #define LIBID_SQLNamespace 00026f30-EB1C-11cf-AE6E-00AA004A34D5
  22. #define CLSID_SQLNamespace 00026f00-EB1C-11cf-AE6E-00AA004A34D5
  23. #define CLSID_SQLNamespaceInternal 00026f10-EB1C-11cf-AE6E-00AA004A34D5
  24.  
  25.  
  26. #endif //DO_SQLNS_ODL_CONSTANTS_
  27.  
  28.  
  29. #ifdef DO_HELP_CONSTANTS_
  30.  
  31. //interfaces
  32. #define H_NamespaceLibrary        100
  33. #define H_Namespace                200
  34. #define H_NamespaceObject        400
  35. #define H_NamespaceCommand        600
  36. #define H_NamespaceCommands        800
  37.  
  38. //enums
  39. #define H_SQLNSRootType            2000
  40. #define H_SQLNSObjectType        2200
  41. #define H_SQLNSModality            2400
  42. #define H_SQLNSCommandID        2600
  43. #define H_SQLNSErrors            2800
  44.  
  45. #endif //DO_HELP_CONSTANTS_
  46.  
  47.  
  48.  
  49. #ifdef DO_ODL_TYPDEFS_
  50.  
  51.  
  52. // To avoid the need to cast on bitwise operations (which defeats typesafety anyway),
  53. // define the datatype as DWORD for C/CPP.  OleAut languages don't do typechecking
  54. // and organize by the enum name.
  55. #ifdef SQLNS_ODL_
  56.     #define SQLNS_ENUM_BEGIN(tdef, hstring)    [helpcontext(H_##tdef), helpstring(hstring)] enum
  57.         // item = value, ...
  58.     #define SQLNS_ENUM_END(tdef)                tdef, *LP##tdef
  59. #else
  60.     #define SQLNS_ENUM_BEGIN(tdef, hstring)    DWORD tdef, *LP##tdef; enum tag##tdef
  61.         // item = value, ...
  62.     #define SQLNS_ENUM_END(tdef)                
  63. #endif
  64.  
  65.  
  66. typedef SQLNS_ENUM_BEGIN(SQLNSRootType, "The type of object to set as root")
  67. {
  68.     SQLNSRootType_DefaultRoot        = 0x0000,
  69.     SQLNSRootType_ServerGroup        = 0x0001,
  70.     SQLNSRootType_Server            = 0x0002,
  71.     SQLNSRootType_Database            = 0x0003
  72. } SQLNS_ENUM_END(SQLNSRootType);
  73.  
  74. typedef SQLNS_ENUM_BEGIN(SQLNSObjectType, "The type of object")
  75. {
  76.     SQLNSOBJECTTYPE_ROOT                = 0x0000,
  77.     SQLNSOBJECTTYPE_EMPTY,
  78.     SQLNSOBJECTTYPE_SERVER_GROUP,
  79.     SQLNSOBJECTTYPE_SERVER,
  80.     SQLNSOBJECTTYPE_DATABASES,
  81.     SQLNSOBJECTTYPE_DATABASE,
  82.     SQLNSOBJECTTYPE_MANAGEMENT,
  83.     SQLNSOBJECTTYPE_SECURITY,
  84.     SQLNSOBJECTTYPE_SERVICES,
  85.     SQLNSOBJECTTYPE_LOGINS,
  86.     SQLNSOBJECTTYPE_LOGIN,
  87.     SQLNSOBJECTTYPE_BACKUPDEVICES,
  88.     SQLNSOBJECTTYPE_BACKUPDEVICE,
  89.     SQLNSOBJECTTYPE_DATABASE_PUBLICATIONS,
  90.     SQLNSOBJECTTYPE_DATABASE_PUBLICATION,
  91.     SQLNSOBJECTTYPE_DATABASE_PUB_SUBSCRIPTION,
  92.     SQLNSOBJECTTYPE_DATABASE_PULL_SUBSCRIPTIONS,
  93.     SQLNSOBJECTTYPE_DATABASE_PULL_SUBSCRIPTION,
  94.     SQLNSOBJECTTYPE_DATABASE_USERS,
  95.     SQLNSOBJECTTYPE_DATABASE_USER,
  96.     SQLNSOBJECTTYPE_DATABASE_ROLES,
  97.     SQLNSOBJECTTYPE_DATABASE_ROLE,
  98.     SQLNSOBJECTTYPE_DATABASE_DIAGRAMS,
  99.     SQLNSOBJECTTYPE_DATABASE_DIAGRAM,
  100.     SQLNSOBJECTTYPE_DATABASE_TABLES,
  101.     SQLNSOBJECTTYPE_DATABASE_TABLE,
  102.     SQLNSOBJECTTYPE_DATABASE_VIEWS,
  103.     SQLNSOBJECTTYPE_DATABASE_VIEW,
  104.     SQLNSOBJECTTYPE_DATABASE_SPS,
  105.     SQLNSOBJECTTYPE_DATABASE_SP,
  106.     SQLNSOBJECTTYPE_DATABASE_EXTENDED_SPS,
  107.     SQLNSOBJECTTYPE_DATABASE_EXTENDED_SP,
  108.     SQLNSOBJECTTYPE_DATABASE_RULES,
  109.     SQLNSOBJECTTYPE_DATABASE_RULE,
  110.     SQLNSOBJECTTYPE_DATABASE_DEFAULTS,
  111.     SQLNSOBJECTTYPE_DATABASE_DEFAULT,
  112.     SQLNSOBJECTTYPE_DATABASE_UDDTS,                                
  113.     SQLNSOBJECTTYPE_DATABASE_UDDT,
  114.     SQLNSOBJECTTYPE_JOBSERVER,
  115.     SQLNSOBJECTTYPE_SQLMAIL,
  116.     SQLNSOBJECTTYPE_DTC,
  117.     SQLNSOBJECTTYPE_INDEXSERVER,
  118.     SQLNSOBJECTTYPE_INDEXSERVER_CATALOGS,
  119.     SQLNSOBJECTTYPE_INDEXSERVER_CATALOG,
  120.     SQLNSOBJECTTYPE_ERRORLOGS,
  121.     SQLNSOBJECTTYPE_ERRORLOG,
  122.     SQLNSOBJECTTYPE_ERRORLOGENTRY,
  123.     SQLNSOBJECTTYPE_ALERTS,
  124.     SQLNSOBJECTTYPE_OPERATORS,
  125.     SQLNSOBJECTTYPE_MSX_JOBS,
  126.     SQLNSOBJECTTYPE_LOCAL_JOBS,
  127.     SQLNSOBJECTTYPE_MULTI_JOBS,
  128.     SQLNSOBJECTTYPE_LOCAL_JOB,
  129.     SQLNSOBJECTTYPE_MULTI_JOB,
  130.     SQLNSOBJECTTYPE_REMOTESERVERS,
  131.     SQLNSOBJECTTYPE_LINKEDSERVERS,
  132.     SQLNSOBJECTTYPE_SERVERROLES,
  133.     SQLNSOBJECTTYPE_SERVERROLE,
  134.     SQLNSOBJECTTYPE_ALERT,
  135.     SQLNSOBJECTTYPE_OPERATOR,
  136.     SQLNSOBJECTTYPE_REMOTESERVER,
  137.     SQLNSOBJECTTYPE_LINKEDSERVER,
  138.     SQLNSOBJECTTYPE_LINKEDSERVER_TABLES,
  139.     SQLNSOBJECTTYPE_LINKEDSERVER_TABLE,
  140.     SQLNSOBJECTTYPE_REPLICATION,
  141.     SQLNSOBJECTTYPE_REPLICATION_PUBLISHERS,
  142.     SQLNSOBJECTTYPE_REPLICATION_PUBLISHER,
  143.     SQLNSOBJECTTYPE_REPLICATION_AGENTS,
  144.     SQLNSOBJECTTYPE_REPLICATION_REPORTS,
  145.     SQLNSOBJECTTYPE_REPLICATION_ALERTS,
  146.     SQLNSOBJECTTYPE_REPLICATION_SUBSCRIPTION,
  147.     // do not add between here and SQLNSOBJECTTYPE_REPLICATION_MERGE_AGENTS
  148.     SQLNSOBJECTTYPE_REPLICATION_PUBLICATION,
  149.     SQLNSOBJECTTYPE_REPLICATION_SNAPSHOT_AGENTS,
  150.     SQLNSOBJECTTYPE_REPLICATION_LOGREADER_AGENTS,
  151.     SQLNSOBJECTTYPE_REPLICATION_DISTRIBUTION_AGENTS,
  152.     SQLNSOBJECTTYPE_REPLICATION_MERGE_AGENTS,
  153.     SQLNSOBJECTTYPE_REPLICATION_MISC_AGENTS,
  154.     //
  155.     SQLNSOBJECTTYPE_REPLICATION_SNAPSHOT_AGENT,
  156.     SQLNSOBJECTTYPE_REPLICATION_LOGREADER_AGENT,
  157.     SQLNSOBJECTTYPE_REPLICATION_DISTRIBUTION_AGENT,
  158.     SQLNSOBJECTTYPE_REPLICATION_MERGE_AGENT,
  159.     SQLNSOBJECTTYPE_REPLICATION_MISC_AGENT,
  160.     SQLNSOBJECTTYPE_REPLICATION_REPORT,
  161.     SQLNSOBJECTTYPE_DTSPKGS,
  162.     SQLNSOBJECTTYPE_DTS_LOCALPKGS,
  163.     SQLNSOBJECTTYPE_DTS_REPOSPKGS,
  164.     SQLNSOBJECTTYPE_DTS_METADATA,
  165.     SQLNSOBJECTTYPE_DTSPKG,
  166.     SQLNSOBJECTTYPE_DB_MAINT_PLANS,
  167.     SQLNSOBJECTTYPE_DB_MAINT_PLAN,
  168.     SQLNSOBJECTTYPE_WEBASSISTANTJOBS,
  169.     SQLNSOBJECTTYPE_WEBASSISTANTJOB,
  170.     SQLNSOBJECTTYPE_CURRENTACTIVITY,
  171.     SQLNSOBJECTTYPE_CURRENTACTIVITY_PROCESSINFO,
  172.     SQLNSOBJECTTYPE_CURRENTACTIVITY_PROCESSINFO_INFO,
  173.     SQLNSOBJECTTYPE_CURRENTACTIVITY_LOCKEDPROCESSES,
  174.     SQLNSOBJECTTYPE_CURRENTACTIVITY_SPID,
  175.     SQLNSOBJECTTYPE_CURRENTACTIVITY_SPID_INFO,
  176.     SQLNSOBJECTTYPE_CURRENTACTIVITY_LOCKEDOBJECTS,
  177.     SQLNSOBJECTTYPE_CURRENTACTIVITY_LOCKEDOBJECT,
  178.     SQLNSOBJECTTYPE_CURRENTACTIVITY_LOCKEDOBJECT_INFO
  179.  
  180.     //update SQLNSOBJECTTYPE_LAST is you add items at end
  181.  
  182. } SQLNS_ENUM_END(SQLNSObjectType);
  183.  
  184. #define SQLNSOBJECTTYPE_LAST SQLNSOBJECTTYPE_CURRENTACTIVITY_LOCKEDOBJECT_INFO
  185.  
  186. typedef SQLNS_ENUM_BEGIN(SQLNSModality, "Suggests the modality of the UI displayed")
  187. {
  188.     SQLNamespace_DontCare   = 0x0000,
  189.     SQLNamespace_PreferModal    = 0x0001,
  190.     SQLNamespace_PreferModeless    = 0x0002
  191. } SQLNS_ENUM_END(SQLNSModality);
  192.  
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199. typedef SQLNS_ENUM_BEGIN(SQLNSCommandID, "Command IDs available in the SQLNamespace")
  200. {
  201.     SQLNS_CmdID_WIZARD_CREATEDB             =        1,
  202.     SQLNS_CmdID_WIZARD_CREATEINDEX          ,
  203.     SQLNS_CmdID_WIZARD_DTSIMPORT            ,
  204.     SQLNS_CmdID_WIZARD_DTSEXPORT            ,
  205.     SQLNS_CmdID_WIZARD_CREATEJOB            ,
  206.     SQLNS_CmdID_WIZARD_SECURITY             ,
  207.     SQLNS_CmdID_WIZARD_SP                   ,
  208.     SQLNS_CmdID_WIZARD_VIEW                 ,
  209.     SQLNS_CmdID_WIZARD_INDEXTUNING          ,
  210.     SQLNS_CmdID_WIZARD_ALERT                ,
  211.     SQLNS_CmdID_WIZARD_MAINTPLAN            ,
  212.     SQLNS_CmdID_WIZARD_WEBASST              ,
  213.     SQLNS_CmdID_WIZARD_BACKUP                ,
  214.     SQLNS_CmdID_WIZARD_CREATETRACE          ,
  215.     SQLNS_CmdID_WIZARDS                     ,
  216.     SQLNS_CmdID_PROPERTIES                  ,
  217.     SQLNS_CmdID_DELETE                      ,
  218.     SQLNS_CmdID_NEW_SERVER                  ,
  219.     SQLNS_CmdID_NEW_JOB                     ,
  220.     SQLNS_CmdID_NEW_ALERT                   ,
  221.     SQLNS_CmdID_NEW_OPERATOR                ,
  222.     SQLNS_CmdID_NEW_REMOTE_SERVER           ,
  223.     SQLNS_CmdID_NEW_DATABASE                ,
  224.     SQLNS_CmdID_NEW_TABLE                   ,
  225.     SQLNS_CmdID_NEW_VIEW                    ,
  226.     SQLNS_CmdID_NEW_STORED_PROCEDURE        ,
  227.     SQLNS_CmdID_NEW_EXTENDED_STORED_PROCEDURE,
  228.     SQLNS_CmdID_NEW_RULE                    ,
  229.     SQLNS_CmdID_NEW_DEFAULT                 ,
  230.     SQLNS_CmdID_NEW_UDDT                    ,
  231.     SQLNS_CmdID_NEW_SERVER_GROUP            ,
  232.     SQLNS_CmdID_NEW_DIAGRAM                    ,
  233.     SQLNS_CmdID_NEW_DATABASE_ROLE            ,
  234.     SQLNS_CmdID_NEW_LOGIN                   ,
  235.     SQLNS_CmdID_NEW_DBUSER                  ,
  236.     SQLNS_CmdID_NEW_BACKUPDEVICE            ,
  237.     SQLNS_CmdID_OPEN                        ,
  238.     SQLNS_CmdID_JOBSERVER_ERRORLOG            ,
  239.     SQLNS_CmdID_JOB_START                    ,
  240.     SQLNS_CmdID_JOB_HISTORY                    ,
  241.     SQLNS_CmdID_JOB_STOP                    ,
  242.     SQLNS_CmdID_JOBSERVER_TARGET_SERVERS    ,
  243.     SQLNS_CmdID_EDIT_SERVER                 ,
  244.     SQLNS_CmdID_OBJECT_PERMISSIONS          ,
  245.     SQLNS_CmdID_OBJECT_DEPENDENCIES         ,
  246.     SQLNS_CmdID_TABLE_INDEXES               ,
  247.     SQLNS_CmdID_TABLE_TRIGGERS              ,
  248.     //SQLNS_CmdID_JOB_STEPS                    ,
  249.     SQLNS_CmdID_SVC_STOP                    =        49,
  250.     SQLNS_CmdID_SVC_PAUSE                   ,
  251.     SQLNS_CmdID_SVC_START                   ,
  252.     SQLNS_CmdID_SERVER_SECURITY             ,
  253.     //SQLNS_CmdID_CONNECT                    ,
  254.     //SQLNS_CmdID_SERVER_CONFIGURATION        ,
  255.     SQLNS_CmdID_ENLIST                      =        55,
  256.     SQLNS_CmdID_DEFECT                      ,
  257.     SQLNS_CmdID_EXPORT_JOB                  ,
  258.     //SQLNS_CmdID_MULTI_SERVER_JOB_STATUS   ,
  259.     SQLNS_CmdID_DTS_IMPORT                    =        59,
  260.     SQLNS_CmdID_DTS_EXPORT                    ,
  261.     SQLNS_CmdID_DTS_RUN                        ,
  262.     SQLNS_CmdID_ENLIST_REG_SERVERS          ,
  263.     SQLNS_CmdID_TOOLS_MAINT_PLAN            ,
  264.     SQLNS_CmdID_REPLICATION_PUBLISH         ,
  265.     SQLNS_CmdID_REPLICATION_CONFIGURE       ,
  266.     SQLNS_CmdID_REPLICATION_SUBSCRIBE       ,
  267.     SQLNS_CmdID_REPLICATION_SCRIPT          ,
  268.     SQLNS_CmdID_REPLICATION_UNINSTALL       ,
  269.     SQLNS_CmdID_NEW_PUBLICATION             ,
  270.     SQLNS_CmdID_PUSH_NEW_SUBSCRIPTION       ,
  271.     SQLNS_CmdID_REPLICATION_RESOLVE_CONFLICTS,
  272.     SQLNS_CmdID_NEW_SUBSCRIPTION            ,
  273.     SQLNS_CmdID_REINIT_SUBSCRIPTION            ,
  274.     SQLNS_CmdID_SYNCHRONIZE_NOW                ,
  275.     SQLNS_CmdID_STOP_SYNCHRONIZING          ,
  276.     SQLNS_CmdID_AGENT_ERROR_DETAILS            ,
  277.     SQLNS_CmdID_AGENT_HISTORY                ,
  278.     SQLNS_CmdID_SECURITY_LIST                ,
  279.     SQLNS_CmdID_GENERATE_SCRIPTS            ,
  280.     SQLNS_CmdID_DATABASE_BACKUP                ,
  281.     SQLNS_CmdID_DATABASE_RESTORE            ,
  282.     SQLNS_CmdID_DATABASE_SHRINKDB            ,
  283.     SQLNS_CmdID_PUBLISHING_PROPERTIES        ,
  284.     SQLNS_CmdID_NEW_LINKED_SERVER            ,
  285.     //more to come
  286. } SQLNS_ENUM_END(SQLNSCommandID);
  287.  
  288. typedef SQLNS_ENUM_BEGIN(SQLNSErrors, "Error ranges available in the SQLNamespace")
  289. {
  290.     SQLNS_E_NotImplemented                        = 1001,
  291.     SQLNS_E_OrdOutOfRange                        = 1002,
  292.     SQLNS_E_NameNotFound                        = 1003,
  293.     SQLNS_E_NameDup                                = 1004,
  294.     SQLNS_E_Already_Initialized                    = 1005,
  295.     SQLNS_E_InvalidRootType                        = 1006,
  296.     SQLNS_E_RequireAppName                        = 1007,
  297.     SQLNS_E_InvalidObjectHandle                    = 1008,
  298.     SQLNS_E_NoDMOObject                            = 1009,
  299.     SQLNS_E_InvalidCommandName                    = 1010,
  300.     SQLNS_E_InvalidCommandID                    = 1011,
  301.     SQLNS_E_InvalidRootInfo                        = 1012,
  302.     SQLNS_E_InvalidServerName                    = 1013,
  303.     SQLNS_E_InvalidLoginInfo                    = 1014,
  304.     SQLNS_E_InvalidDBName                        = 1015,
  305.     SQLNS_E_InvalidConnectString                = 1016,
  306.     SQLNS_E_SrvGrpNotFound                        = 1017,
  307.     SQLNS_E_ServerNotFound                        = 1018,
  308.     SQLNS_E_DatabaseNotFound                    = 1019,
  309.     SQLNS_E_InvalidServerVersion                = 1020,
  310.     SQLNS_E_ExternalError                        = 1100            //General, external error..we don't have a description for this error
  311.     //more to come
  312. } SQLNS_ENUM_END(SQLNSErrors);
  313.  
  314. #ifndef SQLNS_ODL_
  315.  
  316. #define SIZE_SQLOBJ_NAMELEN 128
  317. typedef struct
  318.   {
  319.   DWORD                        dwStructSize; // in Bytes
  320.   DWORD                        dwCreatePubAllowTypes;
  321.   DWORD                        dwPubPropPages;
  322.   DWORD                        dwConfigurePropPages;
  323.   TCHAR                        szDatabaseName[SIZE_SQLOBJ_NAMELEN + 2]; // database name should not be more than 128 TCHARs.
  324.   } REPLICATION_CUSTOMIZE_INFO, *PREPLICATION_CUSTOMIZE_INFO;
  325.  
  326. #endif
  327.  
  328. // These flag groups are used to control the Create Publication wizard, 
  329. // the publication property sheet, and Configure Publishing and 
  330. // Distribution property sheet
  331. //
  332. // the caller may not want to allow all types of publications to be created
  333. const long fAllowSnapshotPubs                = 0x01;
  334. const long fAllowTransPubs                    = 0x02;
  335. const long fAllowMergePubs                    = 0x04;
  336. const long grfAllowAllPubTypes                = 0x07;
  337.  
  338. // You can select which property pages to display in the publication property
  339. // sheet.  Note that some pages are dependent on the General page being displayed. 
  340. // General page is always displayed.
  341. const long fPubPropArticles                    = 0x02;
  342. const long fPubPropFilters                    = 0x04;    // controls both Columns & Rows
  343. const long fPubPropSubs                        = 0x08;
  344. const long fPubPropSubOptions                = 0x10;
  345. const long fPubPropStatus                    = 0x20;
  346. const long fPubPropScript                    = 0x40;
  347. const long fPubPropACL                        = 0x80;
  348. const long grfPubPropAllPages                = 0xFF;
  349.     
  350. // You can select which property pages to display in the Configure Publishing
  351. // and Distribution property sheet.
  352. const long fConfigurePropDist                = 0x01;
  353. const long fConfigurePropDBs                = 0x02;
  354. const long fConfigurePropSubscribers        = 0x04;
  355. const long fConfigurePropPublishers            = 0x08;
  356. const long fConfigurePropAccessList            = 0x10;        // UNDONE: This page has been removed
  357. const long grfConfigurePropAllPages            = 0x1F;
  358.  
  359. #ifdef SQLNS_ODL_
  360. typedef long HSQLNSITEM, *PHSQLNSITEM;    //handle to a namespace item
  361. #else
  362. typedef DWORD HSQLNSITEM, *PHSQLNSITEM;    //handle to a namespace item
  363. #endif
  364.  
  365.  
  366.  
  367.  
  368.  
  369. #endif //DO_ODL_TYPDEFS_
  370.  
  371. #define SQLNS_DEF_H_
  372. #endif //SQLNS_DEF_H_
  373.