home *** CD-ROM | disk | FTP | other *** search
/ PC Format (South-Africa) 2001 June / PCFJune.iso / Xenon / C++ / FreeCommandLineTools.exe / Include / sqlnsdef.h < prev    next >
Encoding:
C/C++ Source or Header  |  2000-01-31  |  13.0 KB  |  375 lines

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