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

  1. /////////////////////////////////////////////////////////////////////////////////////////
  2. // Header file for SQLDMO C/C++ Client Component Object interfaces.
  3. // Copyright 1994-1995 Microsoft Corporation.
  4. /////////////////////////////////////////////////////////////////////////////////////////
  5.  
  6.  
  7. #ifndef _SQLDMO_H_
  8. #pragma option push -b -a8 -pc -A- /*P_O_Push*/
  9. #define _SQLDMO_H_
  10.  
  11. // SQLDMO versions supported for this header file.
  12. #define SQLDMOVERSION_700        0x07000000
  13.  
  14. // Current version of SQLDMO for this header file (matches sp_MSSQLDMO_version).
  15. #define SQLDMOVERSION_CURRENT    SQLDMOVERSION_700
  16.  
  17. /////////////////////////////////////////////////////////////////////////////////////////
  18. // Constant enumerations.
  19. /////////////////////////////////////////////////////////////////////////////////////////
  20. #ifndef _SQLDMO_CONSTANTS_
  21. #define _SQLDMO_CONSTANTS_
  22.  
  23. #ifdef _SQLDMO_ODL_        // Generate helpids if in ODL file.
  24. #define SQLDMO_HELPID(id) [helpcontext(H_##id)]
  25. #else
  26. #define SQLDMO_HELPID(id)
  27. #endif
  28.  
  29.  
  30. typedef SQLDMO_HELPID(SQLDMO_OBJECT_TYPE) enum {
  31.     SQLDMOObj_Unknown = 16384,        // Make it the only bit set
  32.     SQLDMOObj_Application = 0,
  33.  
  34.     // Database objects, value is power(2, sysobjects.sysstat & 0x0f), plus UDDTs in 0.
  35.     // These values can be bitmasked together for object listings.
  36.     SQLDMOObj_UserDefinedDatatype =           0x00000001,    // 1
  37.     SQLDMOObj_SystemTable =                   0x00000002,    // 2
  38.     SQLDMOObj_View =                          0x00000004,    // 4
  39.     SQLDMOObj_UserTable =                     0x00000008,    // 8
  40.     SQLDMOObj_StoredProcedure =               0x00000010,    // 16
  41.     SQLDMOObj_Default =                       0x00000040,    // 64
  42.     SQLDMOObj_Rule =                          0x00000080,    // 128
  43.     SQLDMOObj_Trigger =                       0x00000100,    // 256
  44.     SQLDMOObj_AllDatabaseUserObjects =        0x000001fd,    // All but system tables
  45.     SQLDMOObj_AllDatabaseObjects =            0x000001ff,    // All including system tables
  46.  
  47.  
  48.  
  49.  
  50.         // Other Database objects (not in sysobjects)
  51.         SQLDMOObj_SystemDatatype =                0x00001000,
  52.         SQLDMOObj_User =                          0x00002000,
  53.         SQLDMOObj_Group =                         0x00003000,
  54.         SQLDMOObj_Index =                         0x00004000,
  55.         SQLDMOObj_Key =                           0x00005000,
  56.         SQLDMOObj_Column =                        0x00006000,
  57.         SQLDMOObj_DBObject =                      0x00007000,
  58.         SQLDMOObj_DBOption =                      0x00008000,
  59.         SQLDMOObj_ProcedureParameter =            0x00009000,
  60.         SQLDMOObj_Permission =                    0x0000A000,
  61.         SQLDMOObj_IntegratedSecurity =            0x0000B000,
  62.         SQLDMOObj_Check =                         0x0000C000,
  63.         SQLDMOObj_DRIDefault =                    0x0000D000,
  64.  
  65.         // Objects not in databases.
  66.         SQLDMOObj_SQLServer =                     0x00020000,
  67.         SQLDMOObj_Database =                      0x00021000,
  68.         SQLDMOObj_BackupDevice =                  0x00022000,
  69.         SQLDMOObj_Login =                         0x00023000,
  70.         SQLDMOObj_Language =                      0x00024000,
  71.         SQLDMOObj_RemoteServer =                  0x00025000,
  72.         SQLDMOObj_RemoteLogin =                   0x00026000,
  73.         SQLDMOObj_Configuration =                 0x00027000,
  74.         SQLDMOObj_ConfigValue =                   0x00028000,
  75.         SQLDMOObj_QueryResults =                  0x00029000,
  76.         SQLDMOObj_TransactionLog =                0x0002A000,
  77.         SQLDMOObj_Registry =                      0x0002B000,
  78.         SQLDMOObj_Transfer =                      0x0002C000,
  79.         SQLDMOObj_Backup =                        0x0002D000,
  80.         SQLDMOObj_AutoProperty =                  0x0002E000,
  81.         SQLDMOObj_ServerGroup =                   0x0002F000,
  82.         SQLDMOObj_RegisteredServer =              0x00031000,
  83.         SQLDMOObj_BulkCopy =                      0x00032000,
  84.         SQLDMOObj_FileGroup =                     0x00033000,
  85.         SQLDMOObj_DBFile =                        0x00034000,
  86.         SQLDMOObj_LogFile =                       0x00035000,
  87.         SQLDMOObj_ServerRole =                    0x00036000,
  88.         SQLDMOObj_DatabaseRole =                  0x00037000,
  89.         SQLDMOObj_Restore =                       0x00038000,
  90.         SQLDMOObj_LinkedServer =                  0x00039000,
  91.         SQLDMOObj_LinkedServerLogin =             0x00040000,
  92.         SQLDMOObj_FullTextCatalog =               0x00041000,
  93.         SQLDMOObj_FullTextService =               0x00042000,
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.    // Replication Objects
  103.     SQLDMOObj_TransPublication =              0x00101000,
  104.     SQLDMOObj_TransArticle =                  0x00102000,
  105.     SQLDMOObj_TransSubscription =             0x00103000,
  106.     SQLDMOObj_TransPullSubscription =        0x00104000,
  107.     SQLDMOObj_MergePublication =             0x00105000,
  108.     SQLDMOObj_MergeArticle =                 0x00106000,
  109.     SQLDMOObj_MergeSubscription =            0x00107000,
  110.     SQLDMOObj_MergePullSubscription =        0x00108000,
  111.     SQLDMOObj_Replication =                 0x00109000,
  112.     SQLDMOObj_Publisher =                   0x0010A000,
  113.     SQLDMOObj_Subscriber =                  0x0010B000,
  114.     SQLDMOObj_Distributor =                 0x0010C000,
  115.     SQLDMOObj_ReplicationSecurity =         0x0010D000,
  116.     SQLDMOObj_DistributionPublisher =       0x0010E000,
  117.     SQLDMOObj_RegisteredSubscriber =        0x0010F000,
  118.     SQLDMOObj_ReplicationDatabase =         0x00110000,
  119.     SQLDMOObj_DistributionDatabase =        0x00111000,
  120.     SQLDMOObj_ReplicationTable =            0x00112000,
  121.     SQLDMOObj_ReplicationStoredProcedure =  0x00113000,
  122.     SQLDMOObj_DistributionPublication =     0x00114000,
  123.     SQLDMOObj_DistributionArticle =         0x00115000,
  124.     SQLDMOObj_DistributionSubscription =    0x00116000,
  125.     SQLDMOObj_MergeSubsetFilter =             0x00117000,
  126.  
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.  
  137.  
  138.    // SQL JobServer Objects
  139.         SQLDMOObj_AlertSystem =                   0x00201000,
  140.         SQLDMOObj_JobServer =                     0x00202000,
  141.         SQLDMOObj_Alert =                         0x00203000,
  142.         SQLDMOObj_Operator =                      0x00204000,
  143.         SQLDMOObj_Job =                           0x00205000,
  144.         SQLDMOObj_JobStep =                       0x00206000,
  145.         SQLDMOObj_TargetServer =                  0x00207000,
  146.         SQLDMOObj_TargetServerGroup =             0x00208000,
  147.         SQLDMOObj_Category =                      0x00209000,
  148.         SQLDMOObj_Schedule =                      0x00210000,
  149.         SQLDMOObj_JobFilter =                     0x00211000,
  150.         SQLDMOObj_JobHistoryFilter =              0x00212000,
  151.         SQLDMOObj_JobSchedule =                   0x00213000,
  152.  
  153.  
  154.  
  155.  
  156.  
  157.  
  158.  
  159.  
  160.    SQLDMOObj_Last =                          0x10000000     // End of enumeration.
  161.  
  162. } SQLDMO_OBJECT_TYPE;
  163.  
  164.  
  165.  
  166. typedef SQLDMO_HELPID(SQLDMO_KEY_TYPE) enum {
  167.         SQLDMOKey_Unknown = 0,
  168.         SQLDMOKey_Primary = 1,
  169.         SQLDMOKey_Unique = 2,
  170.         SQLDMOKey_Foreign = 3
  171. } SQLDMO_KEY_TYPE;
  172.  
  173. typedef SQLDMO_HELPID(SQLDMO_DEVICE_TYPE) enum {
  174.         SQLDMODevice_Unknown = 100,
  175.         SQLDMODevice_DiskDump = 2,
  176.         SQLDMODevice_FloppyADump = 3,
  177.         SQLDMODevice_FloppyBDump = 4,
  178.         SQLDMODevice_TapeDump = 5,
  179.         SQLDMODevice_PipeDump = 6,
  180.         SQLDMODevice_CDROM = 7
  181. } SQLDMO_DEVICE_TYPE;
  182.  
  183. typedef SQLDMO_HELPID(SQLDMO_PRIVILEGE_TYPE) enum {
  184.         SQLDMOPriv_Unknown = 0,
  185.  
  186.         // Privilege values, different from sysprotects as we need to bitmask.
  187.         // Object privileges.
  188.         SQLDMOPriv_Select = 1,
  189.         SQLDMOPriv_Insert = 2,
  190.         SQLDMOPriv_Update = 4,
  191.         SQLDMOPriv_Delete = 8,
  192.         SQLDMOPriv_Execute = 16,
  193.         SQLDMOPriv_References = 32,
  194.         SQLDMOPriv_AllObjectPrivs = 63,
  195.  
  196.         // Database (statement) privileges.
  197.         SQLDMOPriv_CreateTable = 128,
  198.         SQLDMOPriv_CreateDatabase = 256,
  199.         SQLDMOPriv_CreateView = 512,
  200.         SQLDMOPriv_CreateProcedure = 1024,
  201.         SQLDMOPriv_DumpDatabase = 2048,
  202.         SQLDMOPriv_CreateDefault = 4096,
  203.         SQLDMOPriv_DumpTransaction = 8192,
  204.         SQLDMOPriv_CreateRule = 16384,
  205.         SQLDMOPriv_DumpTable = 32768,
  206.         SQLDMOPriv_AllDatabasePrivs = 65408
  207. } SQLDMO_PRIVILEGE_TYPE;
  208.  
  209. typedef SQLDMO_HELPID(SQLDMO_PROCEDURE_TYPE) enum {
  210.         SQLDMOProc_Unknown = 0,
  211.         SQLDMOProc_Standard = 1,
  212.         SQLDMOProc_Extended = 2,
  213.         SQLDMOProc_Macro = 3,
  214.         SQLDMOProc_ReplicationFilter = 4
  215. } SQLDMO_PROCEDURE_TYPE;
  216.  
  217. // Trigger types may be OR'd together.
  218. typedef SQLDMO_HELPID(SQLDMO_TRIGGER_TYPE) enum {
  219.         SQLDMOTrig_Unknown = 0,
  220.         SQLDMOTrig_Insert = 1,
  221.         SQLDMOTrig_Update = 2,
  222.         SQLDMOTrig_Delete = 4,
  223.         SQLDMOTrig_All = 7
  224. } SQLDMO_TRIGGER_TYPE;
  225.  
  226. typedef SQLDMO_HELPID(SQLDMO_INDEX_TYPE) enum {                                                 // SQLDMO Internal:  sync with ntinc\index.h
  227.         // Index type values as in sysindexes.status.
  228.         SQLDMOIndex_Default = 0x0000,
  229.         SQLDMOIndex_IgnoreDupKey = 0x0001,
  230.         SQLDMOIndex_Unique = 0x0002,
  231. //        SQLDMOIndex_IgnoreDupRow = 0x0004,      // obsolete in 7.0
  232.         SQLDMOIndex_Clustered = 0x0010,
  233. //        SQLDMOIndex_AllowDupRow = 0x0040,       // obsolete in 7.0
  234.         SQLDMOIndex_PadIndex = 0x0100,          // new for 7.0, fillfactor applies to index nodes also
  235.         SQLDMOIndex_SortedData = 0x0200,
  236.         SQLDMOIndex_SortedDataReorg = 0x2000,   // 6.0-only; sorted-data with reorganization
  237.         SQLDMOIndex_DropExist = 0x8000,         // new for 7.0, Drop the existing index
  238. //        SQLDMOIndex_Valid = 0xA357,             // Any of foregoing (writable) types
  239.         SQLDMOIndex_Valid = 0xA313,             // Any of foregoing (writable) types
  240.         SQLDMOIndex_Hypothetical = 0x0020,      // new for 7.0, statistics only index, we get this for both 'CREATE STATISTICS' and 'CREATE INDEX...WITH STATISTICS_ONLY'
  241.         SQLDMOIndex_DRIPrimaryKey = 0x0800,     // 6.0-only, readonly; DRI-generated types
  242.         SQLDMOIndex_DRIUniqueKey = 0x1000,
  243.         SQLDMOIndex_DRIIndex = 0x1800,          // Index implements DRI (DRIPrimaryKey | DRIUniqueKey)
  244.         SQLDMOIndex_NoRecompute = 0x01000000,   // new for 7.0
  245. } SQLDMO_INDEX_TYPE;
  246.  
  247. typedef SQLDMO_HELPID(SQLDMO_QUERY_DATATYPE) enum {
  248.    // Indexed as per ..\common\inc\sql.hpp and sql.h sqlext.h datatype constants.
  249.         SQLDMO_DTypeUnknown     = 0,
  250.         SQLDMO_DTypeChar        = 1,                         // SQL_CHAR
  251.         SQLDMO_DTypeText        = -1,                        // SQL_LONGVARCHAR
  252.         SQLDMO_DTypeVarchar     = 12,                        // SQL_VARCHAR
  253.         SQLDMO_DTypeVarBinary   = -3,                        // SQL_VARBINARY
  254.         SQLDMO_DTypeBinary      = -2,                        // SQL_BINARY
  255.         SQLDMO_DTypeImage       = -4,                        // SQL_LONGVARBINARY
  256.         SQLDMO_DTypeFloat4      = 7,                         // SQL_REAL
  257.         SQLDMO_DTypeFloat8      = 8,                         // SQL_DOUBLE
  258.         SQLDMO_DTypeInt1        = -6,                        // SQL_TINYINT
  259.         SQLDMO_DTypeInt2        = 5,                         // SQL_SMALLINT
  260.         SQLDMO_DTypeInt4        = 4,                         // SQL_INTEGER
  261.         SQLDMO_DTypeMoney4      = 3,                         // SQL_DECIMAL
  262.         SQLDMO_DTypeMoney       = 3,                         // SQL_DECIMAL
  263.         SQLDMO_DTypeDateTime    = -2,                        // SQL_BINARY
  264.         SQLDMO_DTypeDateTime4   = 93,                        // SQL_TYPE_TIMESTAMP
  265.         SQLDMO_DTypeBit         = -7,                        // SQL_BIT
  266.         SQLDMO_DTypeUChar       = -8,                        // SQL_WCHAR
  267.         SQLDMO_DTypeUVarchar    = -9,                        // SQL_WVARCHAR
  268.         SQLDMO_DTypeGUID        = -11,                       // SQL_GUID
  269.         SQLDMO_DTypeNText       = -10,                       // SQL_WLONGVARCHAR
  270. } SQLDMO_QUERY_DATATYPE;
  271.  
  272. typedef SQLDMO_HELPID(SQLDMO_AUDIT_TYPE) enum {
  273.         SQLDMOAudit_None = 0,
  274.         SQLDMOAudit_Success = 1,
  275.         SQLDMOAudit_Failure = 2,
  276.         SQLDMOAudit_All = 3
  277. } SQLDMO_AUDIT_TYPE;
  278.  
  279. typedef SQLDMO_HELPID(SQLDMO_SECURITY_TYPE) enum {
  280.         SQLDMOSecurity_Min = 0,
  281.         SQLDMOSecurity_Normal = 0,
  282.         SQLDMOSecurity_Integrated = 1,
  283.         SQLDMOSecurity_Mixed = 2,
  284.         SQLDMOSecurity_Max = 2
  285. } SQLDMO_SECURITY_TYPE;
  286.  
  287. typedef SQLDMO_HELPID(SQLDMO_MEDIA_TYPE) enum {
  288.         SQLDMOMedia_Floppy = 1,
  289.         SQLDMOMedia_FixedDisk = 2,
  290.         SQLDMOMedia_Tape = 4,
  291.         SQLDMOMedia_CDROM = 8,
  292.         SQLDMOMedia_All = 15
  293. } SQLDMO_MEDIA_TYPE;
  294.  
  295. typedef SQLDMO_HELPID(SQLDMO_PERFMON_TYPE) enum {
  296.         SQLDMOPerfmon_None = 1000,                                      // No perfmon integration
  297.         SQLDMOPerfmon_MinSet = 0,
  298.         SQLDMOPerfmon_Continuous = 0,
  299.         SQLDMOPerfmon_OnDemand = 1,
  300.         SQLDMOPerfmon_MaxSet = 1
  301. } SQLDMO_PERFMON_TYPE;
  302.  
  303. typedef SQLDMO_HELPID(SQLDMO_DBSTATUS_TYPE) enum {
  304.         SQLDMODBStat_Normal = 0x0000,
  305.         SQLDMODBStat_Loading = 0x0020,              // isinload
  306.         SQLDMODBStat_Recovering = 0x00c0,           // 0x40 | 0x080, isinrecovery, isnotrecovered
  307.         SQLDMODBStat_Suspect = 0x0100,              // issuspect, isshutdown (IsSuspect for recovery failure, IsShutdown for missing files)
  308.         SQLDMODBStat_Offline = 0x0200,              // isoffline, isdetached
  309.         SQLDMODBStat_Inaccessible = 0x03e0,         // Loading | Recovering | Suspect | Offline
  310.         SQLDMODBStat_EmergencyMode = 0x8000,        // isemergencymode
  311.         SQLDMODBStat_Standby = 0x0400,              // online as readonly, with restore log allowed
  312.         SQLDMODBStat_All = 0x87e0
  313. } SQLDMO_DBSTATUS_TYPE;
  314.  
  315. typedef SQLDMO_HELPID(SQLDMO_COPYDATA_TYPE) enum {
  316.         SQLDMOCopyData_False = 0,
  317.         SQLDMOCopyData_Replace = 1,
  318.         SQLDMOCopyData_Append = 2
  319. } SQLDMO_COPYDATA_TYPE;
  320.  
  321. typedef SQLDMO_HELPID(SQLDMO_DATAFILE_TYPE) enum {
  322.         // Bulk-copy datafile options (Table/View.Export and Table.Import).  These are mutually exclusive.
  323.         SQLDMODataFile_CommaDelimitedChar =             0x00000001,     // ColumnDelimiter == Comma, RowDelimiter == <CRLF>
  324.         SQLDMODataFile_Default =                                        0x00000001,     // Default == csv
  325.         SQLDMODataFile_TabDelimitedChar =                       0x00000002,     // ColumnDelimiter == <TAB>, RowDelimiter == <CRLF>
  326.         SQLDMODataFile_SpecialDelimitedChar =           0x00000003,     // Set BulkCopy.ColumnDelimiter and .RowDelimiter
  327.         SQLDMODataFile_NativeFormat =                           0x00000004,     // Use native datatype formats
  328.         SQLDMODataFile_UseFormatFile =                          0x00000005,     // Use an existing format file.
  329. } SQLDMO_DATAFILE_TYPE;
  330.  
  331. typedef SQLDMO_HELPID(SQLDMO_STATUSINFO_TYPE) enum {
  332.         SQLDMOStatInfo_Unknown = 0,                                     // Initialization value, not valid as a parameter
  333.         SQLDMOStatInfo_DatabaseStatus = 0x0001,         // Database.Status
  334.         SQLDMOStatInfo_DatabaseSpace = 0x0002,          // Database.SpaceAvailable
  335.         SQLDMOStatInfo_AutoVerifyConnection = 0x0004,   // Server.VerifyConnection done automatically.
  336.         SQLDMOStatInfo_All = 0x0007                                     // All the foregoing
  337. } SQLDMO_STATUSINFO_TYPE;
  338.  
  339. typedef SQLDMO_HELPID(SQLDMO_SCRIPT_TYPE) enum {
  340.         // What's included in the Script method output.
  341.         SQLDMOScript_Default                 = 0x0004,     // Object creation only
  342.         SQLDMOScript_Drops                     = 0x0001,     // Include object drops
  343.         SQLDMOScript_ObjectPermissions         = 0x0002,     // Include object permissions
  344.         SQLDMOScript_PrimaryObject             = 0x0004,     // Include object creation
  345.         SQLDMOScript_ClusteredIndexes         = 0x0008,   // Include clustered index creation (table only)
  346.         SQLDMOScript_Triggers                 = 0x0010,   // Include trigger creation (table only)
  347.         SQLDMOScript_DatabasePermissions    = 0x0020,   // Database (statement) permissions
  348.         SQLDMOScript_Permissions             = 0x0022,   // Both database and object permissions (for scripting users).
  349.         SQLDMOScript_ToFileOnly             = 0x0040,   // If not set, a string is returned (if file nonnull, both are done)
  350.         SQLDMOScript_Bindings                 = 0x0080,   // Include rule/default bindings (table only)
  351.         SQLDMOScript_AppendToFile             = 0x0100,   // Append to output file if it already exists.
  352.         SQLDMOScript_NoDRI                     = 0x0200,   // Do not include DRI (intended for use if targeting pre-6.0 server with scripts)
  353.         SQLDMOScript_UDDTsToBaseType         = 0x0400,   // Convert UserDefinedDatatypes to base type when creating columns (table only)
  354.         // 0x0800 available.
  355.         SQLDMOScript_IncludeIfNotExists     = 0x1000,   // Include "if not exists" on object creation.
  356.         SQLDMOScript_NonClusteredIndexes    = 0x2000,   // Include nonclustered index creation (table only)
  357.         SQLDMOScript_Indexes                 = 0x12008,  // Include all index creation (table only)
  358.         SQLDMOScript_Aliases                 = 0x4000,   // For users, script aliases
  359.         SQLDMOScript_NoCommandTerm             = 0x8000,   // Do not append "GO" to commands.
  360.         SQLDMOScript_DRIIndexes             = 0x10000,  // Script DRI-generated indexes as indexes if NoDRI is specified.
  361.         SQLDMOScript_IncludeHeaders         = 0x20000,  // Include descriptive header in individual object script output.
  362.         SQLDMOScript_OwnerQualify             = 0x40000,  // Owner-qualify DROP statements (and CREATE where possible).
  363.         SQLDMOScript_TimestampToBinary         = 0x80000,  // Convert timestamp columns to binary(8) (for replication, etc.).
  364.         SQLDMOScript_SortedData             = 0x100000, // If the index or constraint was clustered, append sorted_data
  365.         SQLDMOScript_SortedDataReorg         = 0x200000, // Same as SQLDMOScript_SortedData, but Reorg is used to preserve fillfactor.
  366.         SQLDMOScript_TransferDefault         = 0x670ff,  // The default script type for Transfer. This is combination of following flags:
  367.                                                         // SQLDMOScript_PrimaryObject | SQLDMOScript_Bindings | SQLDMOScript_ClusteredIndexes | SQLDMOScript_NonClusteredIndexes |
  368.                                                         // SQLDMOScript_Triggers| SQLDMOScript_ToFileOnly|SQLDMOScript_Permissions| SQLDMOScript_IncludeHeaders|
  369.                                                         // SQLDMOScript_Aliases|SQLDMOScript_IncludeIfNotExists|SQLDMOScript_OwnerQualify|SQLDMOScript_Drops
  370.         // DRI-restrictive flags.  These may be combined with PrimaryObject as desired.
  371.         // These are to be used to include or exclude specific DRI components, such
  372.         // as for multi-pass scripting.
  373.         SQLDMOScript_DRI_NonClustered         = 0x00400000,
  374.         SQLDMOScript_DRI_Clustered             = 0x00800000,
  375.         SQLDMOScript_DRI_Checks                = 0x01000000,
  376.         SQLDMOScript_DRI_Defaults             = 0x02000000,
  377.         SQLDMOScript_DRI_UniqueKeys         = 0x04000000,
  378.         SQLDMOScript_DRI_ForeignKeys        = 0x08000000,
  379.         SQLDMOScript_DRI_PrimaryKey         = 0x10000000,
  380.         SQLDMOScript_DRI_AllKeys             = 0x1c000000,     // Bitmask of all key types (PK, FK, Unique).
  381.         SQLDMOScript_DRI_AllConstraints     = 0x1f000000,   // Bitmask of all constraint types (PK, FK, Unique, Check, Default).
  382.         SQLDMOScript_DRI_All                 = 0x1fc00000,   // All the foregoing (specifying this and not PrimaryObject gets just DRI output).
  383.         SQLDMOScript_DRIWithNoCheck         = 0x20000000,   // Script DRI with nocheck (not included in _DRI_All).
  384.         SQLDMOScript_NoIdentity             = 0x40000000,   // Script with no IDENTITY attribute (e.g. for Replication).
  385.  
  386.         SQLDMOScript_UseQuotedIdentifiers = 0x80000000,   // Scripts with quoted identifiers. Also will cause Transfer to SET QUOTED_IDENTIFIER ON on the destination.
  387.                                                           // !!! This is a backward compatible flag, when scripting from post 6.5 server, this flag would be igored.
  388.                                                           // !!! When scripting out from 7.0: StoreProcedure, View and Trigger carry their own QI and AnsiNulls setting
  389.                                                           //     (based on the setting when the original object was created), and this flag does not affect them anymore.
  390.                                                           //     At the end of these object scripting, they set QI to the setting according to this flag,
  391.                                                           //     and AnsiNulls to ON (ODBC default).
  392. } SQLDMO_SCRIPT_TYPE;
  393.  
  394. typedef SQLDMO_HELPID(SQLDMO_SCRIPT2_TYPE) enum {
  395.         // Optional Script parameter.
  396.         SQLDMOScript2_Default          = 0x0000,   // Default
  397.          SQLDMOScript2_AnsiPadding      = 0x0001,   // Explicitly SET ANSI PADDING on or off before the create table
  398.         SQLDMOScript2_AnsiFile         = 0x0002,   // Generate ANSI output file
  399.         SQLDMOScript2_UnicodeFile      = 0x0004,   // Generate UNICODE output file
  400.         SQLDMOScript2_NonStop          = 0x0008,   // When error during script file generation, log error and continue.
  401.                                                    // This is a special case for Convert(scptxfr70.exe), not a general purpose flag
  402.                                                    // If client uses this flag to generate output files, they are running on their own risk
  403.                                                    // This flag affects script out (and only the part used by Convert), it does not affect transfer in.
  404.         SQLDMOScript2_NoFG             = 0x0010,   // Do not generate 'ON <filegroup>'. For Replication
  405.         SQLDMOScript2_MarkTriggers     = 0x0020,   // Mark system triggers. For Replication single table script only.
  406.         SQLDMOScript2_OnlyUserTriggers = 0x0040,   // Only script user triggers. For Replication single table script only.
  407.         SQLDMOScript2_EncryptPWD       = 0x0080,   // Script encrypted password for logins
  408.         SQLDMOScript2_SeparateXPs      = 0x0100,   // Script XP to a separate file (Convert)
  409.         SQLDMOScript2_NoWhatIfIndexes  = 0x0200,   // Do not script What-If indexes (default: script out)
  410.         // Following are SQLAgent related scripting flags
  411.         SQLDMOScript2_AgentNotify      = 0x0400,   // Script Notification for SQLAgent alert object
  412.         SQLDMOScript2_AgentAlertJob    = 0x0800,   // Include Job in Alert scripting
  413.         // Monarch full-text flag
  414.         SQLDMOScript2_FullTextIndex    = 0x80000,   // Include full-text index scripting (table only)
  415.         SQLDMOScript2_LoginSID         = 0x100000,  // Include the SID for standard SQLServer logins
  416.         SQLDMOScript2_FullTextCat      = 0x200000,  // Include full-text catelog scripting
  417. } SQLDMO_SCRIPT2_TYPE;
  418.  
  419. typedef SQLDMO_HELPID(SQLDMO_XFRSCRIPTMODE_TYPE) enum {
  420.         // How many files the XFR Script is to written to.
  421.         SQLDMOXfrFile_Default             = 0x0001,          // Default to summary files
  422.         SQLDMOXfrFile_SummaryFiles        = 0x0001,          // One files per class of objects transferred/dropped
  423.         SQLDMOXfrFile_SingleFile          = 0x0002,          // All scripts go to same file
  424.         SQLDMOXfrFile_SingleFilePerObject = 0x0004,          // One file per object
  425.         SQLDMOXfrFile_SingleSummaryFile   = 0x0008,          // One file with summary file format
  426. } SQLDMO_XFRSCRIPTMODE_TYPE;
  427.  
  428. typedef SQLDMO_HELPID(SQLDMO_DEPENDENCY_TYPE) enum {
  429.         SQLDMODep_Parents = 0,                                          // Default:  return all parents of input object
  430.         SQLDMODep_FullHierarchy = 0x10000,                      // Return full hierarchy; multiple rows of object and parents/children
  431.         SQLDMODep_OrderDescending = 0x20000,            // Order return in descending order
  432.         SQLDMODep_Children = 0x40000,                           // Return children of input object
  433.         SQLDMODep_ReturnInputObject = 0x80000,          // Include input object in the return set
  434.         SQLDMODep_FirstLevelOnly = 0x100000,            // Return only immediate parents/children
  435.         SQLDMODep_DRIOnly = 0x200000,                           // Return DRI dependencies only.
  436.         SQLDMODep_Valid = 0x3f0000                                      // All valid options.
  437. } SQLDMO_DEPENDENCY_TYPE;
  438.  
  439. typedef SQLDMO_HELPID(SQLDMO_OBJSORT_TYPE) enum {
  440.         SQLDMOObjSort_Name = 0,
  441.         SQLDMOObjSort_Type = 1,
  442.         SQLDMOObjSort_Owner = 2,
  443.         SQLDMOObjSort_Date = 3
  444. } SQLDMO_OBJSORT_TYPE;
  445.  
  446. typedef SQLDMO_HELPID(SQLDMO_SVCSTATUS_TYPE) enum {
  447.         SQLDMOSvc_Unknown = 0,
  448.         SQLDMOSvc_Running = 1,
  449.         SQLDMOSvc_Paused = 2,
  450.         SQLDMOSvc_Stopped = 3,
  451.         SQLDMOSvc_Starting = 4,
  452.         SQLDMOSvc_Stopping = 5,
  453.         SQLDMOSvc_Continuing = 6,
  454.         SQLDMOSvc_Pausing = 7
  455. } SQLDMO_SVCSTATUS_TYPE;
  456.  
  457. typedef SQLDMO_HELPID(SQLDMO_SRVOPTION_TYPE) enum {
  458.         SQLDMOSrvOpt_Unknown             = 0x0000,
  459.         SQLDMOSrvOpt_RPC                 = 0x0001,  // For both remote and linked server, through sp_serveroption
  460.         SQLDMOSrvOpt_Publisher           = 0x0002,
  461.         SQLDMOSrvOpt_Subscriber          = 0x0004,
  462.         SQLDMOSrvOpt_Distributor         = 0x0008,
  463.         SQLDMOSrvOpt_DistPublisher       = 0x0010,    // Separate from Publisher and Distributor; dpub bit set
  464. //        SQLDMOSrvOpt_ODBCDatasource = 0x0020,   // Server is an ODBC datasource
  465. //        SQLDMOSrvOpt_Valid = 0x0021,            // Only valid to set the RPC and ODBCDataSource options
  466.         // Following are new linked server options
  467.         SQLDMOSrvOpt_RPC_out             = 0x0040,  // Through sp_serveroption
  468.         SQLDMOSrvOpt_DataAccess          = 0x0080,  // Through sp_serveroption
  469.         SQLDMOSrvOpt_CollationCompatible = 0x0100,  // Through sp_serveroption
  470.         SQLDMOSrvOpt_NonTransacted       = 0x0200,  // Through registry
  471.         SQLDMOSrvOpt_InProcess           = 0x0400,  // Through registry
  472.         SQLDMOSrvOpt_IndexAsAccessPath   = 0x0800,  // Through registry
  473.         SQLDMOSrvOpt_LevelZeroOnly       = 0x1000,  // Through registry
  474.         SQLDMOSrvOpt_NestedQueries       = 0x2000,  // Through registry
  475.         SQLDMOSrvOpt_DynamicParameters   = 0x4000,  // Through registry
  476. } SQLDMO_SRVOPTION_TYPE;
  477.  
  478. typedef SQLDMO_HELPID(SQLDMO_TABLEATT_TYPE) enum {
  479.         // Values from sysobjects.category.
  480.         SQLDMOTabAtt_Identity =         0x0001,         // Table has an identity column
  481.         SQLDMOTabAtt_SystemObject =     0x0002,         // Table is a Microsoft system-required object
  482.         SQLDMOTabAtt_ForeignKey =       0x0004,         // Table has a foreign key
  483.         SQLDMOTabAtt_Referenced =       0x0008,         // Table is referenced by another table's foreign key
  484.         SQLDMOTabAtt_Published =        0x0020,         // Table is published
  485.         SQLDMOTabAtt_Replicated =       0x0040,         // Table has an active subscriber
  486.         SQLDMOTabAtt_Check =            0x0080,         // Table has a check constraint
  487.         SQLDMOTabAtt_Replica =          0x0100,         // Table is actively subscribed to a publisher
  488.         SQLDMOTabAtt_PrimaryKey =       0x0200,         // Table has a primary key
  489.         SQLDMOTabAtt_Unique =           0x0400,         // Table has a unique constraint
  490.         SQLDMOTabAtt_Default =          0x0800,         // Table has a DRI default
  491.         SQLDMOTabAtt_ReplCheck =        0x1000,         // Table has a check constraint that excludes replication
  492.         SQLDMOTabAtt_HasConstraint =0x1c84              // Table has at least one DRI constraint
  493. } SQLDMO_TABLEATT_TYPE;
  494.  
  495. typedef SQLDMO_HELPID(SQLDMO_INTSECLOGIN_TYPE) enum {
  496.         SQLDMOIntSecLogin_Unknown = 0,
  497.         SQLDMOIntSecLogin_Min = 1,
  498.         SQLDMOIntSecLogin_Admin = 1,
  499.         SQLDMOIntSecLogin_User = 2,
  500.         SQLDMOIntSecLogin_Replication = 3,
  501.         SQLDMOIntSecLogin_Max = 3
  502. } SQLDMO_INTSECLOGIN_TYPE;
  503.  
  504. typedef SQLDMO_HELPID(SQLDMO_VERIFYCONN_TYPE) enum {
  505.         SQLDMOConn_LastState = 0x0001,                  // State of conn at end of last operation.
  506.         SQLDMOConn_CurrentState = 0x0002,               // Actual current state (checks pipe, etc.)
  507.         SQLDMOConn_ReconnectIfDead = 0x0006,    // Reconnect if we've been disconnected (0x0004 | CurrentState)..
  508.         SQLDMOConn_Valid = 0x0007                               // All valid conn operations.
  509. } SQLDMO_VERIFYCONN_TYPE;
  510.  
  511. typedef SQLDMO_HELPID(SQLDMO_EXEC_TYPE) enum {
  512.         // For ExecuteImmediate, tells how to handle multi-batch commands.
  513.         SQLDMOExec_Default = 0x0000,                    // None of the following
  514.         SQLDMOExec_NoCommandTerm = 0x0001,              // No command-terminator parsing (i.e. don't check for "GO"; exec as single batch)
  515.         SQLDMOExec_ContinueOnError = 0x0002,    // Continue batch on all but broken-connection errors.
  516.         SQLDMOExec_NoExec = 0x0004,                             // SET NOEXEC ON/OFF
  517.         SQLDMOExec_ParseOnly = 0x0008,                   // SET PARSEONLY ON/OFF
  518.         SQLDMOExec_QI_ON = 0x0010               // SET QI ON before execution, special work around for Quoted Identifier, set QI OFF before return
  519. } SQLDMO_EXEC_TYPE;
  520.  
  521. typedef SQLDMO_HELPID(SQLDMO_CONFIGVALUE_TYPE) enum {
  522.         SQLDMOConfig_RecoveryInterval = 101,
  523.         SQLDMOConfig_AllowUpdates = 102,
  524.         SQLDMOConfig_UserConnections = 103,
  525.         SQLDMOConfig_Locks = 106,
  526.         SQLDMOConfig_OpenObjects = 107,
  527.         SQLDMOConfig_FillFactor = 109,
  528.         SQLDMOConfig_NestedTriggers = 115,
  529.         SQLDMOConfig_RemoteAccess = 117,
  530.         SQLDMOConfig_DefaultLanguage = 124,
  531.         SQLDMOConfig_LanguageInCache = 125,
  532.         SQLDMOConfig_MaxAsyncIO = 502,
  533.         SQLDMOConfig_MaxWorkerThreads = 503,
  534.         SQLDMOConfig_NetworkPacketSize = 505,
  535.         SQLDMOConfig_ShowAdvancedOption = 518,
  536.         SQLDMOConfig_RemoteProcTrans = 542,
  537.         SQLDMOConfig_RemoteConnTimeout = 543,
  538.         SQLDMOConfig_TimeSlice = 1110,
  539.         SQLDMOConfig_DefaultSortorderId = 1123,
  540.         SQLDMOConfig_SpinCounter = 1514,
  541.         SQLDMOConfig_PriorityBoost = 1517,
  542.         SQLDMOConfig_RemoteLoginTimeout = 1519,
  543.         SQLDMOConfig_RemoteQueryTimeout = 1520,
  544.         SQLDMOConfig_CursorThreshold = 1531,
  545.         SQLDMOConfig_SetWorkingSetSize = 1532,
  546.         SQLDMOConfig_ResourceTimeout = 1533,
  547.         SQLDMOConfig_UserOptions = 1534,
  548.         SQLDMOConfig_ProcessorAffinityMask = 1535,
  549.         SQLDMOConfig_MaxTextReplSize = 1536,
  550.         // New for 7.0
  551.         SQLDMOConfig_UnicodeLocalID = 1124,
  552.         SQLDMOConfig_UnicodeComparisonStyle = 1125,
  553.         SQLDMOConfig_LanguageNeutral = 1126,
  554.         SQLDMOConfig_TwoDigitYearCutoff = 1127,
  555.         SQLDMOConfig_IndexCreateMem = 1505,
  556.         SQLDMOConfig_MediaRetention = 1537,
  557.         SQLDMOConfig_CostThresholdForParallelism = 1538,
  558.         SQLDMOConfig_MaxDegreeOfParallelism = 1539,
  559.         SQLDMOConfig_MimMemoryPerQuery = 1540,
  560.         SQLDMOConfig_QueryWait = 1541,
  561.         SQLDMOConfig_VLMSize = 1542,
  562.         SQLDMOConfig_MinMemory = 1543,
  563.         SQLDMOConfig_MaxMemory = 1544,
  564.         SQLDMOConfig_QueryMaxTime = 1545,
  565.         SQLDMOConfig_LightweightPooling = 1546,
  566.  
  567. /** obsolete in 7.0
  568.         SQLDMOConfig_Memory = 104,
  569.         SQLDMOConfig_OpenDatabases = 105,
  570.         SQLDMOConfig_ProcedureCache = 108,
  571.         SQLDMOConfig_DatabaseSize = 111,
  572.         SQLDMOConfig_MediaRetention = 112,
  573.         SQLDMOConfig_RecoveryFlags = 113,
  574.         SQLDMOConfig_TempdbInRamMB = 501,
  575.         SQLDMOConfig_RAWorkerThreads = 508,
  576.         SQLDMOConfig_BackupThreads = 540,
  577.         SQLDMOConfig_BackupBufferSize = 541,
  578.         SQLDMOConfig_RemoteSites = 1119,
  579.         SQLDMOConfig_RASlotsPerThread = 1509,
  580.         SQLDMOConfig_RAPrefetches = 1510,
  581.         SQLDMOConfig_RADelay = 1511,
  582.         SQLDMOConfig_RACacheMissLimit = 1512,
  583.         SQLDMOConfig_RACacheHitLimit = 1513,
  584.         SQLDMOConfig_LogwriteSleepMS = 1530,
  585.         SQLDMOConfig_SortPages = 1505,
  586. **/
  587. } SQLDMO_CONFIGVALUE_TYPE;
  588.  
  589. typedef SQLDMO_HELPID(SQLDMO_SRVUSERPROFILE_TYPE) enum {
  590.         // Output from Server.GetUserProfile
  591.         SQLDMOSrvUserProf_None = 0x0000,
  592.         SQLDMOSrvUserProf_SaLogin = 0x0001,                                             // User is System Administrator
  593.         SQLDMOSrvUserProf_CreateDatabase = 0x0002,                              // User has privilege to do this
  594.         SQLDMOSrvUserProf_CreateXP = 0x0004,                                    // User can create Extended Stored Procedures
  595.  
  596.         SQLDMOSrvUserProf_AllProfileBits = 0x0007                               // All server profile bits
  597. } SQLDMO_SRVUSERPROFILE_TYPE;
  598.  
  599. typedef SQLDMO_HELPID(SQLDMO_DBUSERPROFILE_TYPE) enum {
  600.         // Output from Database.GetUserProfile
  601.         SQLDMODbUserProf_None = 0x0000,
  602.         SQLDMODbUserProf_DboLogin = 0x0001,                                             // User is Database Owner
  603.         SQLDMODbUserProf_CreateTable = 0x0002,                                  // User has these privileges
  604.         SQLDMODbUserProf_CreateView = 0x0004,
  605.         SQLDMODbUserProf_CreateProcedure = 0x0008,
  606.         SQLDMODbUserProf_DumpDatabase = 0x0010,
  607.         SQLDMODbUserProf_CreateDefault = 0x0020,
  608.         SQLDMODbUserProf_DumpTransaction = 0x0040,
  609.         SQLDMODbUserProf_CreateRule = 0x0080,
  610.         SQLDMODbUserProf_DumpTable = 0x0100,
  611.  
  612.         SQLDMODbUserProf_AllProfileBits = 0x01ff,                               // All DB-valid profile bits
  613.  
  614.         SQLDMODbUserProf_InvalidLogin = 0x40000000,                             // Current login not a valid user in this database.
  615.         SQLDMODbUserProf_InaccessibleDb = 0x80000000,                   // Database Loading | Recovering | Suspect | Offline
  616.         SQLDMODbUserProf_DbNotAvailable = 0xc0000000                    // All Database-not-accessible bits.
  617. } SQLDMO_DBUSERPROFILE_TYPE;
  618.  
  619. typedef SQLDMO_HELPID(SQLDMO_OS_TYPE) enum {
  620.         SQLDMO_WIN95 = 1,
  621.         SQLDMO_WINNT = 2
  622. } SQLDMO_OS_TYPE;
  623.  
  624. typedef SQLDMO_HELPID(SQLDMO_PACKAGE_TYPE) enum {
  625.         SQLDMO_Unknown    = 0,
  626.         SQLDMO_OFFICE     = 1,
  627.         SQLDMO_STANDARD   = 2,
  628.         SQLDMO_ENTERPRISE = 3,
  629.         SQLDMO_MSDE       = 4
  630. } SQLDMO_PACKAGE_TYPE;
  631.  
  632. // Constant values.
  633. typedef SQLDMO_HELPID(SQLDMO_CONSTANTS_TYPE) enum {
  634.         SQLDMO_NOENDDATE =                              99991231,       // For task dates/times
  635.         SQLDMO_NOENDTIME =                              235959,         // For task dates/times
  636.         SQLDMO_USEEXISTINGFILLFACTOR =  0                       // For Table.RebuildIndexes
  637. } SQLDMO_CONSTANTS_TYPE;
  638.  
  639. typedef SQLDMO_HELPID(SQLDMO_LOGIN_TYPE) enum {
  640.         SQLDMOLogin_NTUser   = 0,
  641.         SQLDMOLogin_NTGroup  = 1,
  642.         SQLDMOLogin_Standard = 2,
  643. } SQLDMO_LOGIN_TYPE;
  644.  
  645. typedef SQLDMO_HELPID(SQLDMO_ROLE_TYPE) enum {
  646.         SQLDMORole_Server    = 0x0001,
  647.         SQLDMORole_Database  = 0x0002,
  648.         SQLDMORole_All       = 0x0003,
  649. } SQLDMO_ROLE_TYPE;
  650.  
  651. typedef SQLDMO_HELPID(SQLDMO_GRANTED_TYPE) enum {
  652.         SQLDMOGranted_GrantGrant   = 204,
  653.         SQLDMOGranted_Grant        = 205,
  654.         SQLDMOGranted_Deny         = 206,
  655. } SQLDMO_GRANTED_TYPE;
  656.  
  657. typedef SQLDMO_HELPID(SQLDMO_BACKUP_LOG_TYPE) enum {
  658.         SQLDMOBackup_Log_Truncate        = 0,       // Default, truncate the log up to the beginning of the active portion of the log.
  659.         SQLDMOBackup_Log_NoTruncate      = 1,       // Back up the log without truncating it.
  660.         SQLDMOBackup_Log_NoLog           = 2,       // Removes the inactive part of the log without making a backup copy of it and truncates the log
  661.         SQLDMOBackup_Log_TruncateOnly    = 3,       // Truncates the log without making a backup copy if it
  662.         SQLDMOBackup_Log_NoOption        = 4,       // Generate "BACKUP LOG database_name", no optional parameter would be specified
  663. } SQLDMO_BACKUP_LOG_TYPE;
  664.  
  665. typedef SQLDMO_HELPID(SQLDMO_BACKUP_TYPE) enum {
  666.         SQLDMOBackup_Database      = 0,              // Default
  667.         SQLDMOBackup_Differential  = 1,
  668.         SQLDMOBackup_Files         = 2,
  669.         SQLDMOBackup_Log           = 3,
  670. } SQLDMO_BACKUP_TYPE;
  671.  
  672. typedef SQLDMO_HELPID(SQLDMO_RESTORE_TYPE) enum {
  673.         SQLDMORestore_Database     = 0,              // Default
  674.         SQLDMORestore_Files        = 1,
  675.         SQLDMORestore_Log          = 2,
  676. } SQLDMO_RESTORE_TYPE;
  677.  
  678. typedef SQLDMO_HELPID(SQLDMO_DBUSERROLE_TYPE) enum {
  679.         SQLDMORole_db_None              = 0x0000,         // Default
  680.         // Server Role
  681.         SQLDMORole_dbcreator            = 0x0001,
  682.         SQLDMORole_diskadmin            = 0x0002,
  683.         SQLDMORole_processadmin         = 0x0004,
  684.         SQLDMORole_securityadmin        = 0x0008,
  685.         SQLDMORole_serveradmin          = 0x0010,
  686.         SQLDMORole_setupadmin           = 0x0020,
  687.         SQLDMORole_sysadmin             = 0x0040,
  688.         // Database Role
  689.         SQLDMORole_db_accessadmin       = 0x0080,
  690.         SQLDMORole_db_datareader        = 0x0100,
  691.         SQLDMORole_db_ddladmin          = 0x0200,
  692.         SQLDMORole_db_denydatareader    = 0x0400,
  693.         SQLDMORole_db_denydatawriter    = 0x0800,
  694.         SQLDMORole_db_backupoperator    = 0x1000,
  695.         SQLDMORole_db_owner             = 0x2000,
  696.         SQLDMORole_db_securityadmin     = 0x4000,
  697.         SQLDMORole_db_datawriter        = 0x8000,
  698.  
  699.         SQLDMORole_Unknown              = 0xffffffff,         // Unknown
  700. } SQLDMO_DBUSERROLE_TYPE;
  701.  
  702. typedef SQLDMO_HELPID(SQLDMO_GROWTH_TYPE) enum {
  703.         SQLDMOGrowth_MB       = 0,      // Default for database file
  704.         SQLDMOGrowth_Percent  = 1,      // Default for log file
  705.         SQLDMOGrowth_Invalid  = 99,     // Invalid type, internal use
  706. } SQLDMO_GROWTH_TYPE;
  707.  
  708. typedef SQLDMO_HELPID(SQLDMO_STAT_SCAN_TYPE) enum {
  709.         SQLDMOStatistic_Sample         = 0,  // Defualt
  710.         SQLDMOStatistic_Percent        = 1,
  711.         SQLDMOStatistic_Rows           = 2,
  712.         SQLDMOStatistic_FullScan       = 3,
  713. } SQLDMO_STAT_SCAN_TYPE;
  714.  
  715. typedef SQLDMO_HELPID(SQLDMO_STAT_AFFECT_TYPE) enum {
  716.         SQLDMOStatistic_AffectIndex    = 0,    // Default
  717.         SQLDMOStatistic_AffectColumn   = 1,
  718.         SQLDMOStatistic_AffectAll      = 2,
  719. } SQLDMO_STAT_AFFECT_TYPE;
  720.  
  721. typedef SQLDMO_HELPID(SQLDMO_FULLTEXTSTATUS_TYPE) enum {
  722.         SQLDMOFullText_Idle            = 0,
  723.         SQLDMOFullText_CrawlinProgress = 1,
  724.         SQLDMOFullText_Paused          = 2,
  725.         SQLDMOFullText_Throttled       = 3,
  726.         SQLDMOFullText_Recovering      = 4,
  727.         SQLDMOFullText_Shutdown        = 5,
  728.         SQLDMOFullText_Incremental     = 6,
  729.         SQLDMOFullText_UpdatingIndex   = 7,
  730. } SQLDMO_FULLTEXTSTATUS_TYPE;
  731.  
  732. typedef SQLDMO_HELPID(SQLDMO_FULLTEXT_START_TYPE) enum {
  733.         SQLDMOFullText_Full            = 0,
  734.         SQLDMOFullText_Inc             = 1,
  735. } SQLDMO_FULLTEXT_START_TYPE;
  736.  
  737. typedef SQLDMO_HELPID(SQLDMO_LINKEDTABLE_TYPE) enum {
  738.         SQLDMOLinkedTable_Default          = 0,
  739.         SQLDMOLinkedTable_Alias            = 1,
  740.         SQLDMOLinkedTable_GlobalTemporary  = 2,
  741.         SQLDMOLinkedTable_LocalTemporary   = 3,
  742.         SQLDMOLinkedTable_SystemTable      = 4,
  743.         SQLDMOLinkedTable_Table            = 5,
  744.         SQLDMOLinkedTable_View             = 6,
  745. } SQLDMO_LINKEDTABLE_TYPE;
  746.  
  747. typedef SQLDMO_HELPID(SQLDMO_SQL_VER) enum {
  748.         SQLDMOSQLVer_Unknown          = 0x0000,
  749.         SQLDMOSQLVer_Pre_60           = 0x0001,
  750.         SQLDMOSQLVer_60               = 0x0002,
  751.         SQLDMOSQLVer_65               = 0x0004,
  752.         SQLDMOSQLVer_70               = 0x0008,
  753. } SQLDMO_SQL_VER;
  754.  
  755. typedef SQLDMO_HELPID(SQLDMO_DBCC_REPAIR_TYPE) enum {
  756.         SQLDMORepair_None           = 0,
  757.         SQLDMORepair_Fast           = 1,
  758.         SQLDMORepair_Rebuild        = 2,
  759.         SQLDMORepair_Allow_DataLoss = 3,
  760. } SQLDMO_DBCC_REPAIR_TYPE;
  761.  
  762. typedef SQLDMO_HELPID(SQLDMO_BCP_CODEPAGE_TYPE) enum {
  763.         SQLDMOBCP_RAW           = -1,        // Use server code page
  764.         SQLDMOBCP_ACP           = 0,         // MS Windows code page of the client
  765.         SQLDMOBCP_OEM           = 1,         // default, use OEM code page of the client
  766.         SQLDMOBCP_User          = 2,         // Caller provide code page
  767. } SQLDMO_BCP_CODEPAGE_TYPE;
  768.  
  769. typedef SQLDMO_HELPID(SQLDMO_SERVERBCP_DATAFILE_TYPE) enum {
  770.         // Available datafile type for server side BCP.
  771.         SQLDMOBCPDataFile_Char =        0x00000001,     // Using character character data type
  772.         SQLDMOBCPDataFile_Default =     0x00000001,     // Default == using character data type
  773.         SQLDMOBCPDataFile_Native =      0x00000002,     // Using native data type
  774.         SQLDMOBCPDataFile_WideChar =    0x00000004,     // Using unicode data type
  775.         SQLDMOBCPDataFile_WideNative =  0x00000008,     // Same as native, except char, varchar, and text are saved as unicode
  776. } SQLDMO_SERVERBCP_DATAFILE_TYPE;
  777.  
  778. typedef SQLDMO_HELPID(SQLDMO_COMP_LEVEL_TYPE) enum {
  779.         // Available compatibility level.
  780.         SQLDMOCompLevel_Unknown =  0,      // No idea what level
  781.         SQLDMOCompLevel_60      =  60,
  782.         SQLDMOCompLevel_65      =  65,
  783.         SQLDMOCompLevel_70      =  70,     // Default
  784. } SQLDMO_COMP_LEVEL_TYPE;
  785.  
  786. typedef SQLDMO_HELPID(SQLDMO_SHRINK_TYPE) enum {
  787.         SQLDMOShrink_Default        = 0,       // Default, reallocate data in pages and the files are truncated.
  788.         SQLDMOShrink_NoTruncate     = 1,       // Data in pages is reallocated and the files are not truncated.
  789.         SQLDMOShrink_TruncateOnly   = 2,       // Data in pages is not reallocated.  Files are truncated for any usused space free at the end of any file.
  790.         SQLDMOShrink_EmptyFile      = 3,       // DBFile and LogFile only.  Migrate all data from the specified file to other files in the same filegroup.
  791. } SQLDMO_SHRINK_TYPE;
  792.  
  793. typedef SQLDMO_HELPID(SQLDMO_NTACCESS_TYPE) enum {
  794.         SQLDMONTAccess_Unknown    = 0,     // This NT login is getting permission via a group.  Permission unknown
  795.         SQLDMONTAccess_Grant      = 1,     // This NT login has grant permission
  796.         SQLDMONTAccess_Deny       = 2,     // This NT login has deny permission
  797.         SQLDMONTAccess_NonNTLogin = 99,    // Not a NT login
  798. } SQLDMO_NTACCESS_TYPE;
  799.  
  800.  
  801.  
  802.  
  803.  
  804.  
  805.  
  806. typedef SQLDMO_HELPID(SQLDMO_SUBSCRIBER_TYPE) enum {
  807.     SQLDMOSubInfo_SQLServer =        0x00000000,    // Current version of MS SQLServer.
  808.     SQLDMOSubInfo_ODBCDatasource =    0x00000001,    // ODBC Datasource
  809.     SQLDMOSubInfo_JetDatabase =        0x00000002,    // JET_DATABASE
  810.     SQLDMOSubInfo_OLEDBDatasource =    0x00000003    // OLEDB Datasource
  811. } SQLDMO_SUBSCRIBER_TYPE;
  812.  
  813. typedef SQLDMO_HELPID(SQLDMO_INITIALSYNC_TYPE) enum {
  814.     SQLDMOInitSync_Unknown = 10,     // Pick your favourite invalid number
  815.     SQLDMOInitSync_Min = 0,
  816.     SQLDMOInitSync_Default = 0,
  817.     SQLDMOInitSync_BCPNative = 0,
  818.     SQLDMOInitSync_BCPChar = 1,
  819.     SQLDMOInitSync_Max = 1
  820. } SQLDMO_INITIALSYNC_TYPE;
  821.  
  822. typedef SQLDMO_HELPID(SQLDMO_REPFREQ_TYPE) enum {
  823.     SQLDMORepFreq_Unknown = 1000,        // Tinyint out-of-range
  824.     SQLDMORepFreq_Min = 0,
  825.     SQLDMORepFreq_Continuous = 0,
  826.     SQLDMORepFreq_Snapshot = 1,
  827.     SQLDMORepFreq_Max = 1
  828. } SQLDMO_REPFREQ_TYPE;
  829.  
  830. typedef SQLDMO_HELPID(SQLDMO_PUBLICATION_TYPE) enum {
  831.     SQLDMOPublication_Unknown         = 1000,        // Tinyint out-of-range
  832.     SQLDMOPublication_Min             = 0,
  833.     SQLDMOPublication_Transactional = 0,
  834.     SQLDMOPublication_Snapshot         = 1,
  835.     SQLDMOPublication_Merge         = 2,
  836.     SQLDMOPublication_Max             = 1
  837. } SQLDMO_PUBLICATION_TYPE;
  838.  
  839. typedef SQLDMO_HELPID(SQLDMO_ARTICLE_TYPE) enum {
  840.     SQLDMORep_Min                         = 0,
  841.     SQLDMORep_LogBased                     = 0x0001,    // Base for all LogBased replication types.
  842.     SQLDMORep_ManualFilterProc             = 0x0002,    // Bit for manually created (not auto-generated) filter proc
  843.     SQLDMORep_LogBasedManualFilterProc     = 0x0003,    // Log based, with manually created sync view.
  844.     SQLDMORep_ManualSyncView             = 0x0004,    // Bit for manually created (not auto-generated) filter proc.
  845.     SQLDMORep_LogBasedManualSyncView     = 0x0005,    // Log based, with manually created filter proc.
  846.     SQLDMORep_LogBasedVerticalPartition    = 0x0006,    // Log based, with vertical partition.
  847.     SQLDMORep_LogBasedManualBoth         = 0x0007,    // Log based, with manually created sync view and filter proc.
  848.     SQLDMORep_ProcExecution             = 0x0008,   // stored proc execution
  849.     SQLDMORep_SerializableProcExecution = 0x0018,      // stored proc exec, must be within serializable xact
  850.     SQLDMORep_TableBased                 = 0x000a,    // Table based article.
  851.     SQLDMORep_Max                         = 0x0018
  852. } SQLDMO_ARTICLE_TYPE;
  853.  
  854. typedef SQLDMO_HELPID(SQLDMO_SUBSYNC_TYPE) enum {
  855.     SQLDMOSubSync_Unknown = 1000,        // Tinyint out-of-range
  856.     SQLDMOSubSync_Manual     = 0,        // not used in 7.0, for upgrade, this will translate to SQLDMOSubSync_Auto
  857.     SQLDMOSubSync_Min         = 1,
  858.     SQLDMOSubSync_Auto         = 1,
  859.     SQLDMOSubSync_Default     = 1,        // Auto is default.
  860.     SQLDMOSubSync_None         = 2,
  861.     SQLDMOSubSync_Max         = 2
  862. } SQLDMO_SUBSYNC_TYPE;
  863.  
  864. typedef SQLDMO_HELPID(SQLDMO_PREARTICLE_TYPE) enum {
  865.     // Article pre-creation methods on destination table.
  866.     SQLDMOPreArt_Min = 0,
  867.     SQLDMOPreArt_None = 0,                // Do nothing
  868.     SQLDMOPreArt_DropTable = 1,            // Drop and re-create table
  869.     SQLDMOPreArt_DeleteRows = 2,        // Delete rows (logged)
  870.     SQLDMOPreArt_TruncateTable = 3,        // Truncate table (nonlogged)
  871.     SQLDMOPreArt_Max = 3
  872. } SQLDMO_PREARTICLE_TYPE;
  873.  
  874. typedef SQLDMO_HELPID(SQLDMO_ARTSTATUS_TYPE) enum {
  875.     SQLDMOArtStat_Min         = 0,
  876.     SQLDMOArtStat_Inactive     = 0,
  877.     SQLDMOArtStat_Unsynced     = 1,
  878.     SQLDMOArtStat_Active     = 2,
  879.     SQLDMOArtStat_Conflicts = 3,
  880.     SQLDMOArtStat_Errors     = 4,
  881.     SQLDMOArtStat_Max         = 4
  882. } SQLDMO_ARTSTATUS_TYPE;
  883.  
  884. typedef SQLDMO_HELPID(SQLDMO_SUBSTATUS_TYPE) enum {
  885.     SQLDMOSubStat_Unknown = 1000,        // Tinyint out-of-range
  886.     SQLDMOSubStat_Default = 1000,        // Use default
  887.     SQLDMOSubStat_Min = 0,
  888.     SQLDMOSubStat_Inactive = 0,
  889.     SQLDMOSubStat_Unsynced = 1,
  890.     SQLDMOSubStat_Active = 2,
  891.     SQLDMOSubStat_Max = 2
  892. } SQLDMO_SUBSTATUS_TYPE;
  893.  
  894. typedef SQLDMO_HELPID(SQLDMO_PUBSTATUS_TYPE) enum {
  895.     SQLDMOPubStat_Unknown = 1000,        // Tinyint out-of-range
  896.     SQLDMOPubStat_Default = 1000,        // Use default
  897.     SQLDMOPubStat_Min = 0,
  898.     SQLDMOPubStat_Inactive = 0,
  899.     SQLDMOPubStat_Active = 1,
  900.     SQLDMOPubStat_Max = 1
  901. } SQLDMO_PUBSTATUS_TYPE;
  902.  
  903. typedef SQLDMO_HELPID(SQLDMO_REPLICATION_TYPE) enum {
  904.     SQLDMORepType_Unknown             = 0x100,     // Tinyint out-of-range
  905.     SQLDMORepType_Transactional     = 0x0001,     // Trans replication
  906.     SQLDMORepType_Merge             = 0x0002,     // Merge replication
  907.     SQLDMORepType_TransactionalMerge= 0x0003,     // Both forms of replication
  908.     SQLDMORepType_Default             = 0x0001
  909. } SQLDMO_REPLICATION_TYPE;
  910.  
  911. typedef SQLDMO_HELPID(SQLDMO_RESOLVECONFLICT_TYPE) enum {
  912.     SQLDMOResolveConflict_Unknown = 0x100,         // Tinyint out-of-range
  913.     SQLDMOResolveConflict_Resubmit = 0x0001,     // Resubmit conflict table row
  914.     SQLDMOResolveConflict_Discard = 0x0002,     // Discard conflict table row
  915.     SQLDMOResolveConflict_Default = 0x0001
  916. } SQLDMO_RESOLVECONFLICT_TYPE;
  917.  
  918. typedef SQLDMO_HELPID(SQLDMO_TRANSUBSCRIBER_TYPE) enum {
  919.     SQLDMOTranSubscriber_Unknown         = 0x100,    // Tinyint out-of-range
  920.     SQLDMOTranSubscriber_Min             = 0,
  921.     SQLDMOTranSubscriber_ReadOnly         = 0,         // Trans readonly subscriber (default)
  922.     SQLDMOTranSubscriber_Synchronous    = 1,        // Trans synchronous subscriber
  923.     SQLDMOTranSubscriber_Default         = 0,
  924.     SQLDMOTranSubscriber_Max             = 1
  925. } SQLDMO_TRANSUBSCRIBER_TYPE;
  926.  
  927. typedef SQLDMO_HELPID(SQLDMO_MERGESUBSCRIBER_TYPE) enum {
  928.     SQLDMOMergeSubscriber_Unknown         = 0x100,    // Tinyint out-of-range
  929.     SQLDMOMergeSubscriber_Min             = 1,
  930.     SQLDMOMergeSubscriber_Global         = 1,        // Global Merge subscriber
  931.     SQLDMOMergeSubscriber_Local         = 2,         // Local Merge subscriber (default)
  932.     SQLDMOMergeSubscriber_Anonymous     = 3,        // Anonymous Merge subscriber
  933.     SQLDMOMergeSubscriber_Republishing     = 4,        // Republishing Merge subscriber
  934.     SQLDMOMergeSubscriber_Default         = 2,
  935.     SQLDMOMergeSubscriber_Max             = 4
  936. } SQLDMO_MERGESUBSCRIBER_TYPE;
  937.  
  938. typedef SQLDMO_HELPID(SQLDMO_REPSCRIPT_TYPE) enum {
  939.     SQLDMORepScript_Default             = 0x00000100,    // Default script options
  940.     SQLDMORepScript_NoSubscription        = 0x00000080,    // Script publication's creation without subscription
  941.     SQLDMORepScript_InstallDistributor     = 0x00000100,    // Script install of distributor
  942.     SQLDMORepScript_UninstallDistributor= 0x00000200,    // Script uninstall of distributor
  943.     SQLDMORepScript_InstallPublisher     = 0x00000400,    // Script install of publisher
  944.     SQLDMORepScript_UninstallPublisher  = 0x00000800,    // Script uninstall of publisher
  945.     SQLDMORepScript_ToFileOnly             = 0x00001000,    // If not set, a string is returned (if file nonnull, both are done)
  946.     SQLDMORepScript_AppendToFile         = 0x00002000,    // Append to output file if it already exists.
  947.     SQLDMORepScript_Creation            = 0x00004000,    // Script the object's creation
  948.     SQLDMORepScript_Deletion            = 0x00008000,    // Script the object's deletion
  949.     SQLDMORepScript_PublicationCreation    = 0x00010000,    // Script the object's creation
  950.     SQLDMORepScript_PublicationDeletion    = 0x00020000,    // Script the object's deletion
  951.     SQLDMORepScript_SubscriptionCreation= 0x00040000,    // Script the object's creation
  952.     SQLDMORepScript_SubscriptionDeletion= 0x00080000,    // Script the object's deletion
  953.     SQLDMORepScript_InstallReplication     = 0x00100000,    // Script install of replication
  954.     SQLDMORepScript_UninstallReplication= 0x00200000,    // Script uninstall of replication
  955.     /* Output control options */
  956.     SQLDMORepScript_AnsiFile             = 0x01000000,     // Generate ANSI output file
  957.     SQLDMORepScript_UnicodeFile         = 0x02000000,     // Generate UNICODE output file
  958.     SQLDMORepScript_EnableReplicationDB    = 0x04000000,    // Script enabling of replication database
  959.     SQLDMORepScript_DisableReplicationDB= 0x08000000,    // Script disabling of replication database
  960.     SQLDMORepScript_NoCommandTerm        = 0x10000000    // Do not add command terminator 
  961. } SQLDMO_REPSCRIPT_TYPE;
  962.  
  963. typedef SQLDMO_HELPID(SQLDMO_CREATIONSCRIPT_TYPE) enum {
  964.     SQLDMOCreationScript_DisableScripting     = 0x00000000,    // Disable the scripting of the object
  965.     SQLDMOCreationScript_PrimaryObject         = 0x00000001,   // Include object creation
  966.     SQLDMOCreationScript_CustomProcs        = 0x00000002,   // Generates custom stored procedures for the article if defined, trans only
  967.     SQLDMOCreationScript_ClusteredIndexes     = 0x00000010,    // Include clustered index creation (table only)
  968.     SQLDMOCreationScript_UDDTsToBaseTypes    = 0x00000020,    // Convert UserDefinedDatatypes to base type when creating columns (table only)
  969.     SQLDMOCreationScript_NonClusteredIndexes = 0x00000040,    // Include nonclustered index creation (table only)
  970.     SQLDMOCreationScript_DRI_PrimaryKey     = 0x00000080     // Include DRI on Primary keys
  971. } SQLDMO_CREATIONSCRIPT_TYPE;
  972.  
  973. typedef SQLDMO_HELPID(SQLDMO_COMMANDOPTION_TYPE) enum {
  974.     SQLDMOCommandOption_IncludeInsertColumnNames    = 0x00000008,   // Include column names in destination-table INSERT statements
  975.     SQLDMOCommandOption_BinaryParameters            = 0x00000010    // Send the stored procedure parameters in binary format.
  976. } SQLDMO_COMMANDOPTION_TYPE;
  977.  
  978. typedef SQLDMO_HELPID(SQLDMO_SUBSCRIPTION_TYPE) enum {
  979.     SQLDMOSubscription_Unknown = 0x100,        // Tinyint out-of-range
  980.     SQLDMOSubscription_Min = 0,
  981.     SQLDMOSubscription_Push = 0x0000,         // Push subscription
  982.     SQLDMOSubscription_Pull = 0x0001,        // Pull subscription
  983.     SQLDMOSubscription_Anonymous = 0x0002,    // Anonymous subscription
  984.     SQLDMOSubscription_All = 0x0003,         // All subscriptions
  985.     SQLDMOSubscription_Default = 0x0000,
  986.     SQLDMOSubscription_Max = 2
  987. } SQLDMO_SUBSCRIPTION_TYPE;
  988.  
  989. typedef SQLDMO_HELPID(SQLDMO_PUBATTRIB_TYPE) enum {
  990.     SQLDMOPubAttrib_Unknown         = 0x100,    // Tinyint out-of-range
  991.     SQLDMOPubAttrib_Min             = 0,
  992.     SQLDMOPubAttrib_AllowPush         = 0x0001,     // Allow Push
  993.     SQLDMOPubAttrib_AllowPull         = 0x0002,    // Allow Pull
  994.     SQLDMOPubAttrib_AllowAnonymous     = 0x0004,    // Anonymous PubAttrib
  995.     SQLDMOPubAttrib_InternetEnabled = 0x0008,    // Internet enabled
  996.     SQLDMOPubAttrib_ImmediateSync     = 0x0010,    // Immediate Sync
  997.     SQLDMOPubAttrib_IndependentAgent= 0x0020,    // Independent agent
  998.     SQLDMOPubAttrib_Default         = 0x0001,
  999.     SQLDMOPubAttrib_Valid             = 0x003f
  1000. } SQLDMO_PUBATTRIB_TYPE;
  1001.  
  1002. typedef SQLDMO_HELPID(SQLDMO_TASKSTATUS_TYPE) enum {
  1003.     SQLDMOTask_Pending         = 0,
  1004.     SQLDMOTask_Starting     = 1,
  1005.     SQLDMOTask_Succeeded     = 2,
  1006.     SQLDMOTask_Running         = 3,
  1007.     SQLDMOTask_Idle         = 4,
  1008.     SQLDMOTask_Retry         = 5,
  1009.     SQLDMOTask_Failed         = 6
  1010. } SQLDMO_TASKSTATUS_TYPE;
  1011.  
  1012. typedef SQLDMO_HELPID(SQLDMO_SESSION_TYPE) enum {
  1013.     SQLDMOSession_Unknown     = 0x100,     // Tinyint out-of-range
  1014.     SQLDMOSession_All        = 0x0001,    
  1015.     SQLDMOSession_Errors    = 0x0002    
  1016. } SQLDMO_SESSION_TYPE;
  1017.  
  1018.  
  1019. typedef SQLDMO_HELPID(SQLDMO_REPLAGENT_TYPE) enum {
  1020.     SQLDMOReplAgent_Default            = 0,     
  1021.     SQLDMOReplAgent_Publishers        = -1,     
  1022.     SQLDMOReplAgent_All                = 0,     
  1023.     SQLDMOReplAgent_Snapshot        = 1,     
  1024.     SQLDMOReplAgent_LogReader        = 2,     
  1025.     SQLDMOReplAgent_Distribution    = 3,     
  1026.     SQLDMOReplAgent_Merge            = 4,     
  1027.     SQLDMOReplAgent_Miscellaneous    = 5     
  1028. } SQLDMO_REPLAGENT_TYPE;
  1029.  
  1030. typedef SQLDMO_HELPID(SQLDMO_REPLSECURITY_TYPE) enum {
  1031.     SQLDMOReplSecurity_Min = 0,
  1032.     SQLDMOReplSecurity_Normal = 0,
  1033.     SQLDMOReplSecurity_Integrated = 1,
  1034.     SQLDMOReplSecurity_PredefinedServer = 2,
  1035.     SQLDMOReplSecurity_Max = 2
  1036. } SQLDMO_REPLSECURITY_TYPE;
  1037.  
  1038. // Constant values.
  1039. typedef SQLDMO_HELPID(SQLDMO_REPLCONSTANTS_TYPE) enum {
  1040.         SQLDMO_DEFAULTRETENTION = 60    // Default retention period
  1041. } SQLDMO_REPLCONSTANTS_TYPE;
  1042.  
  1043.  
  1044.  
  1045.  
  1046.  
  1047.  
  1048.  
  1049.  
  1050.  
  1051.  
  1052.  
  1053. // May be bitmasked.
  1054. typedef SQLDMO_HELPID(SQLDMO_COMPLETION_TYPE) enum {
  1055.         SQLDMOComp_Unknown = 0x1000,            // Only bit set
  1056.         SQLDMOComp_None = 0x0000,
  1057.         SQLDMOComp_Success = 0x0001,
  1058.         SQLDMOComp_Failure = 0x0002,
  1059.         SQLDMOComp_Always = 0x0003,
  1060.         SQLDMOComp_All = 0x0006
  1061. } SQLDMO_COMPLETION_TYPE;
  1062.  
  1063. typedef SQLDMO_HELPID(SQLDMO_JOBOUTCOME_TYPE) enum {
  1064.         SQLDMOJobOutcome_Failed = 0x0,
  1065.         SQLDMOJobOutcome_Succeeded = 0x1,
  1066.         // NOTE: 0x2 is deliberately ommitted
  1067.         SQLDMOJobOutcome_Cancelled = 0x3,
  1068.         SQLDMOJobOutcome_InProgress = 0x4,
  1069.         SQLDMOJobOutcome_Unknown = 0x5
  1070. } SQLDMO_JOBOUTCOME_TYPE;
  1071.  
  1072. typedef SQLDMO_HELPID(SQLDMO_EVENT_TYPE) enum {
  1073.         SQLDMOEvent_Unknown = 0x0000,
  1074.         SQLDMOEvent_Info = 0x0001,
  1075.         SQLDMOEvent_Warning = 0x0002,
  1076.         SQLDMOEvent_Error = 0x0004,
  1077.         SQLDMOEvent_AuditSuccess = 0x0008,
  1078.         SQLDMOEvent_AuditFailure = 0x0010,
  1079.         SQLDMOEvent_All = 0x001f
  1080. } SQLDMO_EVENT_TYPE;
  1081.  
  1082. typedef SQLDMO_HELPID(SQLDMO_FREQUENCY_TYPE) enum {                    // SQLDMO Internal:  sync with qsched.h
  1083.         SQLDMOFreq_Unknown = 0x0000,
  1084.         SQLDMOFreq_OneTime = 0x0001,
  1085. //        SQLDMOFreq_OnDemand = 0x0002,                 // Obsolete in 7.0
  1086.         SQLDMOFreq_Daily = 0x0004,
  1087.         SQLDMOFreq_Weekly = 0x0008,
  1088.         SQLDMOFreq_Monthly = 0x0010,
  1089.         SQLDMOFreq_MonthlyRelative = 0x0020,
  1090.         SQLDMOFreq_Autostart = 0x0040,
  1091.         SQLDMOFreq_OnIdle = 0x0080,
  1092.         SQLDMOFreq_Valid = 0x00ff                       // All valid frequency types
  1093. } SQLDMO_FREQUENCY_TYPE;
  1094.  
  1095. typedef SQLDMO_HELPID(SQLDMO_FREQSUB_TYPE) enum {                      // SQLDMO Internal:  sync with qsched.h
  1096.         SQLDMOFreqSub_Unknown = 0x0000,
  1097.         SQLDMOFreqSub_Once = 0x0001,
  1098.         SQLDMOFreqSub_Minute = 0x0004,
  1099.         SQLDMOFreqSub_Hour = 0x0008,
  1100.         SQLDMOFreqSub_Valid = 0x000d                    // All valid frequency subtypes
  1101. } SQLDMO_FREQSUB_TYPE;
  1102.  
  1103. typedef SQLDMO_HELPID(SQLDMO_FREQRELATIVE_TYPE) enum {                 // SQLDMO Internal:  sync with qsched.h
  1104.         SQLDMOFreqRel_Unknown = 0x0000,
  1105.         SQLDMOFreqRel_First = 0x0001,
  1106.         SQLDMOFreqRel_Second = 0x0002,
  1107.         SQLDMOFreqRel_Third = 0x0004,
  1108.         SQLDMOFreqRel_Fourth = 0x0008,
  1109.         SQLDMOFreqRel_Last = 0x0010,
  1110.         SQLDMOFreqRel_Valid = 0x001f                    // All valid Relative frequencies.
  1111. } SQLDMO_FREQRELATIVE_TYPE;
  1112.  
  1113. typedef SQLDMO_HELPID(SQLDMO_WEEKDAY_TYPE) enum {                      // SQLDMO Internal:  sync with qsched.h
  1114.         // Specify for SQLDMOFreq_Weekly; bitmask
  1115.         SQLDMOWeek_Unknown = 0x0000,
  1116.         SQLDMOWeek_Sunday = 0x0001,
  1117.         SQLDMOWeek_Monday = 0x0002,
  1118.         SQLDMOWeek_Tuesday = 0x0004,
  1119.         SQLDMOWeek_Wednesday = 0x0008,
  1120.         SQLDMOWeek_Thursday = 0x0010,
  1121.         SQLDMOWeek_Friday = 0x0020,
  1122.         SQLDMOWeek_Saturday = 0x0040,
  1123.         SQLDMOWeek_WeekDays = 0x003e,                  // Monday - Friday
  1124.         SQLDMOWeek_WeekEnds = 0x0041,                  // Saturday - Sunday
  1125.         SQLDMOWeek_EveryDay = 0x007f
  1126. } SQLDMO_WEEKDAY_TYPE;
  1127.  
  1128. typedef SQLDMO_HELPID(SQLDMO_MONTHDAY_TYPE) enum {                     // SQLDMO Internal:  sync with qsched.h
  1129.         // Specify for SQLDMOFreq_MonthlyRelative; single-value.
  1130.         // This is the relative interval SQLDMO_FREQRELATIVE_TYPE;
  1131.         // e.g., on the xth Monday of the month.
  1132.         SQLDMOMonth_Unknown = 0,
  1133.         SQLDMOMonth_MinValid = 1,
  1134.         SQLDMOMonth_Sunday = 1,
  1135.         SQLDMOMonth_Monday = 2,
  1136.         SQLDMOMonth_Tuesday = 3,
  1137.         SQLDMOMonth_Wednesday = 4,
  1138.         SQLDMOMonth_Thursday = 5,
  1139.         SQLDMOMonth_Friday = 6,
  1140.         SQLDMOMonth_Saturday = 7,
  1141.         SQLDMOMonth_Day = 8,                          // xth day
  1142.         SQLDMOMonth_WeekDay = 9,                      // xth weekday
  1143.         SQLDMOMonth_WeekEndDay = 10,                  // xth weekendday
  1144.         SQLDMOMonth_MaxValid = 10
  1145. } SQLDMO_MONTHDAY_TYPE;
  1146.  
  1147. typedef SQLDMO_HELPID(SQLDMO_RUNPRIORITY_TYPE) enum {
  1148.         // These must match the NT ThreadPriority values.
  1149.         SQLDMORunPri_Unknown = 100,                   // Invalid ThreadPriority
  1150.         SQLDMORunPri_Min = 1,
  1151.         SQLDMORunPri_Idle = -15,
  1152.         SQLDMORunPri_Lowest = -2,
  1153.         SQLDMORunPri_BelowNormal = -1,
  1154.         SQLDMORunPri_Normal = 0,
  1155.         SQLDMORunPri_AboveNormal = 1,
  1156.         SQLDMORunPri_Highest = 2,
  1157.         SQLDMORunPri_TimeCritical = 15,
  1158. } SQLDMO_RUNPRIORITY_TYPE;
  1159.  
  1160. typedef SQLDMO_HELPID(SQLDMO_NOTIFY_TYPE) enum {
  1161.         SQLDMONotify_None    = 0x0000,
  1162.         SQLDMONotify_Email   = 0x0001,
  1163.         SQLDMONotify_Pager   = 0x0002,
  1164.         SQLDMONotify_NetSend = 0x0004,
  1165.         SQLDMONotify_All     = 0x0007
  1166. } SQLDMO_NOTIFY_TYPE;
  1167.  
  1168. typedef SQLDMO_HELPID(SQLDMO_ENUMNOTIFY_TYPE) enum {
  1169.         SQLDMOEnumNotify_Min = 1,
  1170.         SQLDMOEnumNotify_All = 1,                     // All operators/alerts
  1171.         SQLDMOEnumNotify_Actual = 2,                  // Only operators/alerts receiving notifications for this alert/operator
  1172.         SQLDMOEnumNotify_Target = 3,                  // Specifically named target alert/operator(s)
  1173.         SQLDMOEnumNotify_Max = 3
  1174. } SQLDMO_ENUMNOTIFY_TYPE;
  1175.  
  1176. typedef SQLDMO_HELPID(SQLDMO_JOBEXECUTION_STATUS) enum {
  1177.         SQLDMOJobExecution_Unknown                = 0,
  1178.         SQLDMOJobExecution_Executing              = 1,
  1179.         SQLDMOJobExecution_WaitingForWorkerThread = 2,
  1180.         SQLDMOJobExecution_BetweenRetries         = 3,
  1181.         SQLDMOJobExecution_Idle                   = 4,
  1182.         SQLDMOJobExecution_Suspended              = 5,
  1183.         SQLDMOJobExecution_WaitingForStepToFinish = 6,
  1184.         SQLDMOJobExecution_PerformingCompletionActions = 7
  1185. } SQLDMO_JOBEXECUTION_STATUS;
  1186.  
  1187. typedef SQLDMO_HELPID(SQLDMO_FIND_OPERAND) enum {
  1188.         SQLDMOFindOperand_Unknown                 = 0,
  1189.         SQLDMOFindOperand_EqualTo                 = 1,
  1190.         SQLDMOFindOperand_GreaterThan             = 2,
  1191.         SQLDMOFindOperand_LessThan                = 3,
  1192. } SQLDMO_FIND_OPERAND;
  1193.  
  1194. typedef SQLDMO_HELPID(SQLDMO_JOBSTEPACTION_TYPE) enum {
  1195.         SQLDMOJobStepAction_Unknown               = 0,
  1196.         SQLDMOJobStepAction_QuitWithSuccess       = 1,
  1197.         SQLDMOJobStepAction_QuitWithFailure       = 2,
  1198.         SQLDMOJobStepAction_GotoNextStep          = 3,
  1199.         SQLDMOJobStepAction_GotoStep              = 4
  1200. } SQLDMO_JOBSTEPACTION_TYPE;
  1201.  
  1202. typedef SQLDMO_HELPID(SQLDMO_CATEGORYTYPE_TYPE) enum {
  1203.         SQLDMOCategoryType_Unknown               = 0,
  1204.         SQLDMOCategoryType_LocalJob              = 1,
  1205.         SQLDMOCategoryType_MultiServerJob        = 2,
  1206.         SQLDMOCategoryType_None                  = 3
  1207. } SQLDMO_CATEGORYTYPE_TYPE;
  1208.  
  1209. typedef SQLDMO_HELPID(SQLDMO_TARGETSERVERSTATUS_TYPE) enum {
  1210.         SQLDMOTargetServerStatus_Unknown           = 0x00,
  1211.         SQLDMOTargetServerStatus_Normal            = 0x01,
  1212.         SQLDMOTargetServerStatus_SuspectedOffline  = 0x02,
  1213.         SQLDMOTargetServerStatus_Blocked           = 0x04,
  1214. } SQLDMO_TARGETSERVERSTATUS_TYPE;
  1215.  
  1216. typedef SQLDMO_HELPID(SQLDMO_JOB_TYPE) enum {
  1217.         SQLDMOJob_Unknown               = 0,
  1218.         SQLDMOJob_Local                 = 1,
  1219.         SQLDMOJob_MultiServer           = 2
  1220. } SQLDMO_JOB_TYPE;
  1221.  
  1222. typedef SQLDMO_HELPID(SQLDMO_JOBSERVER_TYPE) enum {
  1223.         SQLDMOJobServer_StandAlone = 1,
  1224.           SQLDMOJobServer_TSX        = 2,
  1225.           SQLDMOJobServer_MSX        = 3,
  1226.           SQLDMOJobServer_Unknown    = 0
  1227. } SQLDMO_JOBSERVER_TYPE;
  1228.  
  1229. typedef SQLDMO_HELPID(SQLDMO_ALERT_TYPE) enum {
  1230.         SQLDMOAlert_SQLServerEvent                 = 0x1,
  1231.           SQLDMOAlert_SQLServerPerformanceCondition  = 0x2,
  1232.           SQLDMOAlert_NonSQLServerEvent              = 0x3
  1233. } SQLDMO_ALERT_TYPE;
  1234.  
  1235.  
  1236.  
  1237.  
  1238.  
  1239.  
  1240.  
  1241.  
  1242. // SQLDMO Error enumeration.
  1243.  
  1244. typedef SQLDMO_HELPID(SQLDMO_ERROR_TYPE) enum {
  1245.         // Error values.  (MS-Internal:  See usa.rc for the string representation of these (OSQL_S_*)).
  1246.         // DBLib uses 10000 (0x2710) to 10200 (0x27D8).
  1247.         SQLDMO_E_DBLIBFIRSTERROR = 0x2710,
  1248.         SQLDMO_E_DBLIBLASTERROR = 0x27D8,
  1249.  
  1250.         // SQL Server itself sends errors back which may be up to 20000 (0x4E20).
  1251.         // SQLDMO-detected errors are in the range SQLDMO_E_FIRSTERROR to SQLDMO_E_LASTERROR.
  1252.         // Each SQLDMO_ECAT (Error CATegory) summarizes its specific errorcodes.
  1253.         SQLDMO_E_FIRSTERROR = 0x5000,
  1254.  
  1255. // All error categories masked off by this.
  1256. SQLDMO_ECAT_MASK = 0x5F00,
  1257.  
  1258. // Errors indicating an operation that is valid but not in the given context.
  1259. SQLDMO_ECAT_INVALIDCONTEXT = 0x5000,
  1260.         SQLDMO_E_ALREADYCONN = 0x5000,
  1261.         SQLDMO_E_ALREADYCOLL = 0x5001,
  1262.         SQLDMO_E_NOTCONN = 0x5002,
  1263.         SQLDMO_E_CANTDROPSERVER = 0x5003,
  1264.         SQLDMO_E_NOCOMPLEXALTER = 0x5004,
  1265.         SQLDMO_E_PROPNEEDSCREATE = 0x5005,
  1266.         SQLDMO_E_COLTYPEFIXED = 0x5006,
  1267.         SQLDMO_E_COLTYPENONNULL = 0x5007,
  1268.         SQLDMO_E_CANTCHANGEUDDT = 0x5008,
  1269.         SQLDMO_E_BASETYPEFIXED = 0x5009,
  1270.         SQLDMO_E_BASETYPENONNULL = 0x500A,
  1271.         SQLDMO_E_ENUMORDINAL = 0x500B,
  1272.         SQLDMO_E_CANTRENAMEUSER = 0x500C,
  1273.         SQLDMO_E_CANTRENAMEGROUP = 0x500D,
  1274.         SQLDMO_E_CANTRENAMELOGIN = 0x500E,
  1275.         SQLDMO_E_CANTRENAMEDEVICE = 0x500F,
  1276.         SQLDMO_E_NOTDUMPPROP = 0x5010,
  1277.         SQLDMO_E_NOSERVERASSOC = 0x5011,
  1278.         SQLDMO_E_NOTCOLLTYPE = 0x5012,
  1279.         SQLDMO_E_CANTMODIFYDRIINDEX = 0x5013,
  1280.         SQLDMO_E_CANTCHANGEPROCTYPE = 0x5014,
  1281.         SQLDMO_E_CANTMODIFYINDEX = 0x5015,
  1282.         SQLDMO_E_INVALIDPRIVOBJ = 0x5016,
  1283.         SQLDMO_E_CANTCHANGETRIGTYPE = 0x5017,
  1284.         SQLDMO_E_NOVIEWCOLALTER = 0x5018,
  1285.         SQLDMO_E_CANTRENAMELANGUAGE = 0x5019,
  1286.         SQLDMO_E_CANTRENAMERSERVER = 0x501A,
  1287.         SQLDMO_E_CANTRENAMERLOGIN = 0x501B,
  1288.         SQLDMO_E_MUSTBEDBDEV = 0x501C,
  1289.         SQLDMO_E_NOINACTIVEMIRROR = 0x501D,
  1290.         SQLDMO_E_NOACTIVEMIRROR = 0x501E,
  1291.         SQLDMO_E_NOMIRROR = 0x501F,
  1292.         SQLDMO_E_SERVERDISCONNECTED = 0x5020,
  1293.         SQLDMO_E_CANTRENAMESERVER = 0x5021,
  1294.         SQLDMO_E_CANTMODIFYTEXT = 0x5022,
  1295.         SQLDMO_E_CANTMODIFYSYSTABLE = 0x5023,
  1296.         SQLDMO_E_LOGINALREADYALIASED = 0x5024,
  1297.         SQLDMO_E_LOGINALREADYUSER = 0x5025,
  1298.         SQLDMO_E_CACHENORESULTS = 0x5026,
  1299.         SQLDMO_E_ALREADYCREATED = 0x5027,
  1300.         SQLDMO_E_NOTDISCONN = 0x5028,
  1301.         SQLDMO_E_CANTMODIFYARTTABLE = 0x5029,
  1302.         SQLDMO_E_PROPERTYCANNOTBEMODIFIED = 0x502A,
  1303.         SQLDMO_E_BASETYPENOTNUMERIC = 0x502B,
  1304.         SQLDMO_E_TOFILEBUTNOFILENAME = 0x502C,
  1305.         SQLDMO_E_CANTMODIFYKEY = 0x502E,
  1306.         SQLDMO_E_LISTCANTREFRESH = 0x502F,
  1307.         SQLDMO_E_NOCOLTABLE = 0x5030,
  1308.         SQLDMO_E_MUSTBEINALTER = 0x5031,
  1309.         SQLDMO_E_CANTUNDEDICATELOGDEVICE = 0x5032,
  1310.         SQLDMO_E_CANTRENAMESERVERGROUP = 0x5033,
  1311.         SQLDMO_E_CANTRENAMEREGISTEREDSERVER = 0x5034,
  1312.         SQLDMO_E_INDEXREBUILDKEYTYPE = 0x5035,
  1313.         SQLDMO_E_REBUILDINDEXOPTIONS = 0x5036,
  1314.         SQLDMO_E_IMPERSONATEXPONLY = 0x5037,
  1315.         SQLDMO_E_CANTRENAMEPUBLICATION = 0x5038,
  1316.         SQLDMO_E_CANTMODIFYSPARTTYPE = 0x5039,
  1317.         SQLDMO_E_INVALIDDISTDB = 0x503a,
  1318.         SQLDMO_E_CANTMODIFYTABLE = 0x503B,
  1319.         SQLDMO_E_CANTDROPFILEGROUP = 0x503C,
  1320.         SQLDMO_E_DEFAULTFILEGROUP = 0x503D,
  1321.         SQLDMO_E_NOTDEFAULTFILEGROUP = 0x503E,
  1322.         SQLDMO_E_CANTRESETLOGINTYPE = 0x503F,
  1323.         SQLDMO_E_CANTRESETPASSWORD = 0x5040,
  1324.         SQLDMO_E_PRESQL70          = 0x5041,
  1325.         SQLDMO_E_PROPBEFORECREATE  = 0x5042,
  1326.         SQLDMO_E_CANTRENAMEROLE = 0x5043,
  1327.         SQLDMO_E_CANTDROPFIXEDROLE = 0x5044,
  1328.         SQLDMO_E_CANTADDTOAPPROLE = 0x5045,
  1329.         SQLDMO_E_CANTGETROLE = 0x5046,
  1330.         SQLDMO_E_USERDBROLE = 0x5047,
  1331.         SQLDMO_E_FIXEDDBROLE = 0x5048,
  1332.         SQLDMO_E_CANTMODIFYFILTER = 0x5049,
  1333.         SQLDMO_E_INVALIDACTION = 0x504a,
  1334.         SQLDMO_E_DBOPTION = 0x504b,
  1335.         SQLDMO_E_USEALTER = 0x504c,
  1336.         SQLDMO_E_CREATEDBPERM = 0x504d,
  1337.         SQLDMO_E_CANTCHECKFK = 0x504e,
  1338.         SQLDMO_E_NOTINMB = 0x504f,
  1339.         SQLDMO_E_CANTRENAMELSERVER = 0x5050,
  1340.         SQLDMO_E_CANTRENAMELLOGIN = 0x5051,
  1341.         SQLDMO_E_CANTRENAMEFULLTEXT = 0x5052,
  1342.         SQLDMO_E_NOFULLTEXT = 0x5053,
  1343.         SQLDMO_E_ACTIVATEFULLTEXT = 0x5054,
  1344.         SQLDMO_E_NOTFULLTEXTENABLED = 0x5055,
  1345.         SQLDMO_E_CANTDROPLOGFILE = 0x5056,
  1346.         SQLDMO_E_CANTDROPLSLOGIN = 0x5057,
  1347.         SQLDMO_E_SCRIPTPWD = 0x5058,
  1348.         SQLDMO_E_DISTRIBUTORNOTINSTALLED = 0x5059,
  1349.         SQLDMO_E_CANTRENAMESTAT = 0x505a,
  1350.         SQLDMO_E_CANTDROPAUTOINDEX = 0x505b,
  1351.         SQLDMO_E_FROMGUEST = 0x505c,
  1352.         SQLDMO_E_INVALIDPROPDISTNOTLOCAL = 0x5060,
  1353.  
  1354.  
  1355. // Errors indicating that the OLE object is not (or is no longer) valid in SQLDMO.
  1356. SQLDMO_ECAT_INVALIDOBJECT = 0x5100,
  1357.         SQLDMO_E_OBJECTDROPPED = 0x5100,
  1358.         SQLDMO_E_NOTSQLDMOOBJECT = 0x5101,
  1359.         SQLDMO_E_OBJECTDETACHED = 0x5102,
  1360.         SQLDMO_E_SERVERCLOSED = 0x5103,
  1361.  
  1362. // Errors indicating that an attempt was made to create an object (usually to add an object
  1363. // to a collection) but that its definition (property settings) were incomplete or inconsistent.
  1364. SQLDMO_ECAT_INVALIDOBJECTDEFINITION = 0x5200,
  1365.         SQLDMO_E_NOCOLUMNSADDED = 0x5200,
  1366.         SQLDMO_E_COLUMNINCOMPLETE = 0x5201,
  1367.         SQLDMO_E_TABLEINCOMPLETE = 0x5202,
  1368.         SQLDMO_E_UDDTINCOMPLETE = 0x5203,
  1369.         SQLDMO_E_RULEINCOMPLETE = 0x5204,
  1370.         SQLDMO_E_DEFAULTINCOMPLETE = 0x5205,
  1371.         SQLDMO_E_VIEWINCOMPLETE = 0x5206,
  1372.         SQLDMO_E_USERINCOMPLETE = 0x5207,
  1373.         SQLDMO_E_GROUPINCOMPLETE = 0x5208,
  1374.         SQLDMO_E_PROCINCOMPLETE = 0x5209,
  1375.         SQLDMO_E_USERALREADYEXISTS = 0x520A,
  1376.         SQLDMO_E_GROUPALREADYEXISTS = 0x520B,
  1377.         SQLDMO_E_COLUMNALREADYEXISTS = 0x520C,
  1378.         SQLDMO_E_OBJECTALREADYEXISTS = 0x520D,
  1379.         SQLDMO_E_INDEXALREADYEXISTS = 0x520E,
  1380.         SQLDMO_E_DBALREADYEXISTS = 0x520F,
  1381.         SQLDMO_E_LOGINALREADYEXISTS = 0x5210,
  1382.         SQLDMO_E_DEVICEALREADYEXISTS = 0x5211,
  1383.         SQLDMO_E_SKIPONLYTAPE = 0x5212,
  1384.         SQLDMO_E_DEVICEINCOMPLETE = 0x5213,
  1385.         SQLDMO_E_PROCALREADYEXISTS = 0x5214,
  1386.         SQLDMO_E_UDDTALREADYEXISTS = 0x5215,
  1387.         SQLDMO_E_TABLEALREADYEXISTS = 0x5216,
  1388.         SQLDMO_E_RULEALREADYEXISTS = 0x5217,
  1389.         SQLDMO_E_DEFAULTALREADYEXISTS = 0x5218,
  1390.         SQLDMO_E_VIEWALREADYEXISTS = 0x5219,
  1391.         SQLDMO_E_INDEXINCOMPLETE = 0x521A,
  1392.         SQLDMO_E_TRIGINCOMPLETE = 0x521B,
  1393.         SQLDMO_E_TRIGALREADYEXISTS = 0x521C,
  1394.         SQLDMO_E_LANGUAGEINCOMPLETE = 0x521D,
  1395.         SQLDMO_E_LANGUAGEALREADYEXISTS = 0x521E,
  1396.         SQLDMO_E_LOGININCOMPLETE = 0x521F,
  1397.         SQLDMO_E_RSERVERINCOMPLETE = 0x5220,
  1398.         SQLDMO_E_RSERVERALREADYEXISTS = 0x5221,
  1399.         SQLDMO_E_NULLRLOGINALREADYEXISTS = 0x5222,
  1400.         SQLDMO_E_RLOGINALREADYEXISTS = 0x5223,
  1401.         SQLDMO_E_REMOTENEEDSLOCAL = 0x5224,
  1402.         SQLDMO_E_BACKUPNEEDSDEVICE = 0x5225,
  1403.         SQLDMO_E_NEEDMANUALFILTERNAME = 0x5226,
  1404.         SQLDMO_E_TASKINCOMPLETE = 0x5227,
  1405.         SQLDMO_E_ARTINCOMPLETE = 0x5228,
  1406.         SQLDMO_E_PUBINCOMPLETE = 0x5229,
  1407.         SQLDMO_E_SUBINCOMPLETE = 0x522A,
  1408.         SQLDMO_E_ALERTINCOMPLETE = 0x522B,
  1409.         SQLDMO_E_OPERATORINCOMPLETE = 0x522C,
  1410.         SQLDMO_E_NAMEMUSTMATCH = 0x522D,
  1411.         SQLDMO_E_TRIGREQTABLENAME = 0x522E,
  1412.         SQLDMO_E_MUSTBESYNCTASK = 0x522F,
  1413.         SQLDMO_E_NOEVENTCOMPLETION = 0x5230,
  1414.         SQLDMO_E_FKEYINCOMPLETE = 0x5231,
  1415.         SQLDMO_E_KEYINCOMPLETE = 0x5232,
  1416.         SQLDMO_E_KEYALREADYEXISTS = 0x5233,
  1417.         SQLDMO_E_CHECKINCOMPLETE = 0x5234,
  1418.         SQLDMO_E_DRIDEFAULTINCOMPLETE = 0x5235,
  1419.         SQLDMO_E_CHECKALREADYEXISTS = 0x5236,
  1420.         SQLDMO_E_ONLYONEPRIMARYKEY = 0x5237,
  1421.         SQLDMO_E_NEEDMANUALVIEWNAME = 0x5238,
  1422.         SQLDMO_E_SERVERGROUPINCOMPLETE = 0x5239,
  1423.         SQLDMO_E_REGISTEREDSERVERINCOMPLETE = 0x523A,
  1424.         SQLDMO_E_SERVERGROUPALREADYEXISTS = 0x523B,
  1425.         SQLDMO_E_REGISTEREDSERVERALREADYEXISTS = 0x523C,
  1426.         SQLDMO_E_NEEDLOADTABLENAME = 0x523D,
  1427.         SQLDMO_E_DISTDBALREADYEXISTS = 0x523E,
  1428.         SQLDMO_E_DISTPUBALREADYEXISTS = 0x523F,
  1429.         SQLDMO_E_JOBSTEPINCOMPLETE = 0x5240,
  1430.         SQLDMO_E_TARGETSERVERINCOMPLETE = 0x5241,
  1431.         SQLDMO_E_TARGETSERVERGROUPINCOMPLETE = 0x5242,
  1432.         SQLDMO_E_JOBINCOMPLETE = 0x5243,
  1433.         SQLDMO_E_MUSTBESYNCJOB = 0x5244,
  1434.         SQLDMO_E_JOBCATEGORYINCOMPLETE = 0x5245,
  1435.         SQLDMO_E_REGPUBINCOMPLETE = 0x5246,
  1436.         SQLDMO_E_REGSUBINCOMPLETE = 0x5247,
  1437.         SQLDMO_E_DISTPUBINCOMPLETE = 0x5248,
  1438.         SQLDMO_E_DISTDBINCOMPLETE = 0x5249,
  1439.         SQLDMO_E_FILEGROUPINCOMPLETE = 0x524A,
  1440.         SQLDMO_E_DBFILEINCOMPLETE = 0x524B,
  1441.         SQLDMO_E_LOGFILEINCOMPLETE = 0x524C,
  1442.         SQLDMO_E_FILEGROUPALREADYEXISTS = 0x524D,
  1443.         SQLDMO_E_DATABASEINCOMPLETE = 0x5250,
  1444.         SQLDMO_E_DATABASEROLEALREADYEXISTS = 0x5251,
  1445.         SQLDMO_E_DATABASEROLEINCOMPLETE = 0x5252,
  1446.         SQLDMO_E_SERVERROLEINCOMPLETE = 0x5253,
  1447.         SQLDMO_E_DSNINFOINCOMPLETE = 0x5254,
  1448.         SQLDMO_E_FILTERINCOMPLETE = 0x5255,
  1449.         SQLDMO_E_OWNERMUSTMATCH = 0x5256,
  1450.         SQLDMO_E_BACKUPNEEDSFILE = 0x5257,
  1451.         SQLDMO_E_BACKUPNEEDSMEDIA = 0x5258,
  1452.         SQLDMO_E_COLUMNCOMPUTEDINCOMPLETE = 0x5259,
  1453.         SQLDMO_E_REMAPFILEINCOMPLETE = 0x525A,
  1454.         SQLDMO_E_SMALLMAXSIZE = 0x525B,
  1455.         SQLDMO_E_FILEALREADYEXISTS = 0x525C,
  1456.         SQLDMO_E_BADFILEGROUPNAME = 0x525D,
  1457.         SQLDMO_E_LINKEDSERVERINCOMPLETE = 0x525E,
  1458.         SQLDMO_E_LINKEDPROVIDERINCOMPLETE = 0x525F,
  1459.         SQLDMO_E_FULLTEXTINCOMPLETE = 0x5260,
  1460.         SQLDMO_E_CATALOGALREADYEXISTS = 0x5261,
  1461.         SQLDMO_E_CATALOGINCOMPLETE = 0x5262,
  1462.         SQLDMO_E_BACKUPINIT = 0x5263,
  1463.         SQLDMO_E_LINKEDSERVERLOGININCOMPLETE = 0x5264,
  1464.         SQLDMO_E_NOSERVERBCP6 = 0x5265,
  1465.         SQLDMO_E_JOBSTEPNAMEINCOMPLETE = 0x5266,
  1466.  
  1467. // Errors indicating an invalid parameter passed to a method or property, or other unexpected condition.
  1468. SQLDMO_ECAT_INVALIDPARAMETER = 0x5300,
  1469.         SQLDMO_E_BADCOLLEN = 0x5300,
  1470.         SQLDMO_E_INVALIDPERFMONSET = 0x5301,
  1471.         SQLDMO_E_BADDEVICETYPE = 0x5302,
  1472.         SQLDMO_E_SIZEGREATERTHAN0 = 0x5303,
  1473.         SQLDMO_E_RESULTSETOUTOFRANGE = 0x5304,
  1474.         SQLDMO_E_OUTPUTPARAMREQUIRED = 0x5305,
  1475.         SQLDMO_E_PROPTEXTNONNULL = 0x5306,
  1476.         SQLDMO_E_BADPROCTYPE = 0x5307,
  1477.         SQLDMO_E_BADFILLFACTOR = 0x5308,
  1478.         SQLDMO_E_INVALIDINDEXTYPE = 0x5309,
  1479.         SQLDMO_E_INVALIDPRIVTYPE = 0x530A,
  1480.         SQLDMO_E_BADTRIGTYPE = 0x530B,
  1481.         SQLDMO_E_INVALIDDAYOFWEEK = 0x530C,
  1482.         SQLDMO_E_INVALIDMONTH = 0x530D,
  1483.         SQLDMO_E_BADDAYCOUNT = 0x530E,
  1484.         SQLDMO_E_BADMONTHCOUNT = 0x530F,
  1485.         SQLDMO_E_BADCONFIGVALUE = 0x5310,
  1486.         SQLDMO_E_INVALIDPARAMINDEX = 0x5311,
  1487.         SQLDMO_E_INVALIDPARAMRANGE = 0x5312,
  1488.         SQLDMO_E_INVALIDDBOBJTYPE = 0x5313,
  1489.         SQLDMO_E_ROWCOLOUTOFRANGE = 0x5314,
  1490.         SQLDMO_E_NONUNIQUENAME = 0x5315,
  1491.         SQLDMO_E_NOTIMESTAMPUDDT = 0x5316,
  1492.         SQLDMO_E_INVALIDNAME = 0x5317,
  1493.         SQLDMO_E_INVALIDCOMPLETION = 0x5318,
  1494.         SQLDMO_E_NAMETOOLONG = 0x5319,
  1495.         SQLDMO_E_INVALIDFREQTYPE = 0x531A,
  1496.         SQLDMO_E_INVALIDFREQSUBDAY = 0x531B,
  1497.         SQLDMO_E_INVALIDFREQRELINTERVAL = 0x531C,
  1498.         SQLDMO_E_BADWEEKLYINTERVAL = 0x531D,
  1499.         SQLDMO_E_BADMONTHLYINTERVAL = 0x531E,
  1500.         SQLDMO_E_BADMONTHLYRELINTERVAL = 0x531F,
  1501.         SQLDMO_E_INVALIDSRVOPTION = 0x5320,
  1502.         SQLDMO_E_INVALIDRUNPRIORITY = 0x5321,
  1503.         SQLDMO_E_DBNAMEREQUIRED = 0x5322,
  1504.         SQLDMO_E_PUBNAMEREQUIRED = 0x5323,
  1505.         SQLDMO_E_PROPINDEXOUTOFRANGE = 0x5324,
  1506.         SQLDMO_E_INVALIDNOTIFYTYPE = 0x5325,
  1507.         SQLDMO_E_INVALIDENUMNOTIFYTYPE = 0x5326,
  1508.         SQLDMO_E_INVALIDWEEKDAY = 0x5327,
  1509.         SQLDMO_E_INVALIDOBJECTTYPE = 0x5328,
  1510.         SQLDMO_E_OBJECTREQUIRED = 0x5329,
  1511.         SQLDMO_E_INVALIDEVENTTYPE = 0x532A,
  1512.         SQLDMO_E_INVALIDCOMPLETIONTYPE = 0x532B,
  1513.         SQLDMO_E_INVALIDKEYTYPE = 0x532C,
  1514.         SQLDMO_E_TABLEMUSTBECREATED = 0x532D,
  1515.         SQLDMO_E_INVALIDPREARTICLE = 0x532E,
  1516.         SQLDMO_E_INVALIDSECURITYMODE = 0x532F,
  1517.         SQLDMO_E_INVALIDPREC = 0x5330,
  1518.         SQLDMO_E_INVALIDDEPENDENCYTYPE = 0x5331,
  1519.         SQLDMO_E_INVALIDVERIFYCONNTYPE = 0x5332,
  1520.         SQLDMO_E_INVALIDSTATUSINFOTYPE = 0x5333,
  1521.         SQLDMO_E_INVALIDFORWARDINGSEVERITY = 0x5334,
  1522.         SQLDMO_E_INVALIDFORWARDINGSERVER = 0x5335,
  1523.         SQLDMO_E_INVALIDRESTARTINTERVAL = 0x5336,
  1524.         SQLDMO_E_INVALIDHISTORYROWSMAX = 0x5337,
  1525.         SQLDMO_E_NAMETOOSHORT = 0x5338,
  1526.         SQLDMO_E_UNEXPECTED = 0x5339,
  1527.         SQLDMO_E_INVALIDHISTORYROWSPERTASKMAX = 0x533A,
  1528.         SQLDMO_E_INVALIDOBJSORTTYPE = 0x533B,
  1529.         SQLDMO_E_INVALIDEXECTYPE = 0x533C,
  1530.         SQLDMO_E_INVALIDSUBSETFILTER = 0x533D,
  1531.         SQLDMO_E_INCOMPATIBLEPROPS = 0x533E,    //Some of the bcp object properties are incompatible.
  1532.         SQLDMO_E_FILEPATHREQUIRED = 0x533F,             //User should specify path for script file
  1533.         SQLDMO_E_INVALIDPROPALTER = 0x5340,             //The given property cannot be altered outside Alter block
  1534.         SQLDMO_E_INVALIDALTERDISTINSTALLED = 0x5341,//The given property must not be altered
  1535.         SQLDMO_E_SERVERNAMEREQUIRED = 0x5342,   //The server name must be provided
  1536.         SQLDMO_E_DISTSERVERNAMEREQUIRED = 0x5343,//The distribution server name must be provided
  1537.         SQLDMO_E_WORKINGDIRREQUIRED = 0x5344,   //The distribution server name must be provided
  1538.         SQLDMO_E_DISTDBREQUIRED = 0x5345,               //Atleast one distributor database must be provided
  1539.         SQLDMO_E_INVALIDHISTORYROWSPERJOBMAX = 0x5348,
  1540.         SQLDMO_E_INVALIDPUBATTRIB = 0x5349,
  1541.         SQLDMO_E_INVALIDREPLICATIONTYPE = 0x534A,
  1542.         SQLDMO_E_INVALIDSCHEMAOPTION = 0x534B,
  1543.           SQLDMO_E_INVALIDFORREMDISTRIBUTOR = 0x534C,
  1544.         SQLDMO_E_INVALIDARTICLETYPE = 0x534D,
  1545.         SQLDMO_E_SIZEGREATERTHANNEG = 0x534E,
  1546.         SQLDMO_E_INVALIDLOGINTYPE = 0x534F,
  1547.         SQLDMO_E_CANTMODIFYAFTERCREATE = 0x5350,
  1548.         SQLDMO_E_INVALIDDSN = 0x5351,
  1549.         SQLDMO_E_INVALIDNAME70 = 0x5352,
  1550.         SQLDMO_E_MUSTEVEN = 0x5353,
  1551.         SQLDMO_E_MISSINGALTER = 0x5354,
  1552.         SQLDMO_E_NOTGUID = 0x5355,
  1553.         SQLDMO_E_DESTSERVERREQUIRED = 0x5356,   //The dest server name must be provided for transfer
  1554.         SQLDMO_E_CANTSHRINK = 0x5357,
  1555.         SQLDMO_E_CANTDEFAULTOFF = 0x5358,
  1556.         SQLDMO_E_INVALIDNTNAME = 0x5359,        // Name contain illegal character for NT file name
  1557.         SQLDMO_E_INVALIDOUTCOMETYPE = 0x535A,
  1558.         SQLDMO_E_NEEDSCOLUMNNAME = 0x535B,
  1559.         SQLDMO_E_INVALIDHYPOINDEXTYPE = 0x535C,
  1560.         SQLDMO_E_INVALIDPING = 0x535D,
  1561.  
  1562. // Errors indicating that either the connected SQL Server is an invalid version,
  1563. // or the client platform is invalid, or a combination of those; or that the
  1564. // server has not been set up properly for SQLDMO (the required stored procedures
  1565. // are not installed)..
  1566. SQLDMO_ECAT_INVALIDPLATFORM = 0x5400,
  1567.         SQLDMO_E_BACKUPSQL60ONLY = 0x5400,
  1568.         SQLDMO_E_MSSQLONLY = 0x5401,
  1569.         SQLDMO_E_WIN95REQUIRESCONN = 0x5402,
  1570.         SQLDMO_E_NOTONWIN95 = 0x5403,
  1571.         SQLDMO_E_SQL60ONLY = 0x5404,
  1572.         SQLDMO_E_REPLSQL60ONLY = 0x5405,
  1573.         SQLDMO_E_STARTUPPROCSQL60ONLY = 0x5406,
  1574.         SQLDMO_E_NEEDSQLDMOPROCS = 0x5407,
  1575.         SQLDMO_E_ALTERSQL60ONLY = 0x5408,
  1576.         SQLDMO_E_SORTEDDATAREORGSQL60ONLY = 0x5409,
  1577.         SQLDMO_E_MSSQLNTONLY = 0x540A,
  1578.         SQLDMO_E_WIN95REQUIRESSQL60 = 0x540B,
  1579.         SQLDMO_E_BACKUPSQL65ONLY = 0x540C,
  1580.         SQLDMO_E_SQL65ONLY = 0x540D,
  1581.         SQLDMO_E_ALERTSQL65ONLY = 0x540E,
  1582.         SQLDMO_E_REMOTESQL65ONLY = 0x540F,
  1583.         SQLDMO_E_PIPEDEVSQL60ONLY = 0x5410,
  1584.         SQLDMO_E_FKEYSQL65ONLY = 0x5411,
  1585.         SQLDMO_E_XPIMPERSONATESQL65ONLY = 0x5412,
  1586.         SQLDMO_E_SQL70ONLY = 0x5413,
  1587.         SQLDMO_E_FKEYSQL70ONLY = 0x5414,
  1588.         SQLDMO_E_BACKUPSQL70ONLY = 0x5415,
  1589.         SQLDMO_E_NEEDSQLDMOUPGRADE = 0x5416,
  1590.         SQLDMO_E_NEEDSERVERBUILDUPGRADE = 0x5417,
  1591.  
  1592.  
  1593. // Errors indicating that the named object was not found in the collection, or
  1594. // that the ordinal passed as a collection index was out of range.
  1595. SQLDMO_ECAT_ITEMNOTFOUND = 0x5500,
  1596.         SQLDMO_E_RULENOTFOUND = 0x5500,
  1597.         SQLDMO_E_DEFAULTNOTFOUND = 0x5501,
  1598.         SQLDMO_E_TYPENOTFOUND = 0x5502,
  1599.         SQLDMO_E_LOGINNOTFOUND = 0x5503,
  1600.         SQLDMO_E_GROUPNOTFOUND = 0x5504,
  1601.         SQLDMO_E_LANGNOTFOUND = 0x5505,
  1602.         SQLDMO_E_DBNOTFOUND = 0x5506,
  1603.         SQLDMO_E_DEVICENOTFOUND = 0x5507,
  1604.         SQLDMO_E_COLUMNNOTFOUND = 0x5508,
  1605.         SQLDMO_E_ORDOUTOFRANGE = 0x5509,
  1606.         SQLDMO_E_NAMENOTFOUND = 0x550A,
  1607.         SQLDMO_E_USERNOTFOUND = 0x550B,
  1608.         SQLDMO_E_NAMENOTINCACHE = 0x550C,
  1609.         SQLDMO_E_PROPNAMENOTFOUND = 0x550D,
  1610.         SQLDMO_E_IDNOTFOUND = 0x550E,
  1611.         SQLDMO_E_DATABASEROLENOTFOUND = 0x550F,
  1612.         SQLDMO_E_NAMENOTFOUNDQI = 0x5510,
  1613.  
  1614. // Errors indicating that the current login does not have sufficient privilege
  1615. // to perform the requested operation.
  1616. SQLDMO_ECAT_UNPRIVILEGEDLOGIN = 0x5600,
  1617.         SQLDMO_E_MUSTBESAORDBO = 0x5600,
  1618.         SQLDMO_E_MUSTBESAORLOGIN = 0x5601,
  1619.         SQLDMO_E_MUSTBESA = 0x5602,
  1620.         SQLDMO_E_MUSTBESAORORSECORLOGIN = 0x5603,
  1621.         SQLDMO_E_MUSTBESAORSEC = 0x5604,
  1622.         SQLDMO_E_MUSTBESAORDBC = 0x5605,
  1623.         SQLDMO_E_MUSTBESAORSRV = 0x5606,
  1624.         SQLDMO_E_MUSTBESAORPRC = 0x5607,
  1625.  
  1626. // Errors indicating a query execution error or an inaccessible database.
  1627. SQLDMO_ECAT_EXECUTION = 0x5700,
  1628.         SQLDMO_E_SYSPROCERROR = 0x5700,
  1629.         SQLDMO_E_CACHEEXECERROR = 0x5701,
  1630.         SQLDMO_E_INACCESSIBLEDB = 0x5702,
  1631.         SQLDMO_E_BATCHCOMPLETEWITHERRORS = 0x5703,
  1632.         SQLDMO_E_BCPCOLFMTFAILED = 0x5704,              //dblib bcp_colfmt failed.
  1633.         SQLDMO_E_SUSPENDINDEX = 0x5705,                 //Error trying to suspend indexing
  1634.         SQLDMO_E_RESUMEINDEX = 0x5706,                  //Error trying to resume suspended indexing
  1635.         SQLDMO_E_BCPEXECFAILED  = 0x5707,               //dblib bcp_exec function failed
  1636.         SQLDMO_E_BCPINITFAILED = 0x5708,                //dblib bcp_init function failed
  1637.         SQLDMO_E_BCPCONTROLFAILED = 0x5709,             //dblib bcp_control function failed
  1638.         SQLDMO_E_USERABORTED = 0x570A,                  //User aborted transfer
  1639.         SQLDMO_E_QIERROR = 0x570B,                      // Failed to set QI
  1640.         SQLDMO_E_REGIONALERROR = 0x570C,                // Failed to set regional setting
  1641.         SQLDMO_E_SINGLEUSERDB = 0x570D,                 // DB in single user mode, and someone is in there
  1642.  
  1643. // Errors indicating the connection to SQL Server cannot be restored.  SQLDMO will
  1644. // automatically reconnect (as determined by the SQLServer.AutoReconnect property)
  1645. // but the network may be down or the server not started.
  1646. SQLDMO_ECAT_CONNECTION = 0x5800,
  1647.         SQLDMO_E_CANTRECONNDEADCONN = 0x5800,
  1648.  
  1649. // Errors indicating insufficient resources either locally or on the server.
  1650. SQLDMO_ECAT_RESOURCE = 0x5900,
  1651.         SQLDMO_E_OUTOFMEMORY = 0x5900,
  1652.         SQLDMO_E_NOMOREDEVNOS = 0x5901,
  1653.         SQLDMO_E_SERVERLOCKTIMEDOUT = 0x5902,
  1654.         SQLDMO_E_APPLOCKTIMEDOUT = 0x5903,
  1655.  
  1656.         SQLDMO_E_LASTERROR = 0x5AFF
  1657. } SQLDMO_ERROR_TYPE;
  1658.  
  1659. // SQLDMO_ERROR #defines.  These are categories, not severities; there is no
  1660. // mathematical relationship between groupings.
  1661. #ifndef _SQLDMO_ODL_            // Not done in .ODL file.
  1662.  
  1663. // Switch on SQLDMO_ECAT to determine the category of a returned error code.
  1664. // Use long cast as lint can complain about an enum-vs.-int.
  1665. #define SQLDMO_ECAT(scode) (scode & (long)SQLDMO_ECAT_MASK)
  1666.  
  1667. #endif
  1668.  
  1669.  
  1670.  
  1671. #endif    // _SQLDMO_CONSTANTS_
  1672.  
  1673. /////////////////////////////////////////////////////////////////////////////////////////
  1674. // Interface definitions.
  1675. /////////////////////////////////////////////////////////////////////////////////////////
  1676. #ifndef _SQLDMO_ODL_        // Skip if in .odl file.
  1677.  
  1678. // Optional parameter definitions.  For C explicit values will have to be specified,
  1679. // as indicated within the CPPDEFAULT() expansion.
  1680. //
  1681. // SQLDMO Parameter sequencing is as follows ("optional" in accordance with C++ usage):
  1682. //     Nonoptional parameters
  1683. //        Nonoptional Return value if any
  1684. //        Optional additional parameters
  1685. //        Optional return value, if any
  1686. //
  1687. #ifdef __cplusplus
  1688. #define CPPDEFAULT(DefaultParamValue)    DefaultParamValue
  1689. #else
  1690. #define CPPDEFAULT(DefaultParamValue)  // DefaultParamValue  //jms
  1691. #endif
  1692.  
  1693. // Windows.h should define these...
  1694. typedef BOOL *LPBOOL;
  1695. typedef float *LPFLOAT;
  1696. typedef double *LPDOUBLE;
  1697.  
  1698. ///////////////////////////////////////////////////////////////////////////////////////
  1699. // Forward declarations and typedefs, allowing for UNICODE clients.
  1700. ///////////////////////////////////////////////////////////////////////////////////////
  1701. #undef SQLDMO_LPCSTR
  1702. #undef SQLDMO_BSTR
  1703. #undef SQLDMO_LPBSTR
  1704. #undef SQLDMOFreeString
  1705.  
  1706. // Carry over the Ansi definition of BSTR.
  1707. typedef CHAR __RPC_FAR * BSTRA;
  1708. typedef BSTRA __RPC_FAR *LPBSTRA;
  1709.  
  1710. #define SQLDMO_UNICODE
  1711.  
  1712. #define SQLDMO_LPCSTR   LPCOLESTR
  1713. // #define SQLDMO_LPCSTR   LPCWSTR
  1714. #define SQLDMO_BSTR     BSTR
  1715. #define SQLDMO_LPBSTR   LPBSTR
  1716. #define SQLDMOFreeString(bstr) SysFreeString(bstr)
  1717.  
  1718. #ifdef __cplusplus
  1719. #define TYPEDEFINTERFACE typedef
  1720. #else
  1721. #define TYPEDEFINTERFACE typedef interface
  1722. #endif
  1723.  
  1724. // Forward declarations.  Base classes...
  1725. #undef LPSQLDMOSTDOBJECT
  1726. #undef ISQLDMOStdObject
  1727. #undef IID_ISQLDMOStdObject
  1728. interface IWSQLDMOStdObject;            TYPEDEFINTERFACE IWSQLDMOStdObject *                LPWSQLDMOSTDOBJECT;
  1729. #define LPSQLDMOSTDOBJECT LPWSQLDMOSTDOBJECT
  1730. #define ISQLDMOStdObject IWSQLDMOStdObject
  1731. #define IID_ISQLDMOStdObject IID_IWSQLDMOStdObject
  1732.  
  1733. #undef LPSQLDMOSTDCOLLECTION
  1734. #undef ISQLDMOStdCollection
  1735. #undef IID_ISQLDMOStdCollection
  1736. TYPEDEFINTERFACE IWSQLDMOStdObject * LPWSQLDMOSTDCOLLECTION;    // Auto-documenting for collection management
  1737. #define LPSQLDMOSTDCOLLECTION LPWSQLDMOSTDCOLLECTION
  1738. #define ISQLDMOStdCollection IWSQLDMOStdCollection
  1739. #define IID_ISQLDMOStdCollection IID_IWSQLDMOStdCollection
  1740.  
  1741. // ... and derived classes.
  1742.  
  1743.  
  1744.  
  1745.  
  1746. #undef LPSQLDMOAPPLICATION
  1747. #undef ISQLDMOApplication
  1748. #undef IID_ISQLDMOApplication
  1749. interface IWSQLDMOApplication;          TYPEDEFINTERFACE IWSQLDMOApplication *                  LPWSQLDMOAPPLICATION;
  1750. #define LPSQLDMOAPPLICATION LPWSQLDMOAPPLICATION
  1751. #define ISQLDMOApplication IWSQLDMOApplication
  1752. #define IID_ISQLDMOApplication IID_IWSQLDMOApplication
  1753.  
  1754. #undef LPSQLDMOSERVERS
  1755. #undef ISQLDMOServers
  1756. #undef IID_ISQLDMOServers
  1757. interface IWSQLDMOServers;                      TYPEDEFINTERFACE IWSQLDMOServers *                              LPWSQLDMOSERVERS;
  1758. #define LPSQLDMOSERVERS LPWSQLDMOSERVERS
  1759. #define ISQLDMOServers IWSQLDMOServers
  1760. #define IID_ISQLDMOServers IID_IWSQLDMOServers
  1761.  
  1762. #undef LPSQLDMOSERVER
  1763. #undef ISQLDMOServer
  1764. #undef IID_ISQLDMOServer
  1765. interface IWSQLDMOServer;                       TYPEDEFINTERFACE IWSQLDMOServer *                                       LPWSQLDMOSERVER;
  1766. #define LPSQLDMOSERVER LPWSQLDMOSERVER
  1767. #define ISQLDMOServer IWSQLDMOServer
  1768. #define IID_ISQLDMOServer IID_IWSQLDMOServer
  1769.  
  1770. #undef LPSQLDMODATABASES
  1771. #undef ISQLDMODatabases
  1772. #undef IID_ISQLDMODatabases
  1773. interface IWSQLDMODatabases;                    TYPEDEFINTERFACE IWSQLDMODatabases *                            LPWSQLDMODATABASES;
  1774. #define LPSQLDMODATABASES LPWSQLDMODATABASES
  1775. #define ISQLDMODatabases IWSQLDMODatabases
  1776. #define IID_ISQLDMODatabases IID_IWSQLDMODatabases
  1777.  
  1778. #undef LPSQLDMODATABASE
  1779. #undef ISQLDMODatabase
  1780. #undef IID_ISQLDMODatabase
  1781. interface IWSQLDMODatabase;                     TYPEDEFINTERFACE IWSQLDMODatabase *                             LPWSQLDMODATABASE;
  1782. #define LPSQLDMODATABASE LPWSQLDMODATABASE
  1783. #define ISQLDMODatabase IWSQLDMODatabase
  1784. #define IID_ISQLDMODatabase IID_IWSQLDMODatabase
  1785.  
  1786. #undef LPSQLDMOBACKUPDEVICES
  1787. #undef ISQLDMOBackupDevices
  1788. #undef IID_ISQLDMOBackupDevices
  1789. interface IWSQLDMOBackupDevices;                TYPEDEFINTERFACE IWSQLDMOBackupDevices *                   LPWSQLDMOBACKUPDEVICES;
  1790. #define LPSQLDMOBACKUPDEVICES LPWSQLDMOBACKUPDEVICES
  1791. #define ISQLDMOBackupDevices IWSQLDMOBackupDevices
  1792. #define IID_ISQLDMOBackupDevices IID_IWSQLDMOBackupDevices
  1793.  
  1794. #undef LPSQLDMOBACKUPDEVICE
  1795. #undef ISQLDMOBackupDevice
  1796. #undef IID_ISQLDMOBackupDevice
  1797. interface IWSQLDMOBackupDevice;                 TYPEDEFINTERFACE IWSQLDMOBackupDevice *                    LPWSQLDMOBACKUPDEVICE;
  1798. #define LPSQLDMOBACKUPDEVICE LPWSQLDMOBACKUPDEVICE
  1799. #define ISQLDMOBackupDevice IWSQLDMOBackupDevice
  1800. #define IID_ISQLDMOBackupDevice IID_IWSQLDMOBackupDevice
  1801.  
  1802. /** Need to take out when BillPos is ready **/
  1803. #undef LPSQLDMODEVICES
  1804. #undef ISQLDMODevices
  1805. #undef IID_ISQLDMODevices
  1806. #define LPSQLDMODEVICES LPWSQLDMOBACKUPDEVICES
  1807. #define ISQLDMODevices IWSQLDMOBackupDevices
  1808. #define IID_ISQLDMODevices IID_IWSQLDMOBackupDevices
  1809.  
  1810. #undef LPSQLDMODEVICE
  1811. #undef ISQLDMODevice
  1812. #undef IID_ISQLDMODevice
  1813. #define LPSQLDMODEVICE LPWSQLDMOBACKUPDEVICE
  1814. #define ISQLDMODevice IWSQLDMOBackupDevice
  1815. #define IID_ISQLDMODevice IID_IWSQLDMOBackupDevice
  1816. /**/
  1817.  
  1818. #undef LPSQLDMOLOGINS
  1819. #undef ISQLDMOLogins
  1820. #undef IID_ISQLDMOLogins
  1821. interface IWSQLDMOLogins;                       TYPEDEFINTERFACE IWSQLDMOLogins *                                       LPWSQLDMOLOGINS;
  1822. #define LPSQLDMOLOGINS LPWSQLDMOLOGINS
  1823. #define ISQLDMOLogins IWSQLDMOLogins
  1824. #define IID_ISQLDMOLogins IID_IWSQLDMOLogins
  1825.  
  1826. #undef LPSQLDMOLOGIN
  1827. #undef ISQLDMOLogin
  1828. #undef IID_ISQLDMOLogin
  1829. interface IWSQLDMOLogin;                                TYPEDEFINTERFACE IWSQLDMOLogin *                                        LPWSQLDMOLOGIN;
  1830. #define LPSQLDMOLOGIN LPWSQLDMOLOGIN
  1831. #define ISQLDMOLogin IWSQLDMOLogin
  1832. #define IID_ISQLDMOLogin IID_IWSQLDMOLogin
  1833.  
  1834. #undef LPSQLDMOLANGUAGES
  1835. #undef ISQLDMOLanguages
  1836. #undef IID_ISQLDMOLanguages
  1837. interface IWSQLDMOLanguages;                    TYPEDEFINTERFACE IWSQLDMOLanguages *                            LPWSQLDMOLANGUAGES;
  1838. #define LPSQLDMOLANGUAGES LPWSQLDMOLANGUAGES
  1839. #define ISQLDMOLanguages IWSQLDMOLanguages
  1840. #define IID_ISQLDMOLanguages IID_IWSQLDMOLanguages
  1841.  
  1842. #undef LPSQLDMOLANGUAGE
  1843. #undef ISQLDMOLanguage
  1844. #undef IID_ISQLDMOLanguage
  1845. interface IWSQLDMOLanguage;                     TYPEDEFINTERFACE IWSQLDMOLanguage *                             LPWSQLDMOLANGUAGE;
  1846. #define LPSQLDMOLANGUAGE LPWSQLDMOLANGUAGE
  1847. #define ISQLDMOLanguage IWSQLDMOLanguage
  1848. #define IID_ISQLDMOLanguage IID_IWSQLDMOLanguage
  1849.  
  1850. #undef LPSQLDMOREMOTESERVERS
  1851. #undef ISQLDMORemoteServers
  1852. #undef IID_ISQLDMORemoteServers
  1853. interface IWSQLDMORemoteServers;                TYPEDEFINTERFACE IWSQLDMORemoteServers *                        LPWSQLDMOREMOTESERVERS;
  1854. #define LPSQLDMOREMOTESERVERS LPWSQLDMOREMOTESERVERS
  1855. #define ISQLDMORemoteServers IWSQLDMORemoteServers
  1856. #define IID_ISQLDMORemoteServers IID_IWSQLDMORemoteServers
  1857.  
  1858. #undef LPSQLDMOREMOTESERVER
  1859. #undef ISQLDMORemoteServer
  1860. #undef IID_ISQLDMORemoteServer
  1861. interface IWSQLDMORemoteServer;         TYPEDEFINTERFACE IWSQLDMORemoteServer *                 LPWSQLDMOREMOTESERVER;
  1862. #define LPSQLDMOREMOTESERVER LPWSQLDMOREMOTESERVER
  1863. #define ISQLDMORemoteServer IWSQLDMORemoteServer
  1864. #define IID_ISQLDMORemoteServer IID_IWSQLDMORemoteServer
  1865.  
  1866. #undef LPSQLDMOTABLES
  1867. #undef ISQLDMOTables
  1868. #undef IID_ISQLDMOTables
  1869. interface IWSQLDMOTables;                       TYPEDEFINTERFACE IWSQLDMOTables *                                       LPWSQLDMOTABLES;
  1870. #define LPSQLDMOTABLES LPWSQLDMOTABLES
  1871. #define ISQLDMOTables IWSQLDMOTables
  1872. #define IID_ISQLDMOTables IID_IWSQLDMOTables
  1873.  
  1874. #undef LPSQLDMOTABLE
  1875. #undef ISQLDMOTable
  1876. #undef IID_ISQLDMOTable
  1877. interface IWSQLDMOTable;                                TYPEDEFINTERFACE IWSQLDMOTable *                                        LPWSQLDMOTABLE;
  1878. #define LPSQLDMOTABLE LPWSQLDMOTABLE
  1879. #define ISQLDMOTable IWSQLDMOTable
  1880. #define IID_ISQLDMOTable IID_IWSQLDMOTable
  1881.  
  1882. #undef LPSQLDMOCOLUMNS
  1883. #undef ISQLDMOColumns
  1884. #undef IID_ISQLDMOColumns
  1885. interface IWSQLDMOColumns;                      TYPEDEFINTERFACE IWSQLDMOColumns *                              LPWSQLDMOCOLUMNS;
  1886. #define LPSQLDMOCOLUMNS LPWSQLDMOCOLUMNS
  1887. #define ISQLDMOColumns IWSQLDMOColumns
  1888. #define IID_ISQLDMOColumns IID_IWSQLDMOColumns
  1889.  
  1890. #undef LPSQLDMOCOLUMN
  1891. #undef ISQLDMOColumn
  1892. #undef IID_ISQLDMOColumn
  1893. interface IWSQLDMOColumn;                       TYPEDEFINTERFACE IWSQLDMOColumn *                                       LPWSQLDMOCOLUMN;
  1894. #define LPSQLDMOCOLUMN LPWSQLDMOCOLUMN
  1895. #define ISQLDMOColumn IWSQLDMOColumn
  1896. #define IID_ISQLDMOColumn IID_IWSQLDMOColumn
  1897.  
  1898. #undef LPSQLDMORULES
  1899. #undef ISQLDMORules
  1900. #undef IID_ISQLDMORules
  1901. interface IWSQLDMORules;                                TYPEDEFINTERFACE IWSQLDMORules *                                        LPWSQLDMORULES;
  1902. #define LPSQLDMORULES LPWSQLDMORULES
  1903. #define ISQLDMORules IWSQLDMORules
  1904. #define IID_ISQLDMORules IID_IWSQLDMORules
  1905.  
  1906. #undef LPSQLDMORULE
  1907. #undef ISQLDMORule
  1908. #undef IID_ISQLDMORule
  1909. interface IWSQLDMORule;                         TYPEDEFINTERFACE IWSQLDMORule *                                 LPWSQLDMORULE;
  1910. #define LPSQLDMORULE LPWSQLDMORULE
  1911. #define ISQLDMORule IWSQLDMORule
  1912. #define IID_ISQLDMORule IID_IWSQLDMORule
  1913.  
  1914. #undef LPSQLDMODEFAULTS
  1915. #undef ISQLDMODefaults
  1916. #undef IID_ISQLDMODefaults
  1917. interface IWSQLDMODefaults;                     TYPEDEFINTERFACE IWSQLDMODefaults *                             LPWSQLDMODEFAULTS;
  1918. #define LPSQLDMODEFAULTS LPWSQLDMODEFAULTS
  1919. #define ISQLDMODefaults IWSQLDMODefaults
  1920. #define IID_ISQLDMODefaults IID_IWSQLDMODefaults
  1921.  
  1922. #undef LPSQLDMODEFAULT
  1923. #undef ISQLDMODefault
  1924. #undef IID_ISQLDMODefault
  1925. interface IWSQLDMODefault;                      TYPEDEFINTERFACE IWSQLDMODefault *                              LPWSQLDMODEFAULT;
  1926. #define LPSQLDMODEFAULT LPWSQLDMODEFAULT
  1927. #define ISQLDMODefault IWSQLDMODefault
  1928. #define IID_ISQLDMODefault IID_IWSQLDMODefault
  1929.  
  1930. #undef LPSQLDMOUSERDEFINEDDATATYPES
  1931. #undef ISQLDMOUserDefinedDatatypes
  1932. #undef IID_ISQLDMOUserDefinedDatatypes
  1933. interface IWSQLDMOUserDefinedDatatypes; TYPEDEFINTERFACE IWSQLDMOUserDefinedDatatypes * LPWSQLDMOUSERDEFINEDDATATYPES;
  1934. #define LPSQLDMOUSERDEFINEDDATATYPES LPWSQLDMOUSERDEFINEDDATATYPES
  1935. #define ISQLDMOUserDefinedDatatypes IWSQLDMOUserDefinedDatatypes
  1936. #define IID_ISQLDMOUserDefinedDatatypes IID_IWSQLDMOUserDefinedDatatypes
  1937.  
  1938. #undef LPSQLDMOUSERDEFINEDDATATYPE
  1939. #undef ISQLDMOUserDefinedDatatype
  1940. #undef IID_ISQLDMOUserDefinedDatatype
  1941. interface IWSQLDMOUserDefinedDatatype;  TYPEDEFINTERFACE IWSQLDMOUserDefinedDatatype *  LPWSQLDMOUSERDEFINEDDATATYPE;
  1942. #define LPSQLDMOUSERDEFINEDDATATYPE LPWSQLDMOUSERDEFINEDDATATYPE
  1943. #define ISQLDMOUserDefinedDatatype IWSQLDMOUserDefinedDatatype
  1944. #define IID_ISQLDMOUserDefinedDatatype IID_IWSQLDMOUserDefinedDatatype
  1945.  
  1946. #undef LPSQLDMOSYSTEMDATATYPES
  1947. #undef ISQLDMOSystemDatatypes
  1948. #undef IID_ISQLDMOSystemDatatypes
  1949. interface IWSQLDMOSystemDatatypes;      TYPEDEFINTERFACE IWSQLDMOSystemDatatypes *              LPWSQLDMOSYSTEMDATATYPES;
  1950. #define LPSQLDMOSYSTEMDATATYPES LPWSQLDMOSYSTEMDATATYPES
  1951. #define ISQLDMOSystemDatatypes IWSQLDMOSystemDatatypes
  1952. #define IID_ISQLDMOSystemDatatypes IID_IWSQLDMOSystemDatatypes
  1953.  
  1954. #undef LPSQLDMOSYSTEMDATATYPE
  1955. #undef ISQLDMOSystemDatatype
  1956. #undef IID_ISQLDMOSystemDatatype
  1957. interface IWSQLDMOSystemDatatype;       TYPEDEFINTERFACE IWSQLDMOSystemDatatype *                       LPWSQLDMOSYSTEMDATATYPE;
  1958. #define LPSQLDMOSYSTEMDATATYPE LPWSQLDMOSYSTEMDATATYPE
  1959. #define ISQLDMOSystemDatatype IWSQLDMOSystemDatatype
  1960. #define IID_ISQLDMOSystemDatatype IID_IWSQLDMOSystemDatatype
  1961.  
  1962. #undef LPSQLDMOVIEWS
  1963. #undef ISQLDMOViews
  1964. #undef IID_ISQLDMOViews
  1965. interface IWSQLDMOViews;                                TYPEDEFINTERFACE IWSQLDMOViews *                                        LPWSQLDMOVIEWS;
  1966. #define LPSQLDMOVIEWS LPWSQLDMOVIEWS
  1967. #define ISQLDMOViews IWSQLDMOViews
  1968. #define IID_ISQLDMOViews IID_IWSQLDMOViews
  1969.  
  1970. #undef LPSQLDMOVIEW
  1971. #undef ISQLDMOView
  1972. #undef IID_ISQLDMOView
  1973. interface IWSQLDMOView;                         TYPEDEFINTERFACE IWSQLDMOView *                                 LPWSQLDMOVIEW;
  1974. #define LPSQLDMOVIEW LPWSQLDMOVIEW
  1975. #define ISQLDMOView IWSQLDMOView
  1976. #define IID_ISQLDMOView IID_IWSQLDMOView
  1977.  
  1978. #undef LPSQLDMOSTOREDPROCEDURES
  1979. #undef ISQLDMOStoredProcedures
  1980. #undef IID_ISQLDMOStoredProcedures
  1981. interface IWSQLDMOStoredProcedures;     TYPEDEFINTERFACE IWSQLDMOStoredProcedures *             LPWSQLDMOSTOREDPROCEDURES;
  1982. #define LPSQLDMOSTOREDPROCEDURES LPWSQLDMOSTOREDPROCEDURES
  1983. #define ISQLDMOStoredProcedures IWSQLDMOStoredProcedures
  1984. #define IID_ISQLDMOStoredProcedures IID_IWSQLDMOStoredProcedures
  1985.  
  1986. #undef LPSQLDMOSTOREDPROCEDURE
  1987. #undef ISQLDMOStoredProcedure
  1988. #undef IID_ISQLDMOStoredProcedure
  1989. interface IWSQLDMOStoredProcedure;      TYPEDEFINTERFACE IWSQLDMOStoredProcedure *              LPWSQLDMOSTOREDPROCEDURE;
  1990. #define LPSQLDMOSTOREDPROCEDURE LPWSQLDMOSTOREDPROCEDURE
  1991. #define ISQLDMOStoredProcedure IWSQLDMOStoredProcedure
  1992. #define IID_ISQLDMOStoredProcedure IID_IWSQLDMOStoredProcedure
  1993.  
  1994. #undef LPSQLDMOTRIGGERS
  1995. #undef ISQLDMOTriggers
  1996. #undef IID_ISQLDMOTriggers
  1997. interface IWSQLDMOTriggers;                     TYPEDEFINTERFACE IWSQLDMOTriggers *                             LPWSQLDMOTRIGGERS;
  1998. #define LPSQLDMOTRIGGERS LPWSQLDMOTRIGGERS
  1999. #define ISQLDMOTriggers IWSQLDMOTriggers
  2000. #define IID_ISQLDMOTriggers IID_IWSQLDMOTriggers
  2001.  
  2002. #undef LPSQLDMOTRIGGER
  2003. #undef ISQLDMOTrigger
  2004. #undef IID_ISQLDMOTrigger
  2005. interface IWSQLDMOTrigger;                      TYPEDEFINTERFACE IWSQLDMOTrigger *                              LPWSQLDMOTRIGGER;
  2006. #define LPSQLDMOTRIGGER LPWSQLDMOTRIGGER
  2007. #define ISQLDMOTrigger IWSQLDMOTrigger
  2008. #define IID_ISQLDMOTrigger IID_IWSQLDMOTrigger
  2009.  
  2010. #undef LPSQLDMOUSERS
  2011. #undef ISQLDMOUsers
  2012. #undef IID_ISQLDMOUsers
  2013. interface IWSQLDMOUsers;                                TYPEDEFINTERFACE IWSQLDMOUsers *                                        LPWSQLDMOUSERS;
  2014. #define LPSQLDMOUSERS LPWSQLDMOUSERS
  2015. #define ISQLDMOUsers IWSQLDMOUsers
  2016. #define IID_ISQLDMOUsers IID_IWSQLDMOUsers
  2017.  
  2018. #undef LPSQLDMOUSER
  2019. #undef ISQLDMOUser
  2020. #undef IID_ISQLDMOUser
  2021. interface IWSQLDMOUser;                         TYPEDEFINTERFACE IWSQLDMOUser *                                 LPWSQLDMOUSER;
  2022. #define LPSQLDMOUSER LPWSQLDMOUSER
  2023. #define ISQLDMOUser IWSQLDMOUser
  2024. #define IID_ISQLDMOUser IID_IWSQLDMOUser
  2025.  
  2026. #undef LPSQLDMOGROUPS
  2027. #undef ISQLDMOGroups
  2028. #undef IID_ISQLDMOGroups
  2029. interface IWSQLDMOGroups;                       TYPEDEFINTERFACE IWSQLDMOGroups *                                       LPWSQLDMOGROUPS;
  2030. #define LPSQLDMOGROUPS LPWSQLDMOGROUPS
  2031. #define ISQLDMOGroups IWSQLDMOGroups
  2032. #define IID_ISQLDMOGroups IID_IWSQLDMOGroups
  2033.  
  2034. #undef LPSQLDMOGROUP
  2035. #undef ISQLDMOGroup
  2036. #undef IID_ISQLDMOGroup
  2037. interface IWSQLDMOGroup;                                TYPEDEFINTERFACE IWSQLDMOGroup *                                        LPWSQLDMOGROUP;
  2038. #define LPSQLDMOGROUP LPWSQLDMOGROUP
  2039. #define ISQLDMOGroup IWSQLDMOGroup
  2040. #define IID_ISQLDMOGroup IID_IWSQLDMOGroup
  2041.  
  2042. #undef LPSQLDMOINDEXES
  2043. #undef ISQLDMOIndexes
  2044. #undef IID_ISQLDMOIndexes
  2045. interface IWSQLDMOIndexes;                      TYPEDEFINTERFACE IWSQLDMOIndexes *                              LPWSQLDMOINDEXES;
  2046. #define LPSQLDMOINDEXES LPWSQLDMOINDEXES
  2047. #define ISQLDMOIndexes IWSQLDMOIndexes
  2048. #define IID_ISQLDMOIndexes IID_IWSQLDMOIndexes
  2049.  
  2050. #undef LPSQLDMOINDEX
  2051. #undef ISQLDMOIndex
  2052. #undef IID_ISQLDMOIndex
  2053. interface IWSQLDMOIndex;                                TYPEDEFINTERFACE IWSQLDMOIndex *                                        LPWSQLDMOINDEX;
  2054. #define LPSQLDMOINDEX LPWSQLDMOINDEX
  2055. #define ISQLDMOIndex IWSQLDMOIndex
  2056. #define IID_ISQLDMOIndex IID_IWSQLDMOIndex
  2057.  
  2058. #undef LPSQLDMOTRIGGERS
  2059. #undef ISQLDMOTriggers
  2060. #undef IID_ISQLDMOTriggers
  2061. interface IWSQLDMOTriggers;                     TYPEDEFINTERFACE IWSQLDMOTriggers *                             LPWSQLDMOTRIGGERS;
  2062. #define LPSQLDMOTRIGGERS LPWSQLDMOTRIGGERS
  2063. #define ISQLDMOTriggers IWSQLDMOTriggers
  2064. #define IID_ISQLDMOTriggers IID_IWSQLDMOTriggers
  2065.  
  2066. #undef LPSQLDMOTRIGGER
  2067. #undef ISQLDMOTrigger
  2068. #undef IID_ISQLDMOTrigger
  2069. interface IWSQLDMOTrigger;                      TYPEDEFINTERFACE IWSQLDMOTrigger *                              LPWSQLDMOTRIGGER;
  2070. #define LPSQLDMOTRIGGER LPWSQLDMOTRIGGER
  2071. #define ISQLDMOTrigger IWSQLDMOTrigger
  2072. #define IID_ISQLDMOTrigger IID_IWSQLDMOTrigger
  2073.  
  2074. #undef LPSQLDMOREMOTELOGINS
  2075. #undef ISQLDMORemoteLogins
  2076. #undef IID_ISQLDMORemoteLogins
  2077. interface IWSQLDMORemoteLogins;         TYPEDEFINTERFACE IWSQLDMORemoteLogins *                 LPWSQLDMOREMOTELOGINS;
  2078. #define LPSQLDMOREMOTELOGINS LPWSQLDMOREMOTELOGINS
  2079. #define ISQLDMORemoteLogins IWSQLDMORemoteLogins
  2080. #define IID_ISQLDMORemoteLogins IID_IWSQLDMORemoteLogins
  2081.  
  2082. #undef LPSQLDMOREMOTELOGIN
  2083. #undef ISQLDMORemoteLogin
  2084. #undef IID_ISQLDMORemoteLogin
  2085. interface IWSQLDMORemoteLogin;          TYPEDEFINTERFACE IWSQLDMORemoteLogin *                  LPWSQLDMOREMOTELOGIN;
  2086. #define LPSQLDMOREMOTELOGIN LPWSQLDMOREMOTELOGIN
  2087. #define ISQLDMORemoteLogin IWSQLDMORemoteLogin
  2088. #define IID_ISQLDMORemoteLogin IID_IWSQLDMORemoteLogin
  2089.  
  2090. #undef LPSQLDMODBOBJECTS
  2091. #undef ISQLDMODBObjects
  2092. #undef IID_ISQLDMODBObjects
  2093. interface IWSQLDMODBObjects;                    TYPEDEFINTERFACE IWSQLDMODBObjects *                            LPWSQLDMODBOBJECTS;
  2094. #define LPSQLDMODBOBJECTS LPWSQLDMODBOBJECTS
  2095. #define ISQLDMODBObjects IWSQLDMODBObjects
  2096. #define IID_ISQLDMODBObjects IID_IWSQLDMODBObjects
  2097.  
  2098. #undef LPSQLDMODBOBJECT
  2099. #undef ISQLDMODBObject
  2100. #undef IID_ISQLDMODBObject
  2101. interface IWSQLDMODBObject;                     TYPEDEFINTERFACE IWSQLDMODBObject *                             LPWSQLDMODBOBJECT;
  2102. #define LPSQLDMODBOBJECT LPWSQLDMODBOBJECT
  2103. #define ISQLDMODBObject IWSQLDMODBObject
  2104. #define IID_ISQLDMODBObject IID_IWSQLDMODBObject
  2105.  
  2106. #undef LPSQLDMODBOPTION
  2107. #undef ISQLDMODBOption
  2108. #undef IID_ISQLDMODBOption
  2109. interface IWSQLDMODBOption;                     TYPEDEFINTERFACE IWSQLDMODBOption *                             LPWSQLDMODBOPTION;
  2110. #define LPSQLDMODBOPTION LPWSQLDMODBOPTION
  2111. #define ISQLDMODBOption IWSQLDMODBOption
  2112. #define IID_ISQLDMODBOption IID_IWSQLDMODBOption
  2113.  
  2114. #undef LPSQLDMOCONFIGURATION
  2115. #undef ISQLDMOConfiguration
  2116. #undef IID_ISQLDMOConfiguration
  2117. interface IWSQLDMOConfiguration;                TYPEDEFINTERFACE IWSQLDMOConfiguration *                        LPWSQLDMOCONFIGURATION;
  2118. #define LPSQLDMOCONFIGURATION LPWSQLDMOCONFIGURATION
  2119. #define ISQLDMOConfiguration IWSQLDMOConfiguration
  2120. #define IID_ISQLDMOConfiguration IID_IWSQLDMOConfiguration
  2121.  
  2122. #undef LPSQLDMOCONFIGVALUES
  2123. #undef ISQLDMOConfigValues
  2124. #undef IID_ISQLDMOConfigValues
  2125. interface IWSQLDMOConfigValues;         TYPEDEFINTERFACE IWSQLDMOConfigValues *                         LPWSQLDMOCONFIGVALUES;
  2126. #define LPSQLDMOCONFIGVALUES LPWSQLDMOCONFIGVALUES
  2127. #define ISQLDMOConfigValues IWSQLDMOConfigValues
  2128. #define IID_ISQLDMOConfigValues IID_IWSQLDMOConfigValues
  2129.  
  2130. #undef LPSQLDMOCONFIGVALUE
  2131. #undef ISQLDMOConfigValue
  2132. #undef IID_ISQLDMOConfigValue
  2133. interface IWSQLDMOConfigValue;          TYPEDEFINTERFACE IWSQLDMOConfigValue *                          LPWSQLDMOCONFIGVALUE;
  2134. #define LPSQLDMOCONFIGVALUE LPWSQLDMOCONFIGVALUE
  2135. #define ISQLDMOConfigValue IWSQLDMOConfigValue
  2136. #define IID_ISQLDMOConfigValue IID_IWSQLDMOConfigValue
  2137.  
  2138. #undef LPSQLDMOQUERYRESULTS
  2139. #undef ISQLDMOQueryResults
  2140. #undef IID_ISQLDMOQueryResults
  2141. interface IWSQLDMOQueryResults;         TYPEDEFINTERFACE IWSQLDMOQueryResults *                 LPWSQLDMOQUERYRESULTS;
  2142. #define LPSQLDMOQUERYRESULTS LPWSQLDMOQUERYRESULTS
  2143. #define ISQLDMOQueryResults IWSQLDMOQueryResults
  2144. #define IID_ISQLDMOQueryResults IID_IWSQLDMOQueryResults
  2145.  
  2146. #undef LPSQLDMOTRANSACTIONLOG
  2147. #undef ISQLDMOTransactionLog
  2148. #undef IID_ISQLDMOTransactionLog
  2149. interface IWSQLDMOTransactionLog;       TYPEDEFINTERFACE IWSQLDMOTransactionLog *                       LPWSQLDMOTRANSACTIONLOG;
  2150. #define LPSQLDMOTRANSACTIONLOG LPWSQLDMOTRANSACTIONLOG
  2151. #define ISQLDMOTransactionLog IWSQLDMOTransactionLog
  2152. #define IID_ISQLDMOTransactionLog IID_IWSQLDMOTransactionLog
  2153.  
  2154. #undef LPSQLDMOREGISTRY
  2155. #undef ISQLDMORegistry
  2156. #undef IID_ISQLDMORegistry
  2157. interface IWSQLDMORegistry;                     TYPEDEFINTERFACE IWSQLDMORegistry *                             LPWSQLDMOREGISTRY;
  2158. #define LPSQLDMOREGISTRY LPWSQLDMOREGISTRY
  2159. #define ISQLDMORegistry IWSQLDMORegistry
  2160. #define IID_ISQLDMORegistry IID_IWSQLDMORegistry
  2161.  
  2162. #undef LPSQLDMOBACKUP
  2163. #undef ISQLDMOBackup
  2164. #undef IID_ISQLDMOBackup
  2165. interface IWSQLDMOBackup;                       TYPEDEFINTERFACE IWSQLDMOBackup *                                       LPWSQLDMOBACKUP;
  2166. #define LPSQLDMOBACKUP LPWSQLDMOBACKUP
  2167. #define ISQLDMOBackup IWSQLDMOBackup
  2168. #define IID_ISQLDMOBackup IID_IWSQLDMOBackup
  2169.  
  2170. #undef LPSQLDMOBULKCOPY
  2171. #undef ISQLDMOBulkCopy
  2172. #undef IID_ISQLDMOBulkCopy
  2173. interface IWSQLDMOBulkCopy;                     TYPEDEFINTERFACE IWSQLDMOBulkCopy *                                     LPWSQLDMOBULKCOPY;
  2174. #define LPSQLDMOBULKCOPY LPWSQLDMOBULKCOPY
  2175. #define ISQLDMOBulkCopy IWSQLDMOBulkCopy
  2176. #define IID_ISQLDMOBulkCopy IID_IWSQLDMOBulkCopy
  2177.  
  2178. #undef LPSQLDMOOBJECTLIST
  2179. #undef ISQLDMOObjectList
  2180. #undef IID_ISQLDMOObjectList
  2181. interface IWSQLDMOObjectList;           TYPEDEFINTERFACE IWSQLDMOObjectList *                           LPWSQLDMOOBJECTLIST;
  2182. #define LPSQLDMOOBJECTLIST LPWSQLDMOOBJECTLIST
  2183. #define ISQLDMOObjectList IWSQLDMOObjectList
  2184. #define IID_ISQLDMOObjectList IID_IWSQLDMOObjectList
  2185.  
  2186. #undef LPSQLDMONAMES
  2187. #undef ISQLDMONames
  2188. #undef IID_ISQLDMONames
  2189. interface IWSQLDMONames;                TYPEDEFINTERFACE IWSQLDMONames *                                LPWSQLDMONAMES;
  2190. #define LPSQLDMONAMES LPWSQLDMONAMES
  2191. #define ISQLDMONames IWSQLDMONames
  2192. #define IID_ISQLDMONames IID_IWSQLDMONames
  2193.  
  2194. #undef LPSQLDMONAMELIST
  2195. #undef ISQLDMONameList
  2196. #undef IID_ISQLDMONameList
  2197. interface IWSQLDMONameList;             TYPEDEFINTERFACE IWSQLDMONameList *                             LPWSQLDMONAMELIST;
  2198. #define LPSQLDMONAMELIST LPWSQLDMONAMELIST
  2199. #define ISQLDMONameList IWSQLDMONameList
  2200. #define IID_ISQLDMONameList IID_IWSQLDMONameList
  2201.  
  2202. #undef LPSQLDMOPERMISSION
  2203. #undef ISQLDMOPermission
  2204. #undef IID_ISQLDMOPermission
  2205. interface IWSQLDMOPermission;           TYPEDEFINTERFACE IWSQLDMOPermission *                           LPWSQLDMOPERMISSION;
  2206. #define LPSQLDMOPERMISSION LPWSQLDMOPERMISSION
  2207. #define ISQLDMOPermission IWSQLDMOPermission
  2208. #define IID_ISQLDMOPermission IID_IWSQLDMOPermission
  2209.  
  2210. #undef LPSQLDMOINTEGRATEDSECURITY
  2211. #undef ISQLDMOIntegratedSecurity
  2212. #undef IID_ISQLDMOIntegratedSecurity
  2213. interface IWSQLDMOIntegratedSecurity;   TYPEDEFINTERFACE IWSQLDMOIntegratedSecurity *   LPWSQLDMOINTEGRATEDSECURITY;
  2214. #define LPSQLDMOINTEGRATEDSECURITY LPWSQLDMOINTEGRATEDSECURITY
  2215. #define ISQLDMOIntegratedSecurity IWSQLDMOIntegratedSecurity
  2216. #define IID_ISQLDMOIntegratedSecurity IID_IWSQLDMOIntegratedSecurity
  2217.  
  2218. #undef LPSQLDMOKEYS
  2219. #undef ISQLDMOKeys
  2220. #undef IID_ISQLDMOKeys
  2221. interface IWSQLDMOKeys;                 TYPEDEFINTERFACE IWSQLDMOKeys *                                 LPWSQLDMOKEYS;
  2222. #define LPSQLDMOKEYS LPWSQLDMOKEYS
  2223. #define ISQLDMOKeys IWSQLDMOKeys
  2224. #define IID_ISQLDMOKeys IID_IWSQLDMOKeys
  2225.  
  2226. #undef LPSQLDMOKEY
  2227. #undef ISQLDMOKey
  2228. #undef IID_ISQLDMOKey
  2229. interface IWSQLDMOKey;                          TYPEDEFINTERFACE IWSQLDMOKey *                                  LPWSQLDMOKEY;
  2230. #define LPSQLDMOKEY LPWSQLDMOKEY
  2231. #define ISQLDMOKey IWSQLDMOKey
  2232. #define IID_ISQLDMOKey IID_IWSQLDMOKey
  2233.  
  2234. #undef LPSQLDMOCHECKS
  2235. #undef ISQLDMOChecks
  2236. #undef IID_ISQLDMOChecks
  2237. interface IWSQLDMOChecks;                       TYPEDEFINTERFACE IWSQLDMOChecks *                                       LPWSQLDMOCHECKS;
  2238. #define LPSQLDMOCHECKS LPWSQLDMOCHECKS
  2239. #define ISQLDMOChecks IWSQLDMOChecks
  2240. #define IID_ISQLDMOChecks IID_IWSQLDMOChecks
  2241.  
  2242. #undef LPSQLDMOCHECK
  2243. #undef ISQLDMOCheck
  2244. #undef IID_ISQLDMOCheck
  2245. interface IWSQLDMOCheck;                                TYPEDEFINTERFACE IWSQLDMOCheck *                                        LPWSQLDMOCHECK;
  2246. #define LPSQLDMOCHECK LPWSQLDMOCHECK
  2247. #define ISQLDMOCheck IWSQLDMOCheck
  2248. #define IID_ISQLDMOCheck IID_IWSQLDMOCheck
  2249.  
  2250. #undef LPSQLDMODRIDEFAULT
  2251. #undef ISQLDMODRIDefault
  2252. #undef IID_ISQLDMODRIDefault
  2253. interface IWSQLDMODRIDefault;                           TYPEDEFINTERFACE IWSQLDMODRIDefault *                                   LPWSQLDMODRIDEFAULT;
  2254. #define LPSQLDMODRIDEFAULT LPWSQLDMODRIDEFAULT
  2255. #define ISQLDMODRIDefault IWSQLDMODRIDefault
  2256. #define IID_ISQLDMODRIDefault IID_IWSQLDMODRIDefault
  2257.  
  2258. #undef LPSQLDMOSERVERGROUPS
  2259. #undef ISQLDMOServerGroups
  2260. #undef IID_ISQLDMOServerGroups
  2261. interface IWSQLDMOServerGroups;                 TYPEDEFINTERFACE IWSQLDMOServerGroups *                                 LPWSQLDMOSERVERGROUPS;
  2262. #define LPSQLDMOSERVERGROUPS LPWSQLDMOSERVERGROUPS
  2263. #define ISQLDMOServerGroups IWSQLDMOServerGroups
  2264. #define IID_ISQLDMOServerGroups IID_IWSQLDMOServerGroups
  2265.  
  2266. #undef LPSQLDMOSERVERGROUP
  2267. #undef ISQLDMOServerGroup
  2268. #undef IID_ISQLDMOServerGroup
  2269. interface IWSQLDMOServerGroup;                          TYPEDEFINTERFACE IWSQLDMOServerGroup *                                  LPWSQLDMOSERVERGROUP;
  2270. #define LPSQLDMOSERVERGROUP LPWSQLDMOSERVERGROUP
  2271. #define ISQLDMOServerGroup IWSQLDMOServerGroup
  2272. #define IID_ISQLDMOServerGroup IID_IWSQLDMOServerGroup
  2273.  
  2274. #undef LPSQLDMOREGISTEREDSERVERS
  2275. #undef ISQLDMORegisteredServers
  2276. #undef IID_ISQLDMORegisteredServers
  2277. interface IWSQLDMORegisteredServers;                    TYPEDEFINTERFACE IWSQLDMORegisteredServers *                                    LPWSQLDMOREGISTEREDSERVERS;
  2278. #define LPSQLDMOREGISTEREDSERVERS LPWSQLDMOREGISTEREDSERVERS
  2279. #define ISQLDMORegisteredServers IWSQLDMORegisteredServers
  2280. #define IID_ISQLDMORegisteredServers IID_IWSQLDMORegisteredServers
  2281.  
  2282. #undef LPSQLDMOREGISTEREDSERVER
  2283. #undef ISQLDMORegisteredServer
  2284. #undef IID_ISQLDMORegisteredServer
  2285. interface IWSQLDMORegisteredServer;                             TYPEDEFINTERFACE IWSQLDMORegisteredServer *                                     LPWSQLDMOREGISTEREDSERVER;
  2286. #define LPSQLDMOREGISTEREDSERVER LPWSQLDMOREGISTEREDSERVER
  2287. #define ISQLDMORegisteredServer IWSQLDMORegisteredServer
  2288. #define IID_ISQLDMORegisteredServer IID_IWSQLDMORegisteredServer
  2289.  
  2290. #undef LPSQLDMOTRANSFER
  2291. #undef ISQLDMOTransfer
  2292. #undef IID_ISQLDMOTransfer
  2293. interface IWSQLDMOTransfer;                                             TYPEDEFINTERFACE IWSQLDMOTransfer *                             LPWSQLDMOTRANSFER;
  2294. #define LPSQLDMOTRANSFER LPWSQLDMOTRANSFER
  2295. #define ISQLDMOTransfer IWSQLDMOTransfer
  2296. #define IID_ISQLDMOTransfer IID_IWSQLDMOTransfer
  2297.  
  2298. // 7.0 new objects
  2299. #undef LPSQLDMOFILEGROUPS
  2300. #undef ISQLDMOFileGroups
  2301. #undef IID_ISQLDMOFileGroups
  2302. interface IWSQLDMOFileGroups;                    TYPEDEFINTERFACE IWSQLDMOFileGroups *                                    LPWSQLDMOFILEGROUPS;
  2303. #define LPSQLDMOFILEGROUPS LPWSQLDMOFILEGROUPS
  2304. #define ISQLDMOFileGroups IWSQLDMOFileGroups
  2305. #define IID_ISQLDMOFileGroups IID_IWSQLDMOFileGroups
  2306.  
  2307. #undef LPSQLDMOFILEGROUP
  2308. #undef ISQLDMOFileGroup
  2309. #undef IID_ISQLDMOFileGroup
  2310. interface IWSQLDMOFileGroup;                             TYPEDEFINTERFACE IWSQLDMOFileGroup *                                     LPWSQLDMOFILEGROUP;
  2311. #define LPSQLDMOFILEGROUP LPWSQLDMOFILEGROUP
  2312. #define ISQLDMOFileGroup IWSQLDMOFileGroup
  2313. #define IID_ISQLDMOFileGroup IID_IWSQLDMOFileGroup
  2314.  
  2315. #undef LPSQLDMODBFILES
  2316. #undef ISQLDMODBFiles
  2317. #undef IID_ISQLDMODBFiles
  2318. interface IWSQLDMODBFiles;                    TYPEDEFINTERFACE IWSQLDMODBFiles *                                    LPWSQLDMODBFILES;
  2319. #define LPSQLDMODBFILES LPWSQLDMODBFILES
  2320. #define ISQLDMODBFiles IWSQLDMODBFiles
  2321. #define IID_ISQLDMODBFiles IID_IWSQLDMODBFiles
  2322.  
  2323. #undef LPSQLDMODBFILE
  2324. #undef ISQLDMODBFile
  2325. #undef IID_ISQLDMODBFile
  2326. interface IWSQLDMODBFile;                             TYPEDEFINTERFACE IWSQLDMODBFile *                                     LPWSQLDMODBFILE;
  2327. #define LPSQLDMODBFILE LPWSQLDMODBFILE
  2328. #define ISQLDMODBFile IWSQLDMODBFile
  2329. #define IID_ISQLDMODBFile IID_IWSQLDMODBFile
  2330.  
  2331. #undef LPSQLDMOLOGFILES
  2332. #undef ISQLDMOLogFiles
  2333. #undef IID_ISQLDMOLogFiles
  2334. interface IWSQLDMOLogFiles;                    TYPEDEFINTERFACE IWSQLDMOLogFiles *                                    LPWSQLDMOLOGFILES;
  2335. #define LPSQLDMOLOGFILES LPWSQLDMOLOGFILES
  2336. #define ISQLDMOLogFiles IWSQLDMOLogFiles
  2337. #define IID_ISQLDMOLogFiles IID_IWSQLDMOLogFiles
  2338.  
  2339. #undef LPSQLDMOLOGFILE
  2340. #undef ISQLDMOLogFile
  2341. #undef IID_ISQLDMOLogFile
  2342. interface IWSQLDMOLogFile;                             TYPEDEFINTERFACE IWSQLDMOLogFile *                                     LPWSQLDMOLOGFILE;
  2343. #define LPSQLDMOLOGFILE LPWSQLDMOLOGFILE
  2344. #define ISQLDMOLogFile IWSQLDMOLogFile
  2345. #define IID_ISQLDMOLogFile IID_IWSQLDMOLogFile
  2346.  
  2347. #undef LPSQLDMOSERVERROLES
  2348. #undef ISQLDMOServerRoles
  2349. #undef IID_ISQLDMOServerRoles
  2350. interface IWSQLDMOServerRoles;                    TYPEDEFINTERFACE IWSQLDMOServerRoles *                                    LPWSQLDMOSERVERROLES;
  2351. #define LPSQLDMOSERVERROLES LPWSQLDMOSERVERROLES
  2352. #define ISQLDMOServerRoles IWSQLDMOServerRoles
  2353. #define IID_ISQLDMOServerRoles IID_IWSQLDMOServerRoles
  2354.  
  2355. #undef LPSQLDMOSERVERROLE
  2356. #undef ISQLDMOServerRole
  2357. #undef IID_ISQLDMOServerRole
  2358. interface IWSQLDMOServerRole;                             TYPEDEFINTERFACE IWSQLDMOServerRole *                                     LPWSQLDMOSERVERROLE;
  2359. #define LPSQLDMOSERVERROLE LPWSQLDMOSERVERROLE
  2360. #define ISQLDMOServerRole IWSQLDMOServerRole
  2361. #define IID_ISQLDMOServerRole IID_IWSQLDMOServerRole
  2362.  
  2363. #undef LPSQLDMODATABASEROLES
  2364. #undef ISQLDMODatabaseRoles
  2365. #undef IID_ISQLDMODatabaseRoles
  2366. interface IWSQLDMODatabaseRoles;                    TYPEDEFINTERFACE IWSQLDMODatabaseRoles *                                    LPWSQLDMODATABASEROLES;
  2367. #define LPSQLDMODATABASEROLES LPWSQLDMODATABASEROLES
  2368. #define ISQLDMODatabaseRoles IWSQLDMODatabaseRoles
  2369. #define IID_ISQLDMODatabaseRoles IID_IWSQLDMODatabaseRoles
  2370.  
  2371. #undef LPSQLDMODATABASEROLE
  2372. #undef ISQLDMODatabaseRole
  2373. #undef IID_ISQLDMODatabaseRole
  2374. interface IWSQLDMODatabaseRole;                             TYPEDEFINTERFACE IWSQLDMODatabaseRole *                                     LPWSQLDMODATABASEROLE;
  2375. #define LPSQLDMODATABASEROLE LPWSQLDMODATABASEROLE
  2376. #define ISQLDMODatabaseRole IWSQLDMODatabaseRole
  2377. #define IID_ISQLDMODatabaseRole IID_IWSQLDMODatabaseRole
  2378.  
  2379. #undef LPSQLDMORESTORE
  2380. #undef ISQLDMORestore
  2381. #undef IID_ISQLDMORestore
  2382. interface IWSQLDMORestore;                       TYPEDEFINTERFACE IWSQLDMORestore *                                       LPWSQLDMORESTORE;
  2383. #define LPSQLDMORESTORE LPWSQLDMORESTORE
  2384. #define ISQLDMORestore IWSQLDMORestore
  2385. #define IID_ISQLDMORestore IID_IWSQLDMORestore
  2386.  
  2387. #undef LPSQLDMOLINKEDSERVERS
  2388. #undef ISQLDMOLinkedServers
  2389. #undef IID_ISQLDMOLinkedServers
  2390. interface IWSQLDMOLinkedServers;                TYPEDEFINTERFACE IWSQLDMOLinkedServers *                        LPWSQLDMOLINKEDSERVERS;
  2391. #define LPSQLDMOLINKEDSERVERS LPWSQLDMOLINKEDSERVERS
  2392. #define ISQLDMOLinkedServers IWSQLDMOLinkedServers
  2393. #define IID_ISQLDMOLinkedServers IID_IWSQLDMOLinkedServers
  2394.  
  2395. #undef LPSQLDMOLINKEDSERVER
  2396. #undef ISQLDMOLinkedServer
  2397. #undef IID_ISQLDMOLinkedServer
  2398. interface IWSQLDMOLinkedServer;         TYPEDEFINTERFACE IWSQLDMOLinkedServer *                 LPWSQLDMOLINKEDSERVER;
  2399. #define LPSQLDMOLINKEDSERVER LPWSQLDMOLINKEDSERVER
  2400. #define ISQLDMOLinkedServer IWSQLDMOLinkedServer
  2401. #define IID_ISQLDMOLinkedServer IID_IWSQLDMOLinkedServer
  2402.  
  2403. #undef LPSQLDMOLINKEDSERVERLOGINS
  2404. #undef ISQLDMOLinkedServerLogins
  2405. #undef IID_ISQLDMOLinkedServerLogins
  2406. interface IWSQLDMOLinkedServerLogins;                TYPEDEFINTERFACE IWSQLDMOLinkedServerLogins *                        LPWSQLDMOLINKEDSERVERLOGINS;
  2407. #define LPSQLDMOLINKEDSERVERLOGINS LPWSQLDMOLINKEDSERVERLOGINS
  2408. #define ISQLDMOLinkedServerLogins IWSQLDMOLinkedServerLogins
  2409. #define IID_ISQLDMOLinkedServerLogins IID_IWSQLDMOLinkedServerLogins
  2410.  
  2411. #undef LPSQLDMOLINKEDSERVERLOGIN
  2412. #undef ISQLDMOLinkedServerLOGIN
  2413. #undef IID_ISQLDMOLinkedServerLogin
  2414. interface IWSQLDMOLinkedServerLogin;         TYPEDEFINTERFACE IWSQLDMOLinkedServerLogin *                 LPWSQLDMOLINKEDSERVERLOGIN;
  2415. #define LPSQLDMOLINKEDSERVERLOGIN LPWSQLDMOLINKEDSERVERLOGIN
  2416. #define ISQLDMOLinkedServerLogin IWSQLDMOLinkedServerLogin
  2417. #define IID_ISQLDMOLinkedServerLogin IID_IWSQLDMOLinkedServerLogin
  2418.  
  2419. #undef LPSQLDMOFULLTEXTCATALOGS
  2420. #undef ISQLDMOFullTextCatalogs
  2421. #undef IID_ISQLDMOFullTextCatalogs
  2422. interface IWSQLDMOFullTextCatalogs;                    TYPEDEFINTERFACE IWSQLDMOFullTextCatalogs *           LPWSQLDMOFULLTEXTCATALOGS;
  2423. #define LPSQLDMOFULLTEXTCATALOGS LPWSQLDMOFULLTEXTCATALOGS
  2424. #define ISQLDMOFullTextCatalogs IWSQLDMOFullTextCatalogs
  2425. #define IID_ISQLDMOFullTextCatalogs IID_IWSQLDMOFullTextCatalogs
  2426.  
  2427. #undef LPSQLDMOFULLTEXTCATALOG
  2428. #undef ISQLDMOFullTextCatalog
  2429. #undef IID_ISQLDMOFullTextCatalog
  2430. interface IWSQLDMOFullTextCatalog;                     TYPEDEFINTERFACE IWSQLDMOFullTextCatalog *             LPWSQLDMOFULLTEXTCATALOG;
  2431. #define LPSQLDMOFULLTEXTCATALOG LPWSQLDMOFULLTEXTCATALOG
  2432. #define ISQLDMOFullTextCatalog IWSQLDMOFullTextCatalog
  2433. #define IID_ISQLDMOFullTextCatalog IID_IWSQLDMOFullTextCatalog
  2434.  
  2435. #undef LPSQLDMOFULLTEXTSERVICE
  2436. #undef ISQLDMOFullTextService
  2437. #undef IID_ISQLDMOFullTextService
  2438. interface IWSQLDMOFullTextService;                     TYPEDEFINTERFACE IWSQLDMOFullTextService *             LPWSQLDMOFULLTEXTSERVICE;
  2439. #define LPSQLDMOFULLTEXTSERVICE LPWSQLDMOFULLTEXTSERVICE
  2440. #define ISQLDMOFullTextService IWSQLDMOFullTextService
  2441. #define IID_ISQLDMOFullTextService IID_IWSQLDMOFullTextService
  2442.  
  2443.  
  2444. ////////////////////////////////////////////////////////////////////////////////////////
  2445. // Event Sink Interfaces
  2446. ////////////////////////////////////////////////////////////////////////////////////////
  2447. #undef LPSQLDMOTRANSFERSINK
  2448. #undef ISQLDMOTransferSink
  2449. #undef IID_ISQLDMOTransferSink
  2450. interface IWSQLDMOTransferSink;                                         TYPEDEFINTERFACE IWSQLDMOTransferSink *                         LPWSQLDMOTRANSFERSINK;
  2451. #define LPSQLDMOTRANSFERSINK LPWSQLDMOTRANSFERSINK
  2452. #define ISQLDMOTransferSink IWSQLDMOTransferSink
  2453. #define IID_ISQLDMOTransferSink IID_IWSQLDMOTransferSink
  2454.  
  2455. #undef LPSQLDMOSERVERSINK
  2456. #undef ISQLDMOServerSink
  2457. #undef IID_ISQLDMOServerSink
  2458. interface IWSQLDMOServerSink;                                           TYPEDEFINTERFACE IWSQLDMOServerSink *                           LPWSQLDMOSERVERSINK;
  2459. #define LPSQLDMOSERVERSINK LPWSQLDMOSERVERSINK
  2460. #define ISQLDMOServerSink IWSQLDMOServerSink
  2461. #define IID_ISQLDMOServerSink IID_IWSQLDMOServerSink
  2462.  
  2463. #undef LPSQLDMOBACKUPSINK
  2464. #undef ISQLDMOBackupSink
  2465. #undef IID_ISQLDMOBackupSink
  2466. interface IWSQLDMOBackupSink;                                           TYPEDEFINTERFACE IWSQLDMOBackupSink *                           LPWSQLDMOBACKUPSINK;
  2467. #define LPSQLDMOBACKUPSINK LPWSQLDMOBACKUPSINK
  2468. #define ISQLDMOBackupSink IWSQLDMOBackupSink
  2469. #define IID_ISQLDMOBackupSink IID_IWSQLDMOBackupSink
  2470.  
  2471. #undef LPSQLDMOBULKCOPYSINK
  2472. #undef ISQLDMOBulkCopySink
  2473. #undef IID_ISQLDMOBulkCopySink
  2474. interface IWSQLDMOBulkCopySink;                                         TYPEDEFINTERFACE IWSQLDMOBulkCopySink *                         LPWSQLDMOBULKCOPYSINK;
  2475. #define LPSQLDMOBULKCOPYSINK LPWSQLDMOBULKCOPYSINK
  2476. #define ISQLDMOBulkCopySink IWSQLDMOBulkCopySink
  2477. #define IID_ISQLDMOBulkCopySink IID_IWSQLDMOBulkCopySink
  2478.  
  2479. // 7.0 new sink objects
  2480. #undef LPSQLDMORESTORESINK
  2481. #undef ISQLDMORestoreSink
  2482. #undef IID_ISQLDMORestoreSink
  2483. interface IWSQLDMORestoreSink;                                           TYPEDEFINTERFACE IWSQLDMORestoreSink *                           LPWSQLDMORESTORESINK;
  2484. #define LPSQLDMORESTORESINK LPWSQLDMORESTORESINK
  2485. #define ISQLDMORestoreSink IWSQLDMORestoreSink
  2486. #define IID_ISQLDMORestoreSink IID_IWSQLDMORestoreSink
  2487.  
  2488. // Auto-documenting names for these... They return an LPSQLDMOOBJECTLIST
  2489. // of the specified <objecttype>LIST objects.. e.g. LPSQLDMOCOLUMNLIST
  2490. // returns a list of LPSQLDMOCOLUMN objects.
  2491. #undef LPSQLDMODBOBJECTLIST
  2492. #define LPSQLDMODBOBJECTLIST LPSQLDMOOBJECTLIST
  2493. #define LPWSQLDMODBOBJECTLIST LPWSQLDMOOBJECTLIST
  2494. #define LPASQLDMODBOBJECTLIST LPASQLDMOOBJECTLIST
  2495. #undef LPSQLDMOPERMISSIONLIST
  2496. #define LPSQLDMOPERMISSIONLIST LPSQLDMOOBJECTLIST
  2497. #define LPWSQLDMOPERMISSIONLIST LPWSQLDMOOBJECTLIST
  2498. #define LPASQLDMOPERMISSIONLIST LPASQLDMOOBJECTLIST
  2499. #undef LPSQLDMOCONFIGVALUELIST
  2500. #define LPSQLDMOCONFIGVALUELIST LPSQLDMOOBJECTLIST
  2501. #define LPWSQLDMOCONFIGVALUELIST LPWSQLDMOOBJECTLIST
  2502. #define LPASQLDMOCONFIGVALUELIST LPASQLDMOOBJECTLIST
  2503. #undef LPSQLDMOBACKUPDEVICELIST
  2504. #define LPSQLDMOBACKUPDEVICELIST LPSQLDMOOBJECTLIST
  2505. #define LPWSQLDMOBACKUPDEVICELIST LPWSQLDMOOBJECTLIST
  2506. #define LPASQLDMOBACKUPDEVICELIST LPASQLDMOOBJECTLIST
  2507. #undef LPSQLDMOCOLUMNLIST
  2508. #define LPSQLDMOCOLUMNLIST LPSQLDMOOBJECTLIST
  2509. #define LPWSQLDMOCOLUMNLIST LPWSQLDMOOBJECTLIST
  2510. #define LPASQLDMOCOLUMNLIST LPASQLDMOOBJECTLIST
  2511. #undef LPSQLDMOUSERDEFINEDDATATYPELIST
  2512. #define LPSQLDMOUSERDEFINEDDATATYPELIST LPSQLDMOOBJECTLIST
  2513. #define LPWSQLDMOUSERDEFINEDDATATYPELIST LPWSQLDMOOBJECTLIST
  2514. #define LPASQLDMOUSERDEFINEDDATATYPELIST LPASQLDMOOBJECTLIST
  2515. #undef LPSQLDMOSTOREDPROCEDURELIST
  2516. #define LPSQLDMOSTOREDPROCEDURELIST LPSQLDMOOBJECTLIST
  2517. #define LPWSQLDMOSTOREDPROCEDURELIST LPWSQLDMOOBJECTLIST
  2518. #define LPASQLDMOSTOREDPROCEDURELIST LPASQLDMOOBJECTLIST
  2519. #undef LPSQLDMOLOGINLIST
  2520. #define LPSQLDMOLOGINLIST LPSQLDMOOBJECTLIST
  2521. #define LPWSQLDMOLOGINLIST LPWSQLDMOOBJECTLIST
  2522. #define LPASQLDMOLOGINLIST LPASQLDMOOBJECTLIST
  2523. #undef LPSQLDMOUSERLIST
  2524. #define LPSQLDMOUSERLIST LPSQLDMOOBJECTLIST
  2525. #define LPWSQLDMOUSERLIST LPWSQLDMOOBJECTLIST
  2526. #define LPASQLDMOUSERLIST LPASQLDMOOBJECTLIST
  2527. #undef LPSQLDMODATABASELIST
  2528. #define LPSQLDMODATABASELIST LPSQLDMOOBJECTLIST
  2529. #define LPWSQLDMODATABASELIST LPWSQLDMOOBJECTLIST
  2530. #define LPASQLDMODATABASELIST LPASQLDMOOBJECTLIST
  2531. #undef LPSQLDMOKEYLIST
  2532. #define LPSQLDMOKEYLIST LPSQLDMOOBJECTLIST
  2533. #define LPWSQLDMOKEYLIST LPWSQLDMOOBJECTLIST
  2534. #define LPASQLDMOKEYLIST LPASQLDMOOBJECTLIST
  2535.  
  2536.  
  2537.  
  2538.  
  2539.  
  2540.  
  2541. #undef LPSQLDMOTRANSPUBLICATIONS
  2542. #undef ISQLDMOTransPublications
  2543. #undef IID_ISQLDMOTransPublications
  2544. interface IWSQLDMOTransPublications;            TYPEDEFINTERFACE IWSQLDMOTransPublications *                    LPWSQLDMOTRANSPUBLICATIONS;
  2545. #define LPSQLDMOTRANSPUBLICATIONS LPWSQLDMOTRANSPUBLICATIONS
  2546. #define ISQLDMOTransPublications IWSQLDMOTransPublications
  2547. #define IID_ISQLDMOTransPublications IID_IWSQLDMOTransPublications
  2548.  
  2549. #undef LPSQLDMOTRANSPUBLICATION
  2550. #undef ISQLDMOTransPublication
  2551. #undef IID_ISQLDMOTransPublication
  2552. interface IWSQLDMOTransPublication;                TYPEDEFINTERFACE IWSQLDMOTransPublication *                    LPWSQLDMOTRANSPUBLICATION;
  2553. #define LPSQLDMOTRANSPUBLICATION LPWSQLDMOTRANSPUBLICATION
  2554. #define ISQLDMOTransPublication IWSQLDMOTransPublication
  2555. #define IID_ISQLDMOTransPublication IID_IWSQLDMOTransPublication
  2556.  
  2557. #undef LPSQLDMOTRANSARTICLES
  2558. #undef ISQLDMOTransArticles
  2559. #undef IID_ISQLDMOTransArticles
  2560. interface IWSQLDMOTransArticles;            TYPEDEFINTERFACE IWSQLDMOTransArticles *                    LPWSQLDMOTRANSARTICLES;
  2561. #define LPSQLDMOTRANSARTICLES LPWSQLDMOTRANSARTICLES
  2562. #define ISQLDMOTransArticles IWSQLDMOTransArticles
  2563. #define IID_ISQLDMOTransArticles IID_IWSQLDMOTransArticles
  2564.  
  2565. #undef LPSQLDMOTRANSARTICLE
  2566. #undef ISQLDMOTransArticle
  2567. #undef IID_ISQLDMOTransArticle
  2568. interface IWSQLDMOTransArticle;                TYPEDEFINTERFACE IWSQLDMOTransArticle *                    LPWSQLDMOTRANSARTICLE;
  2569. #define LPSQLDMOTRANSARTICLE LPWSQLDMOTRANSARTICLE
  2570. #define ISQLDMOTransArticle IWSQLDMOTransArticle
  2571. #define IID_ISQLDMOTransArticle IID_IWSQLDMOTransArticle
  2572.  
  2573. #undef LPSQLDMOTRANSSUBSCRIPTIONS
  2574. #undef ISQLDMOTransSubscriptions
  2575. #undef IID_ISQLDMOTransSubscriptions
  2576. interface IWSQLDMOTransSubscriptions;            TYPEDEFINTERFACE IWSQLDMOTransSubscriptions *                    LPWSQLDMOTRANSSUBSCRIPTIONS;
  2577. #define LPSQLDMOTRANSSUBSCRIPTIONS LPWSQLDMOTRANSSUBSCRIPTIONS
  2578. #define ISQLDMOTransSubscriptions IWSQLDMOTransSubscriptions
  2579. #define IID_ISQLDMOTransSubscriptions IID_IWSQLDMOTransSubscriptions
  2580.  
  2581. #undef LPSQLDMOTRANSSUBSCRIPTION
  2582. #undef ISQLDMOTransSubscription
  2583. #undef IID_ISQLDMOTransSubscription
  2584. interface IWSQLDMOTransSubscription;                TYPEDEFINTERFACE IWSQLDMOTransSubscription *                    LPWSQLDMOTRANSSUBSCRIPTION;
  2585. #define LPSQLDMOTRANSSUBSCRIPTION LPWSQLDMOTRANSSUBSCRIPTION
  2586. #define ISQLDMOTransSubscription IWSQLDMOTransSubscription
  2587. #define IID_ISQLDMOTransSubscription IID_IWSQLDMOTransSubscription
  2588.  
  2589. #undef LPSQLDMOTRANSPULLSUBSCRIPTIONS
  2590. #undef ISQLDMOTransPullSubscriptions
  2591. #undef IID_ISQLDMOTransPullSubscriptions
  2592. interface IWSQLDMOTransPullSubscriptions;            TYPEDEFINTERFACE IWSQLDMOTransPullSubscriptions *                    LPWSQLDMOTRANSPULLSUBSCRIPTIONS;
  2593. #define LPSQLDMOTRANSPULLSUBSCRIPTIONS LPWSQLDMOTRANSPULLSUBSCRIPTIONS
  2594. #define ISQLDMOTransPullSubscriptions IWSQLDMOTransPullSubscriptions
  2595. #define IID_ISQLDMOTransPullSubscriptions IID_IWSQLDMOTransPullSubscriptions
  2596.  
  2597. #undef LPSQLDMOTRANSPULLSUBSCRIPTION
  2598. #undef ISQLDMOTransPullSubscription
  2599. #undef IID_ISQLDMOTransPullSubscription
  2600. interface IWSQLDMOTransPullSubscription;                TYPEDEFINTERFACE IWSQLDMOTransPullSubscription *                    LPWSQLDMOTRANSPULLSUBSCRIPTION;
  2601. #define LPSQLDMOTRANSPULLSUBSCRIPTION LPWSQLDMOTRANSPULLSUBSCRIPTION
  2602. #define ISQLDMOTransPullSubscription IWSQLDMOTransPullSubscription
  2603. #define IID_ISQLDMOTransPullSubscription IID_IWSQLDMOTransPullSubscription
  2604.  
  2605. #undef LPSQLDMOMERGEPUBLICATIONS
  2606. #undef ISQLDMOMergePublications
  2607. #undef IID_ISQLDMOMergePublications
  2608. interface IWSQLDMOMergePublications;            TYPEDEFINTERFACE IWSQLDMOMergePublications *                    LPWSQLDMOMERGEPUBLICATIONS;
  2609. #define LPSQLDMOMERGEPUBLICATIONS LPWSQLDMOMERGEPUBLICATIONS
  2610. #define ISQLDMOMergePublications IWSQLDMOMergePublications
  2611. #define IID_ISQLDMOMergePublications IID_IWSQLDMOMergePublications
  2612.  
  2613. #undef LPSQLDMOMERGEPUBLICATION
  2614. #undef ISQLDMOMergePublication
  2615. #undef IID_ISQLDMOMergePublication
  2616. interface IWSQLDMOMergePublication;                TYPEDEFINTERFACE IWSQLDMOMergePublication *                    LPWSQLDMOMERGEPUBLICATION;
  2617. #define LPSQLDMOMERGEPUBLICATION LPWSQLDMOMERGEPUBLICATION
  2618. #define ISQLDMOMergePublication IWSQLDMOMergePublication
  2619. #define IID_ISQLDMOMergePublication IID_IWSQLDMOMergePublication
  2620.  
  2621. #undef LPSQLDMOMERGEARTICLES
  2622. #undef ISQLDMOMergeArticles
  2623. #undef IID_ISQLDMOMergeArticles
  2624. interface IWSQLDMOMergeArticles;            TYPEDEFINTERFACE IWSQLDMOMergeArticles *                    LPWSQLDMOMERGEARTICLES;
  2625. #define LPSQLDMOMERGEARTICLES LPWSQLDMOMERGEARTICLES
  2626. #define ISQLDMOMergeArticles IWSQLDMOMergeArticles
  2627. #define IID_ISQLDMOMergeArticles IID_IWSQLDMOMergeArticles
  2628.  
  2629. #undef LPSQLDMOMERGEARTICLE
  2630. #undef ISQLDMOMergeArticle
  2631. #undef IID_ISQLDMOMergeArticle
  2632. interface IWSQLDMOMergeArticle;                TYPEDEFINTERFACE IWSQLDMOMergeArticle *                    LPWSQLDMOMERGEARTICLE;
  2633. #define LPSQLDMOMERGEARTICLE LPWSQLDMOMERGEARTICLE
  2634. #define ISQLDMOMergeArticle IWSQLDMOMergeArticle
  2635. #define IID_ISQLDMOMergeArticle IID_IWSQLDMOMergeArticle
  2636.  
  2637. #undef LPSQLDMOMERGESUBSCRIPTIONS
  2638. #undef ISQLDMOMergeSubscriptions
  2639. #undef IID_ISQLDMOMergeSubscriptions
  2640. interface IWSQLDMOMergeSubscriptions;            TYPEDEFINTERFACE IWSQLDMOMergeSubscriptions *                    LPWSQLDMOMERGESUBSCRIPTIONS;
  2641. #define LPSQLDMOMERGESUBSCRIPTIONS LPWSQLDMOMERGESUBSCRIPTIONS
  2642. #define ISQLDMOMergeSubscriptions IWSQLDMOMergeSubscriptions
  2643. #define IID_ISQLDMOMergeSubscriptions IID_IWSQLDMOMergeSubscriptions
  2644.  
  2645. #undef LPSQLDMOMERGESUBSCRIPTION
  2646. #undef ISQLDMOMergeSubscription
  2647. #undef IID_ISQLDMOMergeSubscription
  2648. interface IWSQLDMOMergeSubscription;                TYPEDEFINTERFACE IWSQLDMOMergeSubscription *                    LPWSQLDMOMERGESUBSCRIPTION;
  2649. #define LPSQLDMOMERGESUBSCRIPTION LPWSQLDMOMERGESUBSCRIPTION
  2650. #define ISQLDMOMergeSubscription IWSQLDMOMergeSubscription
  2651. #define IID_ISQLDMOMergeSubscription IID_IWSQLDMOMergeSubscription
  2652.  
  2653. #undef LPSQLDMOMERGEPULLSUBSCRIPTIONS
  2654. #undef ISQLDMOMergePullSubscriptions
  2655. #undef IID_ISQLDMOMergePullSubscriptions
  2656. interface IWSQLDMOMergePullSubscriptions;            TYPEDEFINTERFACE IWSQLDMOMergePullSubscriptions *                    LPWSQLDMOMERGEPULLSUBSCRIPTIONS;
  2657. #define LPSQLDMOMERGEPULLSUBSCRIPTIONS LPWSQLDMOMERGEPULLSUBSCRIPTIONS
  2658. #define ISQLDMOMergePullSubscriptions IWSQLDMOMergePullSubscriptions
  2659. #define IID_ISQLDMOMergePullSubscriptions IID_IWSQLDMOMergePullSubscriptions
  2660.  
  2661. #undef LPSQLDMOMERGEPULLSUBSCRIPTION
  2662. #undef ISQLDMOMergePullSubscription
  2663. #undef IID_ISQLDMOMergePullSubscription
  2664. interface IWSQLDMOMergePullSubscription;                TYPEDEFINTERFACE IWSQLDMOMergePullSubscription *                    LPWSQLDMOMERGEPULLSUBSCRIPTION;
  2665. #define LPSQLDMOMERGEPULLSUBSCRIPTION LPWSQLDMOMERGEPULLSUBSCRIPTION
  2666. #define ISQLDMOMergePullSubscription IWSQLDMOMergePullSubscription
  2667. #define IID_ISQLDMOMergePullSubscription IID_IWSQLDMOMergePullSubscription
  2668.  
  2669. #undef LPSQLDMOMERGESUBSETFILTERS
  2670. #undef ISQLDMOMergeSubsetFilters
  2671. #undef IID_ISQLDMOMergeSubsetFilters
  2672. interface IWSQLDMOMergeSubsetFilters;            TYPEDEFINTERFACE IWSQLDMOMergeSubsetFilters *                    LPWSQLDMOMERGESUBSETFILTERS;
  2673. #define LPSQLDMOMERGESUBSETFILTERS LPWSQLDMOMERGESUBSETFILTERS
  2674. #define ISQLDMOMergeSubsetFilters IWSQLDMOMergeSubsetFilters
  2675. #define IID_ISQLDMOMergeSubsetFilters IID_IWSQLDMOMergeSubsetFilters
  2676.  
  2677. #undef LPSQLDMOMERGESUBSETFILTER
  2678. #undef ISQLDMOMergeSubsetFilter
  2679. #undef IID_ISQLDMOMergeSubsetFilter
  2680. interface IWSQLDMOMergeSubsetFilter;                TYPEDEFINTERFACE IWSQLDMOMergeSubsetFilter *                    LPWSQLDMOMERGESUBSETFILTER;
  2681. #define LPSQLDMOMERGESUBSETFILTER LPWSQLDMOMERGESUBSETFILTER
  2682. #define ISQLDMOMergeSubsetFilter IWSQLDMOMergeSubsetFilter
  2683. #define IID_ISQLDMOMergeSubsetFilter IID_IWSQLDMOMergeSubsetFilter
  2684.  
  2685. #undef LPSQLDMOREPLICATION
  2686. #undef ISQLDMOReplication
  2687. #undef IID_ISQLDMOReplication
  2688. interface IWSQLDMOReplication;                TYPEDEFINTERFACE IWSQLDMOReplication *                    LPWSQLDMOREPLICATION;
  2689. #define LPSQLDMOREPLICATION LPWSQLDMOREPLICATION
  2690. #define ISQLDMOReplication IWSQLDMOReplication
  2691. #define IID_ISQLDMOReplication IID_IWSQLDMOReplication
  2692.  
  2693. #undef LPSQLDMOPUBLISHER
  2694. #undef ISQLDMOPublisher
  2695. #undef IID_ISQLDMOPublisher
  2696. interface IWSQLDMOPublisher;                TYPEDEFINTERFACE IWSQLDMOPublisher *                    LPWSQLDMOPUBLISHER;
  2697. #define LPSQLDMOPUBLISHER LPWSQLDMOPUBLISHER
  2698. #define ISQLDMOPublisher IWSQLDMOPublisher
  2699. #define IID_ISQLDMOPublisher IID_IWSQLDMOPublisher
  2700.  
  2701. #undef LPSQLDMOSUBSCRIBER
  2702. #undef ISQLDMOSubscriber
  2703. #undef IID_ISQLDMOSubscriber
  2704. interface IWSQLDMOSubscriber;                TYPEDEFINTERFACE IWSQLDMOSubscriber *                    LPWSQLDMOSUBSCRIBER;
  2705. #define LPSQLDMOSUBSCRIBER LPWSQLDMOSUBSCRIBER
  2706. #define ISQLDMOSubscriber IWSQLDMOSubscriber
  2707. #define IID_ISQLDMOSubscriber IID_IWSQLDMOSubscriber
  2708.  
  2709. #undef LPSQLDMODISTRIBUTOR
  2710. #undef ISQLDMODistributor
  2711. #undef IID_ISQLDMODistributor
  2712. interface IWSQLDMODistributor;                TYPEDEFINTERFACE IWSQLDMODistributor *                    LPWSQLDMODISTRIBUTOR;
  2713. #define LPSQLDMODISTRIBUTOR LPWSQLDMODISTRIBUTOR
  2714. #define ISQLDMODistributor IWSQLDMODistributor
  2715. #define IID_ISQLDMODistributor IID_IWSQLDMODistributor
  2716.  
  2717. #undef LPSQLDMOREPLICATIONSECURITY
  2718. #undef ISQLDMOReplicationSecurity
  2719. #undef IID_ISQLDMOReplicationSecurity
  2720. interface IWSQLDMOReplicationSecurity;                TYPEDEFINTERFACE IWSQLDMOReplicationSecurity *                    LPWSQLDMOREPLICATIONSECURITY;
  2721. #define LPSQLDMOREPLICATIONSECURITY LPWSQLDMOREPLICATIONSECURITY
  2722. #define ISQLDMOReplicationSecurity IWSQLDMOReplicationSecurity
  2723. #define IID_ISQLDMOReplicationSecurity IID_IWSQLDMOReplicationSecurity
  2724.  
  2725. #undef LPSQLDMOREGISTEREDSUBSCRIBER
  2726. #undef ISQLDMORegisteredSubscriber
  2727. #undef IID_ISQLDMORegisteredSubscriber
  2728. interface IWSQLDMORegisteredSubscriber;                TYPEDEFINTERFACE IWSQLDMORegisteredSubscriber *                    LPWSQLDMOREGISTEREDSUBSCRIBER;
  2729. #define LPSQLDMOREGISTEREDSUBSCRIBER LPWSQLDMOREGISTEREDSUBSCRIBER
  2730. #define ISQLDMORegisteredSubscriber IWSQLDMORegisteredSubscriber
  2731. #define IID_ISQLDMORegisteredSubscriber IID_IWSQLDMORegisteredSubscriber
  2732.  
  2733. #undef LPSQLDMOREGISTEREDSUBSCRIBERS
  2734. #undef ISQLDMORegisteredSubscribers
  2735. #undef IID_ISQLDMORegisteredSubscribers
  2736. interface IWSQLDMORegisteredSubscribers;                TYPEDEFINTERFACE IWSQLDMORegisteredSubscribers *                    LPWSQLDMOREGISTEREDSUBSCRIBERS;
  2737. #define LPSQLDMOREGISTEREDSUBSCRIBERS LPWSQLDMOREGISTEREDSUBSCRIBERS
  2738. #define ISQLDMORegisteredSubscribers IWSQLDMORegisteredSubscribers
  2739. #define IID_ISQLDMORegisteredSubscribers IID_IWSQLDMORegisteredSubscribers
  2740.  
  2741. #undef LPSQLDMOREPLICATIONDATABASE
  2742. #undef ISQLDMOReplicationDatabase
  2743. #undef IID_ISQLDMOReplicationDatabase
  2744. interface IWSQLDMOReplicationDatabase;            TYPEDEFINTERFACE IWSQLDMOReplicationDatabase *                LPWSQLDMOREPLICATIONDATABASE;
  2745. #define LPSQLDMOREPLICATIONDATABASE LPWSQLDMOREPLICATIONDATABASE
  2746. #define ISQLDMOReplicationDatabase IWSQLDMOReplicationDatabase
  2747. #define IID_ISQLDMOReplicationDatabase IID_IWSQLDMOReplicationDatabase
  2748.  
  2749. #undef LPSQLDMOREPLICATIONDATABASES
  2750. #undef ISQLDMOReplicationDatabases
  2751. #undef IID_ISQLDMOReplicationDatabases
  2752. interface IWSQLDMOReplicationDatabases;            TYPEDEFINTERFACE IWSQLDMOReplicationDatabases *                LPWSQLDMOREPLICATIONDATABASES;
  2753. #define LPSQLDMOREPLICATIONDATABASES LPWSQLDMOREPLICATIONDATABASES
  2754. #define ISQLDMOReplicationDatabases IWSQLDMOReplicationDatabases
  2755. #define IID_ISQLDMOReplicationDatabases IID_IWSQLDMOReplicationDatabases
  2756.  
  2757. #undef LPSQLDMODISTRIBUTIONPUBLISHER
  2758. #undef ISQLDMODistributionPublisher
  2759. #undef IID_ISQLDMODistributionPublisher
  2760. interface IWSQLDMODistributionPublisher;                TYPEDEFINTERFACE IWSQLDMODistributionPublisher *                    LPWSQLDMODISTRIBUTIONPUBLISHER;
  2761. #define LPSQLDMODISTRIBUTIONPUBLISHER LPWSQLDMODISTRIBUTIONPUBLISHER
  2762. #define ISQLDMODistributionPublisher IWSQLDMODistributionPublisher
  2763. #define IID_ISQLDMODistributionPublisher IID_IWSQLDMODistributionPublisher
  2764.  
  2765. #undef LPSQLDMODISTRIBUTIONPUBLISHERS
  2766. #undef ISQLDMODistributionPublishers
  2767. #undef IID_ISQLDMODistributionPublishers
  2768. interface IWSQLDMODistributionPublishers;                TYPEDEFINTERFACE IWSQLDMODistributionPublishers *                    LPWSQLDMODISTRIBUTIONPUBLISHERS;
  2769. #define LPSQLDMODISTRIBUTIONPUBLISHERS LPWSQLDMODISTRIBUTIONPUBLISHERS
  2770. #define ISQLDMODistributionPublishers IWSQLDMODistributionPublishers
  2771. #define IID_ISQLDMODistributionPublishers IID_IWSQLDMODistributionPublishers
  2772.  
  2773. #undef LPSQLDMODISTRIBUTIONDATABASE
  2774. #undef ISQLDMODistributionDatabase
  2775. #undef IID_ISQLDMODistributionDatabase
  2776. interface IWSQLDMODistributionDatabase;                TYPEDEFINTERFACE IWSQLDMODistributionDatabase *                    LPWSQLDMODISTRIBUTIONDATABASE;
  2777. #define LPSQLDMODISTRIBUTIONDATABASE LPWSQLDMODISTRIBUTIONDATABASE
  2778. #define ISQLDMODistributionDatabase IWSQLDMODistributionDatabase
  2779. #define IID_ISQLDMODistributionDatabase IID_IWSQLDMODistributionDatabase
  2780.  
  2781. #undef LPSQLDMODISTRIBUTIONDATABASES
  2782. #undef ISQLDMODistributionDatabases
  2783. #undef IID_ISQLDMODistributionDatabases
  2784. interface IWSQLDMODistributionDatabases;                TYPEDEFINTERFACE IWSQLDMODistributionDatabases *                    LPWSQLDMODISTRIBUTIONDATABASES;
  2785. #define LPSQLDMODISTRIBUTIONDATABASES LPWSQLDMODISTRIBUTIONDATABASES
  2786. #define ISQLDMODistributionDatabases IWSQLDMODistributionDatabases
  2787. #define IID_ISQLDMODistributionDatabases IID_IWSQLDMODistributionDatabases
  2788.  
  2789.  
  2790. #undef LPSQLDMOREPLICATIONTABLE
  2791. #undef ISQLDMOReplicationTable
  2792. #undef IID_ISQLDMOReplicationTable
  2793. interface IWSQLDMOReplicationTable;            TYPEDEFINTERFACE IWSQLDMOReplicationTable *                LPWSQLDMOREPLICATIONTABLE;
  2794. #define LPSQLDMOREPLICATIONTABLE LPWSQLDMOREPLICATIONTABLE
  2795. #define ISQLDMOReplicationTable IWSQLDMOReplicationTable
  2796. #define IID_ISQLDMOReplicationTable IID_IWSQLDMOReplicationTable
  2797.  
  2798. #undef LPSQLDMOREPLICATIONTABLES
  2799. #undef ISQLDMOReplicationTables
  2800. #undef IID_ISQLDMOReplicationTables
  2801. interface IWSQLDMOReplicationTables;            TYPEDEFINTERFACE IWSQLDMOReplicationTables *                LPWSQLDMOREPLICATIONTABLES;
  2802. #define LPSQLDMOREPLICATIONTABLES LPWSQLDMOREPLICATIONTABLES
  2803. #define ISQLDMOReplicationTables IWSQLDMOReplicationTables
  2804. #define IID_ISQLDMOReplicationTables IID_IWSQLDMOReplicationTables
  2805.  
  2806. #undef LPSQLDMOREPLICATIONSTOREDPROCEDURE
  2807. #undef ISQLDMOReplicationStoredProcedure
  2808. #undef IID_ISQLDMOReplicationStoredProcedure
  2809. interface IWSQLDMOReplicationStoredProcedure;            TYPEDEFINTERFACE IWSQLDMOReplicationStoredProcedure *                LPWSQLDMOREPLICATIONSTOREDPROCEDURE;
  2810. #define LPSQLDMOREPLICATIONSTOREDPROCEDURE LPWSQLDMOREPLICATIONSTOREDPROCEDURE
  2811. #define ISQLDMOReplicationStoredProcedure IWSQLDMOReplicationStoredProcedure
  2812. #define IID_ISQLDMOReplicationStoredProcedure IID_IWSQLDMOReplicationStoredProcedure
  2813.  
  2814. #undef LPSQLDMOREPLICATIONSTOREDPROCEDURES
  2815. #undef ISQLDMOReplicationStoredProcedures
  2816. #undef IID_ISQLDMOReplicationStoredProcedures
  2817. interface IWSQLDMOReplicationStoredProcedures;            TYPEDEFINTERFACE IWSQLDMOReplicationStoredProcedures *                LPWSQLDMOREPLICATIONSTOREDPROCEDURES;
  2818. #define LPSQLDMOREPLICATIONSTOREDPROCEDURES LPWSQLDMOREPLICATIONSTOREDPROCEDURES
  2819. #define ISQLDMOReplicationStoredProcedures IWSQLDMOReplicationStoredProcedures
  2820. #define IID_ISQLDMOReplicationStoredProcedures IID_IWSQLDMOReplicationStoredProcedures
  2821.  
  2822. #undef LPSQLDMODISTRIBUTIONPUBLICATIONS
  2823. #undef ISQLDMODistributionPublications
  2824. #undef IID_ISQLDMODistributionPublications
  2825. interface IWSQLDMODistributionPublications;            TYPEDEFINTERFACE IWSQLDMODistributionPublications *                    LPWSQLDMODISTRIBUTIONPUBLICATIONS;
  2826. #define LPSQLDMODISTRIBUTIONPUBLICATIONS LPWSQLDMODISTRIBUTIONPUBLICATIONS
  2827. #define ISQLDMODistributionPublications IWSQLDMODistributionPublications
  2828. #define IID_ISQLDMODistributionPublications IID_IWSQLDMODistributionPublications
  2829.  
  2830. #undef LPSQLDMODISTRIBUTIONPUBLICATION
  2831. #undef ISQLDMODistributionPublication
  2832. #undef IID_ISQLDMODistributionPublication
  2833. interface IWSQLDMODistributionPublication;                TYPEDEFINTERFACE IWSQLDMODistributionPublication *                    LPWSQLDMODISTRIBUTIONPUBLICATION;
  2834. #define LPSQLDMODISTRIBUTIONPUBLICATION LPWSQLDMODISTRIBUTIONPUBLICATION
  2835. #define ISQLDMODistributionPublication IWSQLDMODistributionPublication
  2836. #define IID_ISQLDMODistributionPublication IID_IWSQLDMODistributionPublication
  2837.  
  2838. #undef LPSQLDMODISTRIBUTIONARTICLES
  2839. #undef ISQLDMODistributionArticles
  2840. #undef IID_ISQLDMODistributionArticles
  2841. interface IWSQLDMODistributionArticles;            TYPEDEFINTERFACE IWSQLDMODistributionArticles *                    LPWSQLDMODISTRIBUTIONARTICLES;
  2842. #define LPSQLDMODISTRIBUTIONARTICLES LPWSQLDMODISTRIBUTIONARTICLES
  2843. #define ISQLDMODistributionArticles IWSQLDMODistributionArticles
  2844. #define IID_ISQLDMODistributionArticles IID_IWSQLDMODistributionArticles
  2845.  
  2846. #undef LPSQLDMODISTRIBUTIONARTICLE
  2847. #undef ISQLDMODistributionArticle
  2848. #undef IID_ISQLDMODistributionArticle
  2849. interface IWSQLDMODistributionArticle;                TYPEDEFINTERFACE IWSQLDMODistributionArticle *                    LPWSQLDMODISTRIBUTIONARTICLE;
  2850. #define LPSQLDMODISTRIBUTIONARTICLE LPWSQLDMODISTRIBUTIONARTICLE
  2851. #define ISQLDMODistributionArticle IWSQLDMODistributionArticle
  2852. #define IID_ISQLDMODistributionArticle IID_IWSQLDMODistributionArticle
  2853.  
  2854. #undef LPSQLDMODISTRIBUTIONSUBSCRIPTIONS
  2855. #undef ISQLDMODistributionSubscriptions
  2856. #undef IID_ISQLDMODistributionSubscriptions
  2857. interface IWSQLDMODistributionSubscriptions;            TYPEDEFINTERFACE IWSQLDMODistributionSubscriptions *                    LPWSQLDMODISTRIBUTIONSUBSCRIPTIONS;
  2858. #define LPSQLDMODISTRIBUTIONSUBSCRIPTIONS LPWSQLDMODISTRIBUTIONSUBSCRIPTIONS
  2859. #define ISQLDMODistributionSubscriptions IWSQLDMODistributionSubscriptions
  2860. #define IID_ISQLDMODistributionSubscriptions IID_IWSQLDMODistributionSubscriptions
  2861.  
  2862. #undef LPSQLDMODISTRIBUTIONSUBSCRIPTION
  2863. #undef ISQLDMODistributionSubscription
  2864. #undef IID_ISQLDMODistributionSubscription
  2865. interface IWSQLDMODistributionSubscription;                TYPEDEFINTERFACE IWSQLDMODistributionSubscription *                    LPWSQLDMODISTRIBUTIONSUBSCRIPTION;
  2866. #define LPSQLDMODISTRIBUTIONSUBSCRIPTION LPWSQLDMODISTRIBUTIONSUBSCRIPTION
  2867. #define ISQLDMODistributionSubscription IWSQLDMODistributionSubscription
  2868. #define IID_ISQLDMODistributionSubscription IID_IWSQLDMODistributionSubscription
  2869.  
  2870. ////////////////////////////////////////////////////////////////////////////////////////
  2871. // Event Sink Interfaces
  2872. ////////////////////////////////////////////////////////////////////////////////////////
  2873. #undef LPSQLDMOREPLICATIONSINK
  2874. #undef ISQLDMOReplicationSink
  2875. #undef IID_ISQLDMOReplicationSink
  2876. interface IWSQLDMOReplicationSink;                                         TYPEDEFINTERFACE IWSQLDMOReplicationSink *                         LPWSQLDMOREPLICATIONSINK;
  2877. #define LPSQLDMOREPLICATIONSINK LPWSQLDMOREPLICATIONSINK
  2878. #define ISQLDMOReplicationSink IWSQLDMOReplicationSink
  2879. #define IID_ISQLDMOReplicationSink IID_IWSQLDMOReplicationSink
  2880.  
  2881.  
  2882.  
  2883.  
  2884.  
  2885.  
  2886.  
  2887.  
  2888.  
  2889.  
  2890.  
  2891. #undef LPSQLDMOALERTS
  2892. #undef ISQLDMOAlerts
  2893. #undef IID_ISQLDMOAlerts
  2894. interface IWSQLDMOAlerts;                   TYPEDEFINTERFACE IWSQLDMOAlerts *             LPWSQLDMOALERTS;
  2895. #define LPSQLDMOALERTS    LPWSQLDMOALERTS
  2896. #define ISQLDMOAlerts     IWSQLDMOAlerts
  2897. #define IID_ISQLDMOAlerts IID_IWSQLDMOAlerts
  2898.  
  2899. #undef LPSQLDMOALERT
  2900. #undef ISQLDMOAlert
  2901. #undef IID_ISQLDMOAlert
  2902. interface IWSQLDMOAlert;                    TYPEDEFINTERFACE IWSQLDMOAlert *              LPWSQLDMOALERT;
  2903. #define LPSQLDMOALERT    LPWSQLDMOALERT
  2904. #define ISQLDMOAlert     IWSQLDMOAlert
  2905. #define IID_ISQLDMOAlert IID_IWSQLDMOAlert
  2906.  
  2907. #undef LPSQLDMOOPERATORS
  2908. #undef ISQLDMOOperators
  2909. #undef IID_ISQLDMOOperators
  2910. interface IWSQLDMOOperators;                TYPEDEFINTERFACE IWSQLDMOOperators *          LPWSQLDMOOPERATORS;
  2911. #define LPSQLDMOOPERATORS    LPWSQLDMOOPERATORS
  2912. #define ISQLDMOOperators     IWSQLDMOOperators
  2913. #define IID_ISQLDMOOperators IID_IWSQLDMOOperators
  2914.  
  2915. #undef LPSQLDMOOPERATOR
  2916. #undef ISQLDMOOperator
  2917. #undef IID_ISQLDMOOperator
  2918. interface IWSQLDMOOperator;                 TYPEDEFINTERFACE IWSQLDMOOperator *           LPWSQLDMOOPERATOR;
  2919. #define LPSQLDMOOPERATOR    LPWSQLDMOOPERATOR
  2920. #define ISQLDMOOperator     IWSQLDMOOperator
  2921. #define IID_ISQLDMOOperator IID_IWSQLDMOOperator
  2922.  
  2923. #undef LPSQLDMOJOBHISTORYFILTER
  2924. #undef ISQLDMOJobHistoryFilter
  2925. #undef IID_ISQLDMOJobHistoryFilter
  2926. interface IWSQLDMOJobHistoryFilter;         TYPEDEFINTERFACE IWSQLDMOJobHistoryFilter *   LPWSQLDMOJOBHISTORYFILTER;
  2927. #define LPSQLDMOJOBHISTORYFILTER    LPWSQLDMOJOBHISTORYFILTER
  2928. #define ISQLDMOJobHistoryFilter     IWSQLDMOJobHistoryFilter
  2929. #define IID_ISQLDMOJobHistoryFilter IID_IWSQLDMOJobHistoryFilter
  2930.  
  2931. #undef LPSQLDMOJOBSERVER
  2932. #undef ISQLDMOJobServer
  2933. #undef IID_ISQLDMOJobServer
  2934. interface IWSQLDMOJobServer;                TYPEDEFINTERFACE IWSQLDMOJobServer *          LPWSQLDMOJOBSERVER;
  2935. #define LPSQLDMOJOBSERVER    LPWSQLDMOJOBSERVER
  2936. #define ISQLDMOJobServer     IWSQLDMOJobServer
  2937. #define IID_ISQLDMOJobServer IID_IWSQLDMOJobServer
  2938.  
  2939. #undef LPSQLDMOALERTSYSTEM
  2940. #undef ISQLDMOAlertSystem
  2941. #undef IID_ISQLDMOAlertSystem
  2942. interface IWSQLDMOAlertSystem;              TYPEDEFINTERFACE IWSQLDMOAlertSystem *        LPWSQLDMOALERTSYSTEM;
  2943. #define LPSQLDMOALERTSYSTEM    LPWSQLDMOALERTSYSTEM
  2944. #define ISQLDMOAlertSystem     IWSQLDMOAlertSystem
  2945. #define IID_ISQLDMOAlertSystem IID_IWSQLDMOAlertSystem
  2946.  
  2947. #undef LPSQLDMOJOBS
  2948. #undef ISQLDMOJobs
  2949. #undef IID_ISQLDMOJobs
  2950. interface IWSQLDMOJobs;                     TYPEDEFINTERFACE IWSQLDMOJobs *               LPWSQLDMOJOBS;
  2951. #define LPSQLDMOJOBS    LPWSQLDMOJOBS
  2952. #define ISQLDMOJobs     IWSQLDMOJobs
  2953. #define IID_ISQLDMOJobs IID_IWSQLDMOJobs
  2954.  
  2955. #undef LPSQLDMOJOB
  2956. #undef ISQLDMOJob
  2957. #undef IID_ISQLDMOJob
  2958. interface IWSQLDMOJob;                      TYPEDEFINTERFACE IWSQLDMOJob *                LPWSQLDMOJOB;
  2959. #define LPSQLDMOJOB    LPWSQLDMOJOB
  2960. #define ISQLDMOJob     IWSQLDMOJob
  2961. #define IID_ISQLDMOJob IID_IWSQLDMOJob
  2962.  
  2963. #undef LPSQLDMOJOBSTEPS
  2964. #undef ISQLDMOJobSteps
  2965. #undef IID_ISQLDMOJobSteps
  2966. interface IWSQLDMOJobSteps;                 TYPEDEFINTERFACE IWSQLDMOJobSteps *           LPWSQLDMOJOBSTEPS;
  2967. #define LPSQLDMOJOBSTEPS    LPWSQLDMOJOBSTEPS
  2968. #define ISQLDMOJobSteps     IWSQLDMOJobSteps
  2969. #define IID_ISQLDMOJobSteps IID_IWSQLDMOJobSteps
  2970.  
  2971. #undef LPSQLDMOJOBSTEP
  2972. #undef ISQLDMOJobStep
  2973. #undef IID_ISQLDMOJobStep
  2974. interface IWSQLDMOJobStep;                  TYPEDEFINTERFACE IWSQLDMOJobStep *            LPWSQLDMOJOBSTEP;
  2975. #define LPSQLDMOJOBSTEP    LPWSQLDMOJOBSTEP
  2976. #define ISQLDMOJobStep     IWSQLDMOJobStep
  2977. #define IID_ISQLDMOJobStep IID_IWSQLDMOJobStep
  2978.  
  2979. #undef LPSQLDMOTARGETSERVERS
  2980. #undef ISQLDMOTargetServers
  2981. #undef IID_ISQLDMOTargetServers
  2982. interface IWSQLDMOTargetServers;            TYPEDEFINTERFACE IWSQLDMOTargetServers *      LPWSQLDMOTARGETSERVERS;
  2983. #define LPSQLDMOTARGETSERVERS    LPWSQLDMOTARGETSERVERS
  2984. #define ISQLDMOTargetServers     IWSQLDMOTargetServers
  2985. #define IID_ISQLDMOTargetServers IID_IWSQLDMOTargetServers
  2986.  
  2987. #undef LPSQLDMOTARGETSERVER
  2988. #undef ISQLDMOTargetServer
  2989. #undef IID_ISQLDMOTargetServer
  2990. interface IWSQLDMOTargetServer;             TYPEDEFINTERFACE IWSQLDMOTargetServer *       LPWSQLDMOTARGETSERVER;
  2991. #define LPSQLDMOTARGETSERVER    LPWSQLDMOTARGETSERVER
  2992. #define ISQLDMOTargetServer     IWSQLDMOTargetServer
  2993. #define IID_ISQLDMOTargetServer IID_IWSQLDMOTargetServer
  2994.  
  2995. #undef LPSQLDMOTARGETSERVERGROUPS
  2996. #undef ISQLDMOTargetServerGroups
  2997. #undef IID_ISQLDMOTargetServerGroups
  2998. interface IWSQLDMOTargetServerGroups;       TYPEDEFINTERFACE IWSQLDMOTargetServerGroups * LPWSQLDMOTARGETSERVERGROUPS;
  2999. #define LPSQLDMOTARGETSERVERGROUPS    LPWSQLDMOTARGETSERVERGROUPS
  3000. #define ISQLDMOTargetServerGroups     IWSQLDMOTargetServerGroups
  3001. #define IID_ISQLDMOTargetServerGroups IID_IWSQLDMOTargetServerGroups
  3002.  
  3003. #undef LPSQLDMOTARGETSERVERGROUP
  3004. #undef ISQLDMOTargetServerGroup
  3005. #undef IID_ISQLDMOTargetServerGroup
  3006. interface IWSQLDMOTargetServerGroup;        TYPEDEFINTERFACE IWSQLDMOTargetServerGroup *  LPWSQLDMOTARGETSERVERGROUP;
  3007. #define LPSQLDMOTARGETSERVERGROUP    LPWSQLDMOTARGETSERVERGROUP
  3008. #define ISQLDMOTargetServerGroup     IWSQLDMOTargetServerGroup
  3009. #define IID_ISQLDMOTargetServerGroup IID_IWSQLDMOTargetServerGroup
  3010.  
  3011. #undef LPSQLDMOJOBCATEGORIES
  3012. #undef ISQLDMOJobCategories
  3013. #undef IID_ISQLDMOJobCategories
  3014. interface IWSQLDMOJobCategories;            TYPEDEFINTERFACE IWSQLDMOJobCategories *      LPWSQLDMOJOBCATEGORIES;
  3015. #define LPSQLDMOJOBCATEGORIES    LPWSQLDMOJOBCATEGORIES
  3016. #define ISQLDMOJobCategories     IWSQLDMOJobCategories
  3017. #define IID_ISQLDMOJobCategories IID_IWSQLDMOJobCategories
  3018.  
  3019. #undef LPSQLDMOALERTCATEGORIES
  3020. #undef ISQLDMOAlertCategories
  3021. #undef IID_ISQLDMOAlertCategories
  3022. interface IWSQLDMOAlertCategories;            TYPEDEFINTERFACE IWSQLDMOAlertCategories *      LPWSQLDMOALERTCATEGORIES;
  3023. #define LPSQLDMOALERTCATEGORIES    LPWSQLDMOALERTCATEGORIES
  3024. #define ISQLDMOAlertCategories     IWSQLDMOAlertCategories
  3025. #define IID_ISQLDMOAlertCategories IID_IWSQLDMOAlertCategories
  3026.  
  3027. #undef LPSQLDMOOPERATORCATEGORIES
  3028. #undef ISQLDMOOperatorCategories
  3029. #undef IID_ISQLDMOOperatorCategories
  3030. interface IWSQLDMOOperatorCategories;            TYPEDEFINTERFACE IWSQLDMOOperatorCategories *      LPWSQLDMOOPERATORCATEGORIES;
  3031. #define LPSQLDMOOPERATORCATEGORIES    LPWSQLDMOOPERATORCATEGORIES
  3032. #define ISQLDMOOperatorCategories     IWSQLDMOOperatorCategories
  3033. #define IID_ISQLDMOOperatorCategories IID_IWSQLDMOOperatorCategories
  3034.  
  3035. #undef LPSQLDMOCATEGORY
  3036. #undef ISQLDMOCategory
  3037. #undef IID_ISQLDMOCategory
  3038. interface IWSQLDMOCategory;              TYPEDEFINTERFACE IWSQLDMOCategory *        LPWSQLDMOCATEGORY;
  3039. #define LPSQLDMOCATEGORY    LPWSQLDMOCATEGORY
  3040. #define ISQLDMOCategory     IWSQLDMOCategory
  3041. #define IID_ISQLDMOCategory IID_IWSQLDMOCategory
  3042.  
  3043. #undef LPSQLDMOSCHEDULE
  3044. #undef ISQLDMOSchedule
  3045. #undef IID_ISQLDMOSchedule
  3046. interface IWSQLDMOSchedule;                 TYPEDEFINTERFACE IWSQLDMOSchedule *           LPWSQLDMOSCHEDULE;
  3047. #define LPSQLDMOSCHEDULE    LPWSQLDMOSCHEDULE
  3048. #define ISQLDMOSchedule     IWSQLDMOSchedule
  3049. #define IID_ISQLDMOSchedule IID_IWSQLDMOSchedule
  3050.  
  3051. #undef LPSQLDMOJOBFILTER
  3052. #undef ISQLDMOJobFilter
  3053. #undef IID_ISQLDMOJobFilter
  3054. interface IWSQLDMOJobFilter;                TYPEDEFINTERFACE IWSQLDMOJobFilter *          LPWSQLDMOJOBFILTER;
  3055. #define LPSQLDMOJOBFILTER    LPWSQLDMOJOBFILTER
  3056. #define ISQLDMOJobFilter     IWSQLDMOJobFilter
  3057. #define IID_ISQLDMOJobFilter IID_IWSQLDMOJobFilter
  3058.  
  3059. #undef LPSQLDMOJOBSCHEDULES
  3060. #undef ISQLDMOJobSchedules
  3061. #undef IID_ISQLDMOJobSchedules
  3062. interface IWSQLDMOJobSchedules;             TYPEDEFINTERFACE IWSQLDMOJobSchedules *       LPWSQLDMOJOBSCHEDULES;
  3063. #define LPSQLDMOJOBSCHEDULES    LPWSQLDMOJOBSCHEDULES
  3064. #define ISQLDMOJobSchedules     IWSQLDMOJobSchedules
  3065. #define IID_ISQLDMOJobSchedules IID_IWSQLDMOJobSchedules
  3066.  
  3067. #undef LPSQLDMOJOBSCHEDULE
  3068. #undef ISQLDMOJobSchedule
  3069. #undef IID_ISQLDMOJobSchedule
  3070. interface IWSQLDMOJobSchedule;              TYPEDEFINTERFACE IWSQLDMOJobSchedule *        LPWSQLDMOJOBSCHEDULE;
  3071. #define LPSQLDMOJOBSCHEDULE    LPWSQLDMOJOBSCHEDULE
  3072. #define ISQLDMOJobSchedule     IWSQLDMOJobSchedule
  3073. #define IID_ISQLDMOJobSchedule IID_IWSQLDMOJobSchedule
  3074.  
  3075. // Auto-documenting names for these... They return an LPSQLDMOOBJECTLIST
  3076. // of the specified <objecttype>LIST objects.. e.g. LPSQLDMOCOLUMNLIST
  3077. // returns a list of LPSQLDMOCOLUMN objects.
  3078.  
  3079. #define SQLDMOCategory_UseDefault    TEXT("[DEFAULT]")
  3080. #define SQLDMOTargetServer_Local     TEXT("(local)")
  3081. #define SQLDMOAlert_NoJob            TEXT("00000000000000000000000000000000")
  3082.  
  3083.  
  3084.  
  3085.  
  3086.  
  3087. ////////////////////////////
  3088. // Interface definitions.
  3089. ////////////////////////////
  3090.  
  3091. // This is the base class for all SQLDMO objects.  It is never instantiated by itself.
  3092. // The members must be copied into all derived classes so that C clients can reference
  3093. // them, since the DECLARE_INTERFACE_ macro doesn't provide inheritance in C.  The
  3094. // undef/def of INTERFACE is likewise required for C programmers.
  3095. #undef INTERFACE
  3096. #define INTERFACE ISQLDMOStdObject
  3097. DECLARE_INTERFACE_(INTERFACE, IUnknown)
  3098. {
  3099.    //*** IUnknown methods
  3100.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  3101.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  3102.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  3103.  
  3104.     //*** SQLDMO standard object properties.
  3105.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  3106.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  3107.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  3108.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  3109.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  3110. };
  3111.  
  3112. #ifdef __cplusplus
  3113. #ifndef CTEMPOLEREF_DEFINED
  3114. #define CTEMPOLEREF_DEFINED
  3115. // This is a utility class that takes an IUnknown-derived pointer as input and automatically
  3116. // Release()s it in dtor.  Use this as a stack variable which will hold objects and
  3117. // Release() them when they go out of scope; useful if multiple exit points.
  3118. template < class OLEPTR> class CTempOLERef {
  3119.     OLEPTR m_oleptr;
  3120.  
  3121.     // Private copy operators -- we don't want these used due to refcounting issues.
  3122.     // Since they can't therefore be called, no need to assign a body.
  3123.     CTempOLERef(const CTempOLERef<OLEPTR>& Src);
  3124.     OLEPTR  operator = (const CTempOLERef<OLEPTR>& Src);
  3125.  
  3126. public:
  3127.     CTempOLERef() {m_oleptr = NULL;}
  3128.     CTempOLERef(OLEPTR pIn) {m_oleptr = pIn;}
  3129.     ~CTempOLERef() {if (m_oleptr) m_oleptr->Release();}
  3130.     OLEPTR p() {return m_oleptr;}                // Alternative to casting (better for cut 'n paste).
  3131.  
  3132.     operator OLEPTR () {return m_oleptr;}        // Return the input pointer on a cast
  3133.     operator LPUNKNOWN () {return m_oleptr;}
  3134.     operator void *() {return (void *)m_oleptr;}
  3135.     operator BOOL () {return m_oleptr ? TRUE : FALSE;}
  3136.     OLEPTR  operator = (OLEPTR pIn) {if (m_oleptr) m_oleptr->Release(); return m_oleptr = pIn;}
  3137.     OLEPTR * operator & () {return &m_oleptr;}    // Overload address-of operator
  3138.     BOOL operator ! () {return m_oleptr ? FALSE : TRUE;}
  3139.     OLEPTR operator -> () {return m_oleptr;}    // Pass operator-> thru to m_oleptr; allows tempxxxRef->xxxSpecificMember();
  3140.  
  3141.     // Apps should not Release() this object directly as it is intended to do so as it goes out of scope,
  3142.     // hence as a safety feature to avoid double-Release() clear the pointer if it's called directly.
  3143.     void Release() {if (m_oleptr) m_oleptr->Release(); m_oleptr = NULL;}
  3144. };
  3145.  
  3146. // Similar to above, for use with SQLDMO_BSTR's
  3147. class CTempBSTR {
  3148.     SQLDMO_BSTR m_bstr;
  3149.  
  3150.     // Private copy operators -- we don't want these used due to refcounting issues.
  3151.     // Since they can't therefore be called, no need to assign a body.
  3152.     CTempBSTR(const CTempBSTR& Src);
  3153.     SQLDMO_BSTR  operator = (const CTempBSTR& Src);
  3154.  
  3155. public:
  3156.     CTempBSTR() {m_bstr = NULL;}
  3157.     CTempBSTR(SQLDMO_BSTR bstrIn) {m_bstr = bstrIn;}
  3158.     ~CTempBSTR() {Free();}
  3159.     void Free() {if (m_bstr) {SQLDMOFreeString(m_bstr); m_bstr = NULL;}}
  3160.     SQLDMO_BSTR b() {return m_bstr;}
  3161.  
  3162.     operator SQLDMO_LPCSTR () {return (SQLDMO_LPCSTR)m_bstr;}
  3163.     operator void *() {return (void *)m_bstr;}
  3164.     SQLDMO_BSTR operator = (SQLDMO_BSTR bstrIn) {Free(); return m_bstr = bstrIn;}
  3165.     SQLDMO_BSTR * operator & () {return &m_bstr;}        // Overload address-of operator
  3166.     BOOL operator ! () {return m_bstr ? FALSE : TRUE;}
  3167. };
  3168.  
  3169. #endif  // CTEMPOLEREF_DEFINED
  3170. #endif    // __cplusplus
  3171.  
  3172.  
  3173.  
  3174.  
  3175.  
  3176. ////////////////////////////////////////////////////////////////////////////////////
  3177. ////////////////////////////////////////////////////////////////////////////////////
  3178.  
  3179. // Generic enumerator object.
  3180. #undef INTERFACE
  3181. #define INTERFACE ISQLDMOObjectList
  3182. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  3183. {
  3184.    //*** IUnknown methods
  3185.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  3186.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  3187.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  3188.  
  3189.         //*** SQLDMO standard object properties.
  3190.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  3191.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  3192.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  3193.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  3194.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  3195.  
  3196.     //*** SQLDMO standard enumeration properties.  The object returned must be
  3197.     //*** cast to the appropriate object type; the type to cast to is indicated
  3198.     //*** by the LPSQLDMO<objecttype>LIST typedef of the returned list object.
  3199.     //*** e.g. LPSQLDMOCOLUMNLIST returns a list of objects which cast to LPSQLDMOCOLUMN.
  3200.         STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLDMOSTDOBJECT *ppObject) PURE;
  3201.         STDMETHOD(GetItemByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOSTDOBJECT *ppObject) PURE;
  3202.         STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  3203.         STDMETHOD(Refresh)(THIS) PURE;
  3204. };
  3205.  
  3206. ////////////////////////////////////////////////////////////////////////////////////
  3207. ////////////////////////////////////////////////////////////////////////////////////
  3208.  
  3209. // Names collection object (LPSQLDMONAMES).
  3210. #undef INTERFACE
  3211. #define INTERFACE ISQLDMONames
  3212. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  3213. {
  3214.    //*** IUnknown methods
  3215.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  3216.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  3217.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  3218.  
  3219.         //*** SQLDMO standard object properties.
  3220.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  3221.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  3222.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  3223.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  3224.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  3225.  
  3226.     //*** SQLDMO standard enumeration properties
  3227.         STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, SQLDMO_LPBSTR pRetVal) PURE;
  3228.         STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  3229.  
  3230.     //*** SQLDMO standard collection methods
  3231.         STDMETHOD(Add)(THIS_ SQLDMO_LPCSTR szName) PURE;
  3232.         STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  3233.         STDMETHOD(RemoveByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  3234.         STDMETHOD(Refresh)(THIS) PURE;
  3235.         STDMETHOD(InsertByOrd)(THIS_ SQLDMO_LPCSTR szName, long lOrdinal) PURE;
  3236.         STDMETHOD(InsertByName)(THIS_ SQLDMO_LPCSTR szName, SQLDMO_LPCSTR szBeforeName) PURE;
  3237.         STDMETHOD(ReplaceByOrd)(THIS_ SQLDMO_LPCSTR szName, long lOrdinal) PURE;
  3238.         STDMETHOD(ReplaceByName)(THIS_ SQLDMO_LPCSTR szName, SQLDMO_LPCSTR szReplaceName) PURE;
  3239.         STDMETHOD(FindName)(THIS_ SQLDMO_LPCSTR szName, LPLONG pRetVal) PURE;
  3240. };
  3241.  
  3242. ////////////////////////////////////////////////////////////////////////////////////
  3243. ////////////////////////////////////////////////////////////////////////////////////
  3244.  
  3245. // Names enumerator object (LPSQLDMONAMELIST).
  3246. #undef INTERFACE
  3247. #define INTERFACE ISQLDMONameList
  3248. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  3249. {
  3250.    //*** IUnknown methods
  3251.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  3252.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  3253.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  3254.  
  3255.         //*** SQLDMO standard object properties.
  3256.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  3257.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  3258.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  3259.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  3260.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  3261.  
  3262.     //*** SQLDMO standard enumeration properties
  3263.         STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, SQLDMO_LPBSTR pRetVal) PURE;
  3264.         STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  3265.  
  3266.     //*** SQLDMO standard collection methods
  3267.         STDMETHOD(Refresh)(THIS) PURE;
  3268.         STDMETHOD(FindName)(THIS_ SQLDMO_LPCSTR szName, LPLONG pRetVal) PURE;
  3269.  
  3270. };
  3271.  
  3272. ////////////////////////////////////////////////////////////////////////////////////
  3273. ////////////////////////////////////////////////////////////////////////////////////
  3274.  
  3275. #undef INTERFACE
  3276. #define INTERFACE ISQLDMOApplication
  3277. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  3278. {
  3279.    //*** IUnknown methods
  3280.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  3281.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  3282.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  3283.  
  3284.         //*** SQLDMO standard object properties.
  3285.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  3286.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  3287.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  3288.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  3289.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  3290.  
  3291.         //*** properties
  3292.     STDMETHOD(GetName)(THIS_ SQLDMO_LPBSTR pbstrName) PURE;
  3293.     STDMETHOD(GetFullName)(THIS_ SQLDMO_LPBSTR pbstrName) PURE;
  3294.     STDMETHOD(GetODBCVersionString)(THIS_ SQLDMO_LPBSTR pbstrVersion) PURE;
  3295.     STDMETHOD(GetVersionMajor)(THIS_ LPLONG pRetVal) PURE;
  3296.     STDMETHOD(GetVersionMinor)(THIS_ LPLONG pRetVal) PURE;
  3297.  
  3298.         // Collection properties
  3299.     STDMETHOD(GetSQLServers)(THIS_ LPSQLDMOSERVERS *pServers) PURE;
  3300.     STDMETHOD(GetSQLServerByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOSERVER *ppSQLServer) PURE;
  3301.     STDMETHOD(GetSQLServerByOrd)(THIS_ long lOrdinal, LPSQLDMOSERVER *ppSQLServer) PURE;
  3302.     STDMETHOD(RemoveSQLServerByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  3303.     STDMETHOD(RemoveSQLServerByOrd)(THIS_ long lOrdinal) PURE;
  3304.     STDMETHOD(AddSQLServer)(THIS_ LPSQLDMOSERVER pSQLServer) PURE;
  3305.     STDMETHOD(GetSQLServerCount)(THIS_ LPLONG plCount) PURE;
  3306.  
  3307.         //*** methods
  3308.     STDMETHOD(Quit)(THIS) PURE;
  3309.  
  3310.    // Post-6.0 additions.
  3311.     STDMETHOD(GetGroupRegistrationServer)(THIS_ SQLDMO_LPBSTR pbstrVersion) PURE;
  3312.     STDMETHOD(SetGroupRegistrationServer)(THIS_ SQLDMO_LPCSTR pbstrVersion) PURE;
  3313.     STDMETHOD(GetGroupRegistrationVersion)(THIS_ LPLONG pRetVal) PURE;
  3314.     STDMETHOD(GetUseCurrentUserServerGroups)(THIS_ LPBOOL pRetVal) PURE;
  3315.     STDMETHOD(SetUseCurrentUserServerGroups)(THIS_ BOOL pRetVal) PURE;
  3316.     STDMETHOD(GetVersionBuild)(THIS_ LPLONG pRetVal) PURE;
  3317.  
  3318.     STDMETHOD(GetServerGroups)(THIS_ LPSQLDMOSERVERGROUPS *ppServerGroups) PURE;
  3319.     STDMETHOD(GetServerGroupByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOSERVERGROUP *ppServerGroup) PURE;
  3320.     STDMETHOD(GetServerGroupByOrd)(THIS_ long lOrdinal, LPSQLDMOSERVERGROUP *ppServerGroup) PURE;
  3321.     STDMETHOD(RemoveServerGroupByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  3322.     STDMETHOD(RemoveServerGroupByOrd)(THIS_ long lOrdinal) PURE;
  3323.     STDMETHOD(AddServerGroup)(THIS_ LPSQLDMOSERVERGROUP pServerGroup) PURE;
  3324.     STDMETHOD(GetServerGroupCount)(THIS_ LPLONG plCount) PURE;
  3325.  
  3326.     STDMETHOD(ListAvailableSQLServers)(THIS_ LPSQLDMONAMELIST *ppServerNames) PURE;
  3327.  
  3328.         // Post-6.5
  3329.     STDMETHOD(GetBlockingTimeout)(THIS_ LPLONG pRetVal) PURE;
  3330.     STDMETHOD(SetBlockingTimeout)(THIS_ long NewValue) PURE;
  3331.  
  3332. };
  3333.  
  3334. ////////////////////////////////////////////////////////////////////////////////////
  3335. ////////////////////////////////////////////////////////////////////////////////////
  3336.  
  3337. #undef INTERFACE
  3338. #define INTERFACE ISQLDMOServers
  3339. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  3340. {
  3341.    //*** IUnknown methods
  3342.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  3343.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  3344.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  3345.  
  3346.         //*** SQLDMO standard object properties.
  3347.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  3348.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  3349.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  3350.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  3351.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  3352.  
  3353.     //*** SQLDMO standard enumeration properties
  3354.         STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLDMOSERVER *ppObj) PURE;
  3355.         STDMETHOD(GetItemByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOSERVER *ppObj) PURE;
  3356.     STDMETHOD(GetItemByID)(THIS_ long lID, LPSQLDMOSERVER *ppObj) PURE;
  3357.         STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  3358. };
  3359.  
  3360. #undef INTERFACE
  3361. #define INTERFACE ISQLDMOServer
  3362. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  3363. {
  3364.    //*** IUnknown methods
  3365.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  3366.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  3367.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  3368.  
  3369.         //*** SQLDMO standard object properties.
  3370.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  3371.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  3372.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  3373.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  3374.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  3375.  
  3376.         //*** properties
  3377.     STDMETHOD(GetApplicationName)(THIS_ SQLDMO_LPBSTR pbstrAppName) PURE;
  3378.     STDMETHOD(SetApplicationName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  3379.     STDMETHOD(GetConnectionID)(THIS_ LPLONG plConnectionID) PURE;
  3380.     STDMETHOD(GetHostName)(THIS_ SQLDMO_LPBSTR pbstrHostName) PURE;
  3381.     STDMETHOD(SetHostName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  3382.     STDMETHOD(GetLanguage)(THIS_ SQLDMO_LPBSTR pbstrLanguage) PURE;
  3383.     STDMETHOD(SetLanguage)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  3384.     STDMETHOD(GetLogin)(THIS_ SQLDMO_LPBSTR pbstrLogin) PURE;
  3385.     STDMETHOD(SetLogin)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  3386.     STDMETHOD(GetName)(THIS_ SQLDMO_LPBSTR pbstrName) PURE;
  3387.     STDMETHOD(SetName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  3388.     STDMETHOD(GetNextDeviceNumber)(THIS_ LPLONG plNextDeviceNumber) PURE;
  3389.     STDMETHOD(GetQueryTimeout)(THIS_ LPLONG pRetVal) PURE;
  3390.     STDMETHOD(SetQueryTimeout)(THIS_ long NewValue) PURE;
  3391.     STDMETHOD(GetLoginTimeout)(THIS_ LPLONG pRetVal) PURE;
  3392.     STDMETHOD(SetLoginTimeout)(THIS_ long NewValue) PURE;
  3393.     STDMETHOD(GetLoginSecure)(THIS_ LPBOOL pRetVal) PURE;
  3394.     STDMETHOD(SetLoginSecure)(THIS_ BOOL NewValue) PURE;
  3395.     STDMETHOD(GetNetPacketSize)(THIS_ LPLONG pRetVal) PURE;
  3396.     STDMETHOD(SetNetPacketSize)(THIS_ long NewValue) PURE;
  3397.     STDMETHOD(GetPassword)(THIS_ SQLDMO_LPBSTR pbstrPassword) PURE;
  3398.     STDMETHOD(SetPassword)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  3399.     STDMETHOD(GetProcessID)(THIS_ LPLONG plProcessID) PURE;
  3400.     STDMETHOD(GetStatus)(THIS_ SQLDMO_SVCSTATUS_TYPE *pStatus) PURE;
  3401.     STDMETHOD(GetUserProfile)(THIS_ SQLDMO_SRVUSERPROFILE_TYPE *pProfileBits) PURE;
  3402.     STDMETHOD(GetMaxNumericPrecision)(THIS_ LPLONG pMaxPrec) PURE;
  3403.     STDMETHOD(GetTrueLogin)(THIS_ SQLDMO_LPBSTR pbstrTrueLogin) PURE;
  3404.     STDMETHOD(GetTrueName)(THIS_ SQLDMO_LPBSTR pbstrTrueName) PURE;
  3405.     STDMETHOD(GetVersionString)(THIS_ SQLDMO_LPBSTR pbstrVersion) PURE;
  3406.     STDMETHOD(GetVersionMajor)(THIS_ LPLONG pRetVal) PURE;
  3407.     STDMETHOD(GetVersionMinor)(THIS_ LPLONG pRetVal) PURE;
  3408.     STDMETHOD(GetCommandTerminator)(THIS_ SQLDMO_LPBSTR pbstrName) PURE;
  3409.     STDMETHOD(SetCommandTerminator)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  3410.     STDMETHOD(GetProcessInputBuffer)(THIS_ long lProcessID, SQLDMO_LPBSTR pRetVal) PURE;
  3411.     STDMETHOD(GetProcessOutputBuffer)(THIS_ long lProcessID, SQLDMO_LPBSTR pRetVal) PURE;
  3412.     STDMETHOD(GetAutoReConnect)(THIS_ LPBOOL pRetVal) PURE;
  3413.     STDMETHOD(SetAutoReConnect)(THIS_ BOOL NewValue) PURE;
  3414.     STDMETHOD(GetStatusInfoRefetchInterval)(THIS_ SQLDMO_STATUSINFO_TYPE StatusInfoType, LPLONG pRefetchSeconds) PURE;
  3415.     STDMETHOD(SetStatusInfoRefetchInterval)(THIS_ SQLDMO_STATUSINFO_TYPE StatusInfoType, long RefetchSeconds) PURE;
  3416.     STDMETHOD(GetSaLogin)(THIS_ LPBOOL pRetVal) PURE;
  3417.     STDMETHOD(GetAnsiNulls)(THIS_ LPBOOL pRetVal) PURE;
  3418.     STDMETHOD(SetAnsiNulls)(THIS_ BOOL NewValue) PURE;
  3419.  
  3420.         //*** Object properties
  3421.     STDMETHOD(GetConfiguration)(THIS_ LPSQLDMOCONFIGURATION *ppConfig) PURE;
  3422.     STDMETHOD(GetIntegratedSecurity)(THIS_ LPSQLDMOINTEGRATEDSECURITY *ppIntSec) PURE;
  3423.     STDMETHOD(GetRegistry)(THIS_ LPSQLDMOREGISTRY *ppRegistry) PURE;
  3424.     STDMETHOD(GetJobServer)(THIS_ LPSQLDMOJOBSERVER *ppJobServer) PURE;
  3425.  
  3426.         //*** collection properties
  3427.     STDMETHOD(GetDatabases)(THIS_ LPSQLDMODATABASES *ppDatabases) PURE;
  3428.     STDMETHOD(GetDatabaseByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMODATABASE *ppDatabase, SQLDMO_LPCSTR szOwner CPPDEFAULT(= NULL)) PURE;
  3429.     STDMETHOD(GetDatabaseByOrd)(THIS_ long lOrdinal, LPSQLDMODATABASE *ppDatabase) PURE;
  3430.     STDMETHOD(RemoveDatabaseByName)(THIS_ SQLDMO_LPCSTR szName, SQLDMO_LPCSTR szOwner CPPDEFAULT(= NULL)) PURE;
  3431.     STDMETHOD(RemoveDatabaseByOrd)(THIS_ long lOrdinal) PURE;
  3432.     STDMETHOD(AddDatabase)(THIS_ LPSQLDMODATABASE pDatabase) PURE;
  3433.     STDMETHOD(GetDatabaseCount)(THIS_ LPLONG plCount) PURE;
  3434.  
  3435.     STDMETHOD(GetBackupDevices)(THIS_ LPSQLDMOBACKUPDEVICES *ppBackupDevices) PURE;
  3436.     STDMETHOD(GetBackupDeviceByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOBACKUPDEVICE *ppBackupDevice) PURE;
  3437.     STDMETHOD(GetBackupDeviceByOrd)(THIS_ long lOrdinal, LPSQLDMOBACKUPDEVICE *ppBackupDevice) PURE;
  3438.     STDMETHOD(RemoveBackupDeviceByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  3439.     STDMETHOD(RemoveBackupDeviceByOrd)(THIS_ long lOrdinal) PURE;
  3440.     STDMETHOD(AddBackupDevice)(THIS_ LPSQLDMOBACKUPDEVICE pBackupDevice) PURE;
  3441.     STDMETHOD(GetBackupDeviceCount)(THIS_ LPLONG plCount) PURE;
  3442.  
  3443.     STDMETHOD(GetLogins)(THIS_ LPSQLDMOLOGINS *ppLogins) PURE;
  3444.     STDMETHOD(GetLoginByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOLOGIN *ppLogin) PURE;
  3445.     STDMETHOD(GetLoginByOrd)(THIS_ long lOrdinal, LPSQLDMOLOGIN *ppLogin) PURE;
  3446.     STDMETHOD(RemoveLoginByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  3447.     STDMETHOD(RemoveLoginByOrd)(THIS_ long lOrdinal) PURE;
  3448.     STDMETHOD(AddLogin)(THIS_ LPSQLDMOLOGIN pLogin) PURE;
  3449.     STDMETHOD(GetLoginCount)(THIS_ LPLONG plCount) PURE;
  3450.  
  3451.     STDMETHOD(GetLanguages)(THIS_ LPSQLDMOLANGUAGES *ppLanguages) PURE;
  3452.     STDMETHOD(GetLanguageByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOLANGUAGE *ppLanguage) PURE;
  3453.     STDMETHOD(GetLanguageByOrd)(THIS_ long lOrdinal, LPSQLDMOLANGUAGE *ppLanguage) PURE;
  3454.     STDMETHOD(GetLanguageCount)(THIS_ LPLONG plCount) PURE;
  3455.  
  3456.     STDMETHOD(GetRemoteServers)(THIS_ LPSQLDMOREMOTESERVERS *ppRemoteServers) PURE;
  3457.     STDMETHOD(GetRemoteServerByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOREMOTESERVER *ppRemoteServer) PURE;
  3458.     STDMETHOD(GetRemoteServerByOrd)(THIS_ long lOrdinal, LPSQLDMOREMOTESERVER *ppRemoteServer) PURE;
  3459.     STDMETHOD(RemoveRemoteServerByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  3460.     STDMETHOD(RemoveRemoteServerByOrd)(THIS_ long lOrdinal) PURE;
  3461.     STDMETHOD(AddRemoteServer)(THIS_ LPSQLDMOREMOTESERVER pRemoteServer) PURE;
  3462.     STDMETHOD(GetRemoteServerCount)(THIS_ LPLONG plCount) PURE;
  3463.  
  3464.         //*** methods
  3465.     STDMETHOD(Connect)(THIS_ SQLDMO_LPCSTR szServerName CPPDEFAULT(= NULL), SQLDMO_LPCSTR szLogin CPPDEFAULT(= NULL), SQLDMO_LPCSTR szPassword CPPDEFAULT(= NULL)) PURE;
  3466.     STDMETHOD(Close)(THIS) PURE;
  3467.     STDMETHOD(DisConnect)(THIS) PURE;
  3468.     STDMETHOD(ReConnect)(THIS) PURE;
  3469.     STDMETHOD(KillProcess)(THIS_ long lProcessID) PURE;
  3470.     STDMETHOD(ExecuteImmediate)(THIS_ SQLDMO_LPCSTR Command, SQLDMO_EXEC_TYPE ExecType CPPDEFAULT(= SQLDMOExec_Default), long lLength CPPDEFAULT(= 0)) PURE;
  3471.     STDMETHOD(ExecuteWithResults)(THIS_ SQLDMO_LPCSTR Command, LPSQLDMOQUERYRESULTS *ppResults, long lLength CPPDEFAULT(= 0)) PURE;
  3472.     STDMETHOD(UnloadODSDLL)(THIS_ SQLDMO_LPCSTR DLLName) PURE;
  3473.     STDMETHOD(KillDatabase)(THIS_ SQLDMO_LPCSTR DatabaseName) PURE;
  3474.     STDMETHOD(ReadErrorLog)(THIS_ LPSQLDMOQUERYRESULTS *ppResults, long lLogNumber CPPDEFAULT(= 0)) PURE;
  3475.     STDMETHOD(EnumErrorLogs)(THIS_ LPSQLDMOQUERYRESULTS *ppResults) PURE;
  3476.     STDMETHOD(EnumProcesses)(THIS_ LPSQLDMOQUERYRESULTS *ppResults, SQLDMO_LPCSTR szWho CPPDEFAULT(= NULL), long lWho CPPDEFAULT(= -1)) PURE;
  3477.     STDMETHOD(EnumLocks)(THIS_ LPSQLDMOQUERYRESULTS *ppResults, long lWho CPPDEFAULT(= -1)) PURE;
  3478.     STDMETHOD(ReadBackupHeader)(THIS_ LPSQLDMORESTORE LoadSpec, LPSQLDMOQUERYRESULTS *ppResults) PURE;
  3479.     STDMETHOD(EnumAvailableMedia)(THIS_ LPSQLDMOQUERYRESULTS *ppResults, SQLDMO_MEDIA_TYPE MediaType CPPDEFAULT(= SQLDMOMedia_All)) PURE;
  3480.     STDMETHOD(EnumDirectories)(THIS_ SQLDMO_LPCSTR PathName, LPSQLDMOQUERYRESULTS *ppResults) PURE;
  3481.     STDMETHOD(EnumServerAttributes)(THIS_ LPSQLDMOQUERYRESULTS *ppResults) PURE;
  3482.     STDMETHOD(EnumVersionInfo)(THIS_ LPSQLDMOQUERYRESULTS *ppResults, SQLDMO_LPCSTR szPrefixes CPPDEFAULT(= NULL)) PURE;
  3483.     STDMETHOD(BeginTransaction)(THIS_ SQLDMO_LPCSTR szTransactionName CPPDEFAULT(= NULL)) PURE;
  3484.     STDMETHOD(CommitTransaction)(THIS_ SQLDMO_LPCSTR TransactionName CPPDEFAULT(= NULL)) PURE;
  3485.     STDMETHOD(SaveTransaction)(THIS_ SQLDMO_LPCSTR SavepointName) PURE;
  3486.     STDMETHOD(RollbackTransaction)(THIS_ SQLDMO_LPCSTR TransactionOrSavepointName CPPDEFAULT(= NULL)) PURE;
  3487.     STDMETHOD(CommandShellImmediate)(THIS_ SQLDMO_LPCSTR Command) PURE;
  3488.     STDMETHOD(CommandShellWithResults)(THIS_ SQLDMO_LPCSTR Command, LPSQLDMOQUERYRESULTS *ppResults) PURE;
  3489.     STDMETHOD(Pause)(THIS) PURE;
  3490.     STDMETHOD(Continue)(THIS) PURE;
  3491.     STDMETHOD(Shutdown)(THIS_ BOOL Wait CPPDEFAULT(= TRUE)) PURE;
  3492.     STDMETHOD(Start)(THIS_ BOOL fConnect, SQLDMO_LPCSTR Server CPPDEFAULT(= NULL), SQLDMO_LPCSTR Login CPPDEFAULT(= NULL), SQLDMO_LPCSTR Password CPPDEFAULT(= NULL)) PURE;
  3493.     STDMETHOD(VerifyConnection)(THIS_ LPBOOL pRetVal, SQLDMO_VERIFYCONN_TYPE VerifyType CPPDEFAULT(= SQLDMOConn_ReconnectIfDead)) PURE;
  3494.     STDMETHOD(IsOS)(THIS_ SQLDMO_OS_TYPE lType, LPBOOL pRetVal) PURE;
  3495.     STDMETHOD(AddStartParameter)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  3496.  
  3497.         // List methods
  3498.     STDMETHOD(ListStartupProcedures)(THIS_ LPSQLDMOSTOREDPROCEDURELIST * ppList) PURE;
  3499.  
  3500.         // Post-6.0 additions
  3501.     STDMETHOD(ExecuteWithResultsAndMessages)(THIS_ SQLDMO_LPCSTR Command, LPSQLDMOQUERYRESULTS *ppResults, SQLDMO_LPBSTR ppszMessages CPPDEFAULT(= 0), long lLength CPPDEFAULT(= 0)) PURE;
  3502.     STDMETHOD(GetNetName)(THIS_ SQLDMO_LPBSTR pbstrNetName) PURE;
  3503.     STDMETHOD(EnumLoginMappings)(THIS_ LPSQLDMOQUERYRESULTS *ppResults) PURE;
  3504.  
  3505.     // Post-6.5 additions to object properties
  3506.     STDMETHOD(GetReplication)(THIS_ LPSQLDMOREPLICATION *ppReplication) PURE;
  3507.     STDMETHOD(GetEnableBcp)(THIS_ LPBOOL pRetVal) PURE;
  3508.     STDMETHOD(SetEnableBcp)(THIS_ BOOL NewValue) PURE;
  3509.  
  3510.     STDMETHOD(GetBlockingTimeout)(THIS_ LPLONG pRetVal) PURE;
  3511.     STDMETHOD(SetBlockingTimeout)(THIS_ long NewValue) PURE;
  3512.  
  3513.     // 7.0 collection properties
  3514.     STDMETHOD(GetServerRoles)(THIS_ LPSQLDMOSERVERROLES *ppServerRoles) PURE;
  3515.     STDMETHOD(GetServerRoleByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOSERVERROLE *ppServerRole) PURE;
  3516.     STDMETHOD(GetServerRoleByOrd)(THIS_ long lOrdinal, LPSQLDMOSERVERROLE *ppServerRole) PURE;
  3517.     STDMETHOD(GetServerRoleCount)(THIS_ LPLONG plCount) PURE;
  3518.     STDMETHOD(EnumNTDomainGroups)(THIS_ LPSQLDMOQUERYRESULTS *ppResults, SQLDMO_LPCSTR Domain CPPDEFAULT(= NULL)) PURE;
  3519.     STDMETHOD(EnumAccountInfo)(THIS_ LPSQLDMOQUERYRESULTS *ppResults, SQLDMO_LPCSTR Account CPPDEFAULT(= NULL), BOOL ListAll CPPDEFAULT(= FALSE)) PURE;
  3520.     STDMETHOD(ListMembers)(THIS_ SQLDMO_ROLE_TYPE Type, LPSQLDMONAMELIST *ppResults) PURE;
  3521.     STDMETHOD(IsLogin)(THIS_ SQLDMO_LPCSTR LoginName, LPBOOL pRetVal) PURE;
  3522.     STDMETHOD(Abort)(THIS) PURE;
  3523.     STDMETHOD(GetIsdbcreator)(THIS_ LPBOOL pRetVal) PURE;
  3524.     STDMETHOD(GetIsdiskadmin)(THIS_ LPBOOL pRetVal) PURE;
  3525.     STDMETHOD(GetIsprocessadmin)(THIS_ LPBOOL pRetVal) PURE;
  3526.     STDMETHOD(GetIssecurityadmin)(THIS_ LPBOOL pRetVal) PURE;
  3527.     STDMETHOD(GetIsserveradmin)(THIS_ LPBOOL pRetVal) PURE;
  3528.     STDMETHOD(GetIssetupadmin)(THIS_ LPBOOL pRetVal) PURE;
  3529.     STDMETHOD(GetIssysadmin)(THIS_ LPBOOL pRetVal) PURE;
  3530.     STDMETHOD(DetachDB)(THIS_ SQLDMO_LPCSTR DBName, SQLDMO_LPBSTR pResult, BOOL bCheck CPPDEFAULT(= TRUE)) PURE;
  3531.     STDMETHOD(AttachDB)(THIS_ SQLDMO_LPCSTR DBName, SQLDMO_LPCSTR DataFiles, SQLDMO_LPBSTR pResult) PURE;
  3532. //    STDMETHOD(RemapFile)(THIS_ SQLDMO_LPCSTR DBName, SQLDMO_LPCSTR LogicalName, SQLDMO_LPCSTR NewPhysicalPath, SQLDMO_LPBSTR pResult) PURE;
  3533. //    STDMETHOD(ClearMap)(THIS_ SQLDMO_LPBSTR pResult) PURE;
  3534.     STDMETHOD(GetQuotedIdentifier)(THIS_ LPBOOL pRetVal) PURE;
  3535.     STDMETHOD(SetQuotedIdentifier)(THIS_ BOOL NewValue) PURE;
  3536.     STDMETHOD(GetLinkedServers)(THIS_ LPSQLDMOLINKEDSERVERS *ppLinkedServers) PURE;
  3537.     STDMETHOD(GetLinkedServerByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOLINKEDSERVER *ppLinkedServer) PURE;
  3538.     STDMETHOD(GetLinkedServerByOrd)(THIS_ long lOrdinal, LPSQLDMOLINKEDSERVER *ppLinkedServer) PURE;
  3539.     STDMETHOD(RemoveLinkedServerByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  3540.     STDMETHOD(RemoveLinkedServerByOrd)(THIS_ long lOrdinal) PURE;
  3541.     STDMETHOD(AddLinkedServer)(THIS_ LPSQLDMOLINKEDSERVER pLinkedServer) PURE;
  3542.     STDMETHOD(GetLinkedServerCount)(THIS_ LPLONG plCount) PURE;
  3543.     STDMETHOD(SetCodePageOverride)(THIS_ long NewValue) PURE;
  3544.     STDMETHOD(GetFullTextService)(THIS_ LPSQLDMOFULLTEXTSERVICE *ppFullTextService) PURE;
  3545.     STDMETHOD(GetODBCPrefix)(THIS_ LPBOOL pRetVal) PURE;
  3546.     STDMETHOD(SetODBCPrefix)(THIS_ BOOL NewValue) PURE;
  3547.     STDMETHOD(Stop)(THIS) PURE;
  3548.     STDMETHOD(PingSQLServerVersion)(THIS_ SQLDMO_SQL_VER *pRetVal, SQLDMO_LPCSTR szServerName CPPDEFAULT(= NULL), SQLDMO_LPCSTR szLogin CPPDEFAULT(= NULL), SQLDMO_LPCSTR szPassword CPPDEFAULT(= NULL)) PURE;
  3549.     STDMETHOD(IsPackage)(THIS_ SQLDMO_PACKAGE_TYPE *pRetVal) PURE;
  3550.     STDMETHOD(GetRegionalSetting)(THIS_ LPBOOL pRetVal) PURE;
  3551.     STDMETHOD(SetRegionalSetting)(THIS_ BOOL NewValue) PURE;
  3552.     STDMETHOD(GetCodePage)(THIS_ LPLONG plCount) PURE;
  3553.     STDMETHOD(AttachDBWithSingleFile)(THIS_ SQLDMO_LPCSTR DBName, SQLDMO_LPCSTR DataFile, SQLDMO_LPBSTR pResult) PURE;
  3554.     STDMETHOD(IsNTGroupMember)(THIS_ SQLDMO_LPCSTR NTGroup, SQLDMO_LPCSTR NTUser, LPBOOL pRetVal) PURE;
  3555.     STDMETHOD(GetServerTime)(THIS_ SQLDMO_LPBSTR pbstrServerTime) PURE;
  3556.     STDMETHOD(GetTranslateChar)(THIS_ LPBOOL pRetVal) PURE;
  3557.     STDMETHOD(SetTranslateChar)(THIS_ BOOL NewValue) PURE;
  3558. };
  3559.  
  3560. #undef INTERFACE
  3561. #define INTERFACE ISQLDMOServerSink
  3562. DECLARE_INTERFACE_(INTERFACE, IUnknown)
  3563. {
  3564.    //*** IUnknown methods
  3565.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  3566.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  3567.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  3568.  
  3569.         //*** Sink properties and methods.
  3570.     STDMETHOD(QueryTimeout)(THIS_ SQLDMO_LPCSTR Message, LPBOOL Continue) PURE;
  3571.     STDMETHOD(ServerMessage)(THIS_ long Severity, long MessageNumber, long MessageState, SQLDMO_LPCSTR Message) PURE;
  3572.     STDMETHOD(ConnectionBroken)(THIS_ SQLDMO_LPCSTR Message, LPBOOL Retry) PURE;
  3573.     STDMETHOD(RemoteLoginFailed)(THIS_ long Severity, long MessageNumber, long MessageState, SQLDMO_LPCSTR Message) PURE;
  3574.         STDMETHOD(CommandSent)(THIS_ SQLDMO_LPCSTR szSQL) PURE;
  3575. };
  3576.  
  3577. ////////////////////////////////////////////////////////////////////////////////////
  3578. ////////////////////////////////////////////////////////////////////////////////////
  3579.  
  3580. #undef INTERFACE
  3581. #define INTERFACE ISQLDMORegistry
  3582. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  3583. {
  3584.    //*** IUnknown methods
  3585.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  3586.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  3587.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  3588.  
  3589.         //*** SQLDMO standard object properties.
  3590.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  3591.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  3592.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  3593.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  3594.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  3595.  
  3596.         //*** properties
  3597.     STDMETHOD(GetAutostartMail)(THIS_ LPBOOL pRetVal) PURE;
  3598.     STDMETHOD(SetAutostartMail)(THIS_ BOOL NewValue) PURE;
  3599.     STDMETHOD(GetAutostartServer)(THIS_ LPBOOL pRetVal) PURE;
  3600.     STDMETHOD(SetAutostartServer)(THIS_ BOOL NewValue) PURE;
  3601.     STDMETHOD(GetCaseSensitive)(THIS_ LPBOOL pRetVal) PURE;
  3602.     STDMETHOD(GetCharacterSet)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  3603.     STDMETHOD(GetErrorLogPath)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  3604.     STDMETHOD(SetErrorLogPath)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  3605.     STDMETHOD(GetMailAccountName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  3606.     STDMETHOD(SetMailAccountName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  3607.     STDMETHOD(GetMailPassword)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  3608.     STDMETHOD(SetMailPassword)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  3609.     STDMETHOD(GetMasterDBPath)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  3610.     STDMETHOD(SetMasterDBPath)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  3611.     STDMETHOD(GetNTEventLogging)(THIS_ LPBOOL pRetVal) PURE;
  3612.     STDMETHOD(GetNumberOfProcessors)(THIS_ LPLONG pRetVal) PURE;
  3613.     STDMETHOD(GetPerfMonMode)(THIS_ SQLDMO_PERFMON_TYPE *pRetVal) PURE;
  3614.     STDMETHOD(SetPerfMonMode)(THIS_ SQLDMO_PERFMON_TYPE NewValue) PURE;
  3615.     STDMETHOD(GetPhysicalMemory)(THIS_ LPLONG pRetVal) PURE;
  3616.     STDMETHOD(GetAutostartLicensing)(THIS_ LPBOOL pRetVal) PURE;
  3617.     STDMETHOD(SetAutostartLicensing)(THIS_ BOOL NewValue) PURE;
  3618.     STDMETHOD(GetRegisteredOrganization)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  3619.     STDMETHOD(GetRegisteredOwner)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  3620.     STDMETHOD(GetSortOrder)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  3621.     STDMETHOD(GetSQLRootPath)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  3622.     STDMETHOD(SetSQLRootPath)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  3623.     STDMETHOD(GetSQLDataRoot)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  3624.     STDMETHOD(SetSQLDataRoot)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  3625.     STDMETHOD(GetTapeLoadWaitTime)(THIS_ LPLONG pRetVal) PURE;
  3626.     STDMETHOD(SetTapeLoadWaitTime)(THIS_ long NewValue) PURE;
  3627.     STDMETHOD(GetReplicationInstalled)(THIS_ LPBOOL pRetVal) PURE;
  3628.  
  3629.     // 7.0
  3630.     STDMETHOD(GetAutostartDTC)(THIS_ LPBOOL pRetVal) PURE;
  3631.     STDMETHOD(SetAutostartDTC)(THIS_ BOOL NewValue) PURE;
  3632. };
  3633.  
  3634. ////////////////////////////////////////////////////////////////////////////////////
  3635. ////////////////////////////////////////////////////////////////////////////////////
  3636.  
  3637. #undef INTERFACE
  3638. #define INTERFACE ISQLDMODatabases
  3639. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  3640. {
  3641.    //*** IUnknown methods
  3642.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  3643.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  3644.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  3645.  
  3646.         //*** SQLDMO standard object properties.
  3647.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  3648.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  3649.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  3650.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  3651.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  3652.  
  3653.     //*** SQLDMO standard enumeration properties
  3654.         STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLDMODATABASE *ppObj) PURE;
  3655.         STDMETHOD(GetItemByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMODATABASE *ppObj, SQLDMO_LPCSTR szOwner CPPDEFAULT(= NULL)) PURE;
  3656.     STDMETHOD(GetItemByID)(THIS_ long lID, LPSQLDMODATABASE *ppObj) PURE;
  3657.         STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  3658.  
  3659.     //*** SQLDMO standard collection methods
  3660.         STDMETHOD(Add)(THIS_ LPSQLDMODATABASE Object) PURE;
  3661.         STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  3662.         STDMETHOD(RemoveByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  3663.         STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  3664. };
  3665.  
  3666. #undef INTERFACE
  3667. #define INTERFACE ISQLDMODatabase
  3668. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  3669. {
  3670.    //*** IUnknown methods
  3671.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  3672.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  3673.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  3674.  
  3675.         //*** SQLDMO standard object properties.
  3676.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  3677.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  3678.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  3679.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  3680.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  3681.  
  3682.         //*** properties
  3683.     STDMETHOD(GetName)(THIS_ SQLDMO_LPBSTR pbstrName) PURE;
  3684.     STDMETHOD(SetName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  3685.     STDMETHOD(GetOwner)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  3686.     STDMETHOD(SetOwner)(THIS_ SQLDMO_LPCSTR NewValue, BOOL bTransferAliases CPPDEFAULT(= FALSE), BOOL bOverrideIfAlreadyUser CPPDEFAULT(= FALSE)) PURE;
  3687.     STDMETHOD(GetVersion)(THIS_ LPLONG pRetVal) PURE;
  3688.     STDMETHOD(GetCreateDate)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  3689.     STDMETHOD(GetUserName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  3690.     STDMETHOD(SetUserName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  3691.     STDMETHOD(GetSize)(THIS_ LPLONG pRetVal) PURE;
  3692.     STDMETHOD(GetSpaceAvailable)(THIS_ LPLONG pRetVal) PURE;
  3693.     STDMETHOD(GetID)(THIS_ LPLONG pRetVal) PURE;
  3694.     STDMETHOD(GetSystemObject)(THIS_ LPBOOL pRetVal) PURE;
  3695.     STDMETHOD(GetUserProfile)(THIS_ SQLDMO_DBUSERPROFILE_TYPE *pProfileBits) PURE;
  3696.     STDMETHOD(GetDataSpaceUsage)(THIS_ LPFLOAT pRetVal) PURE;
  3697.     STDMETHOD(GetStatus)(THIS_ SQLDMO_DBSTATUS_TYPE *pRetVal) PURE;
  3698.     STDMETHOD(GetIndexSpaceUsage)(THIS_ LPFLOAT pRetVal) PURE;
  3699.     STDMETHOD(GetSpaceAvailableInMB)(THIS_ LPFLOAT pRetVal) PURE;
  3700.     STDMETHOD(GetCreateForAttach)(THIS_ LPBOOL pRetVal) PURE;
  3701.     STDMETHOD(SetCreateForAttach)(THIS_ BOOL NewValue) PURE;
  3702.     STDMETHOD(GetDboLogin)(THIS_ LPBOOL pRetVal) PURE;
  3703.  
  3704.         //*** Object Properties
  3705.     STDMETHOD(GetDBOption)(THIS_ LPSQLDMODBOPTION *ppDBOption) PURE;
  3706.     STDMETHOD(GetTransactionLog)(THIS_ LPSQLDMOTRANSACTIONLOG * ppTransactionLog) PURE;
  3707.  
  3708.         //*** Collection properties
  3709.     STDMETHOD(GetTables)(THIS_ LPSQLDMOTABLES * ppTables) PURE;
  3710.     STDMETHOD(GetTableByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOTABLE *ppTable, SQLDMO_LPCSTR szOwner CPPDEFAULT(= NULL)) PURE;
  3711.     STDMETHOD(GetTableByOrd)(THIS_ long lOrdinal, LPSQLDMOTABLE *ppTable) PURE;
  3712.     STDMETHOD(RemoveTableByName)(THIS_ SQLDMO_LPCSTR szName, SQLDMO_LPCSTR szOwner CPPDEFAULT(= NULL)) PURE;
  3713.     STDMETHOD(RemoveTableByOrd)(THIS_ long lOrdinal) PURE;
  3714.     STDMETHOD(AddTable)(THIS_ LPSQLDMOTABLE pTable) PURE;
  3715.     STDMETHOD(GetTableCount)(THIS_ LPLONG plCount) PURE;
  3716.  
  3717.     STDMETHOD(GetViews)(THIS_ LPSQLDMOVIEWS * ppViews) PURE;
  3718.     STDMETHOD(GetViewByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOVIEW *ppView, SQLDMO_LPCSTR szOwner CPPDEFAULT(= NULL)) PURE;
  3719.     STDMETHOD(GetViewByOrd)(THIS_ long lOrdinal, LPSQLDMOVIEW *ppView) PURE;
  3720.     STDMETHOD(RemoveViewByName)(THIS_ SQLDMO_LPCSTR szName, SQLDMO_LPCSTR szOwner CPPDEFAULT(= NULL)) PURE;
  3721.     STDMETHOD(RemoveViewByOrd)(THIS_ long lOrdinal) PURE;
  3722.     STDMETHOD(AddView)(THIS_ LPSQLDMOVIEW pView) PURE;
  3723.     STDMETHOD(GetViewCount)(THIS_ LPLONG plCount) PURE;
  3724.  
  3725.     STDMETHOD(GetStoredProcedures)(THIS_ LPSQLDMOSTOREDPROCEDURES * ppProcs) PURE;
  3726.     STDMETHOD(GetStoredProcedureByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOSTOREDPROCEDURE *ppProc, SQLDMO_LPCSTR szOwner CPPDEFAULT(= NULL)) PURE;
  3727.     STDMETHOD(GetStoredProcedureByOrd)(THIS_ long lOrdinal, LPSQLDMOSTOREDPROCEDURE *ppProc) PURE;
  3728.     STDMETHOD(RemoveStoredProcedureByName)(THIS_ SQLDMO_LPCSTR szName, SQLDMO_LPCSTR szOwner CPPDEFAULT(= NULL)) PURE;
  3729.     STDMETHOD(RemoveStoredProcedureByOrd)(THIS_ long lOrdinal) PURE;
  3730.     STDMETHOD(AddStoredProcedure)(THIS_ LPSQLDMOSTOREDPROCEDURE pProc) PURE;
  3731.     STDMETHOD(GetStoredProcedureCount)(THIS_ LPLONG plCount) PURE;
  3732.  
  3733.     STDMETHOD(GetDefaults)(THIS_ LPSQLDMODEFAULTS * ppDefaults) PURE;
  3734.     STDMETHOD(GetDefaultByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMODEFAULT *ppDefault, SQLDMO_LPCSTR szOwner CPPDEFAULT(= NULL)) PURE;
  3735.     STDMETHOD(GetDefaultByOrd)(THIS_ long lOrdinal, LPSQLDMODEFAULT *ppDefault) PURE;
  3736.     STDMETHOD(RemoveDefaultByName)(THIS_ SQLDMO_LPCSTR szName, SQLDMO_LPCSTR szOwner CPPDEFAULT(= NULL)) PURE;
  3737.     STDMETHOD(RemoveDefaultByOrd)(THIS_ long lOrdinal) PURE;
  3738.     STDMETHOD(AddDefault)(THIS_ LPSQLDMODEFAULT pDefault) PURE;
  3739.     STDMETHOD(GetDefaultCount)(THIS_ LPLONG plCount) PURE;
  3740.  
  3741.     STDMETHOD(GetRules)(THIS_ LPSQLDMORULES * ppRules) PURE;
  3742.     STDMETHOD(GetRuleByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMORULE *ppRule, SQLDMO_LPCSTR szOwner CPPDEFAULT(= NULL)) PURE;
  3743.     STDMETHOD(GetRuleByOrd)(THIS_ long lOrdinal, LPSQLDMORULE *ppRule) PURE;
  3744.     STDMETHOD(RemoveRuleByName)(THIS_ SQLDMO_LPCSTR szName, SQLDMO_LPCSTR szOwner CPPDEFAULT(= NULL)) PURE;
  3745.     STDMETHOD(RemoveRuleByOrd)(THIS_ long lOrdinal) PURE;
  3746.     STDMETHOD(AddRule)(THIS_ LPSQLDMORULE pRule) PURE;
  3747.     STDMETHOD(GetRuleCount)(THIS_ LPLONG plCount) PURE;
  3748.  
  3749.     STDMETHOD(GetUserDefinedDatatypes)(THIS_ LPSQLDMOUSERDEFINEDDATATYPES * ppUDDTs) PURE;
  3750.     STDMETHOD(GetUserDefinedDatatypeByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOUSERDEFINEDDATATYPE *ppUDDT, SQLDMO_LPCSTR szOwner CPPDEFAULT(= NULL)) PURE;
  3751.     STDMETHOD(GetUserDefinedDatatypeByOrd)(THIS_ long lOrdinal, LPSQLDMOUSERDEFINEDDATATYPE *ppUDDT) PURE;
  3752.     STDMETHOD(RemoveUserDefinedDatatypeByName)(THIS_ SQLDMO_LPCSTR szName, SQLDMO_LPCSTR szOwner CPPDEFAULT(= NULL)) PURE;
  3753.     STDMETHOD(RemoveUserDefinedDatatypeByOrd)(THIS_ long lOrdinal) PURE;
  3754.     STDMETHOD(AddUserDefinedDatatype)(THIS_ LPSQLDMOUSERDEFINEDDATATYPE pUDDT) PURE;
  3755.     STDMETHOD(GetUserDefinedDatatypeCount)(THIS_ LPLONG plCount) PURE;
  3756.  
  3757.     STDMETHOD(GetUsers)(THIS_ LPSQLDMOUSERS * ppUsers) PURE;
  3758.     STDMETHOD(GetUserByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOUSER *ppUser) PURE;
  3759.     STDMETHOD(GetUserByOrd)(THIS_ long lOrdinal, LPSQLDMOUSER *ppUser) PURE;
  3760.     STDMETHOD(RemoveUserByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  3761.     STDMETHOD(RemoveUserByOrd)(THIS_ long lOrdinal) PURE;
  3762.     STDMETHOD(AddUser)(THIS_ LPSQLDMOUSER pUser) PURE;
  3763.     STDMETHOD(GetUserCount)(THIS_ LPLONG plCount) PURE;
  3764.  
  3765.     STDMETHOD(GetGroups)(THIS_ LPSQLDMOGROUPS * ppGroups) PURE;
  3766.     STDMETHOD(GetGroupByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOGROUP *ppGroup) PURE;
  3767.     STDMETHOD(GetGroupByOrd)(THIS_ long lOrdinal, LPSQLDMOGROUP *ppGroup) PURE;
  3768.     STDMETHOD(RemoveGroupByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  3769.     STDMETHOD(RemoveGroupByOrd)(THIS_ long lOrdinal) PURE;
  3770.     STDMETHOD(AddGroup)(THIS_ LPSQLDMOGROUP pGroup) PURE;
  3771.     STDMETHOD(GetGroupCount)(THIS_ LPLONG plCount) PURE;
  3772.  
  3773.     STDMETHOD(GetSystemDatatypes)(THIS_ LPSQLDMOSYSTEMDATATYPES * ppSDTs) PURE;
  3774.     STDMETHOD(GetSystemDatatypeByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOSYSTEMDATATYPE *ppSDT) PURE;
  3775.     STDMETHOD(GetSystemDatatypeByOrd)(THIS_ long lOrdinal, LPSQLDMOSYSTEMDATATYPE *ppSDT) PURE;
  3776.     STDMETHOD(GetSystemDatatypeCount)(THIS_ LPLONG plCount) PURE;
  3777.  
  3778.         //*** Methods
  3779.     STDMETHOD(Grant)(THIS_ SQLDMO_PRIVILEGE_TYPE iPrivileges, SQLDMO_LPCSTR GranteeNames) PURE;
  3780.     STDMETHOD(Revoke)(THIS_ SQLDMO_PRIVILEGE_TYPE iPrivileges, SQLDMO_LPCSTR RevokeeNames) PURE;
  3781.     STDMETHOD(ExecuteImmediate)(THIS_ SQLDMO_LPCSTR Command, SQLDMO_EXEC_TYPE ExecType CPPDEFAULT(= SQLDMOExec_Default), long lLength CPPDEFAULT(= 0)) PURE;
  3782.     STDMETHOD(ExecuteWithResults)(THIS_ SQLDMO_LPCSTR Command, LPSQLDMOQUERYRESULTS *ppResults, long lLength CPPDEFAULT(= 0)) PURE;
  3783.     STDMETHOD(Checkpoint)(THIS) PURE;
  3784.     STDMETHOD(CheckTables)(THIS_ SQLDMO_LPBSTR pResult, SQLDMO_DBCC_REPAIR_TYPE lType CPPDEFAULT(= SQLDMORepair_None)) PURE;
  3785.     STDMETHOD(CheckAllocations)(THIS_ SQLDMO_LPBSTR pResult, SQLDMO_DBCC_REPAIR_TYPE lType CPPDEFAULT(= SQLDMORepair_None)) PURE;
  3786.     STDMETHOD(CheckCatalog)(THIS_ SQLDMO_LPBSTR pResult) PURE;
  3787.     STDMETHOD(GetMemoryUsage)(THIS_ SQLDMO_LPBSTR pResult) PURE;
  3788.     STDMETHOD(EnumLocks)(THIS_ LPSQLDMOQUERYRESULTS *ppResults, long lWho CPPDEFAULT(= -1)) PURE;
  3789.     STDMETHOD(Remove)(THIS) PURE;
  3790.     STDMETHOD(GetObjectByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMODBOBJECT *ppDBObject, SQLDMO_OBJECT_TYPE lType CPPDEFAULT(= SQLDMOObj_AllDatabaseObjects), SQLDMO_LPCSTR szOwner CPPDEFAULT(= NULL)) PURE;
  3791.     STDMETHOD(GetDatatypeByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOSTDOBJECT *ppDBObject) PURE;
  3792.     STDMETHOD(EnumCandidateKeys)(THIS_ LPSQLDMOQUERYRESULTS * ppResults) PURE;
  3793.     STDMETHOD(IsValidKeyDatatype)(THIS_ SQLDMO_LPCSTR szKeyColType, LPBOOL pRetVal, SQLDMO_LPCSTR szReferencingColType CPPDEFAULT(= NULL)) PURE;
  3794.     STDMETHOD(RecalcSpaceUsage)(THIS) PURE;
  3795.     STDMETHOD(EnumDependencies)(THIS_ LPSQLDMOQUERYRESULTS *ppResults, SQLDMO_DEPENDENCY_TYPE DependencyType CPPDEFAULT(= SQLDMODep_Parents)) PURE;
  3796.  
  3797.         //*** List methods
  3798.     STDMETHOD(ListObjectPermissions)(THIS_ LPSQLDMOPERMISSIONLIST * ppList, SQLDMO_PRIVILEGE_TYPE lPrivilegeTypes CPPDEFAULT(= SQLDMOPriv_AllObjectPrivs)) PURE;
  3799.     STDMETHOD(ListDatabasePermissions)(THIS_ LPSQLDMOPERMISSIONLIST * ppList, SQLDMO_PRIVILEGE_TYPE lPrivilegeTypes CPPDEFAULT(= SQLDMOPriv_AllDatabasePrivs)) PURE;
  3800.     STDMETHOD(ListObjects)(THIS_ LPSQLDMODBOBJECTLIST * ppList, SQLDMO_OBJECT_TYPE lObjectTypes CPPDEFAULT(= SQLDMOObj_AllDatabaseObjects), SQLDMO_OBJSORT_TYPE SortBy CPPDEFAULT(= SQLDMOObjSort_Name)) PURE;
  3801.  
  3802.         // Post-6.0 additions
  3803.     STDMETHOD(Transfer)(THIS_ LPSQLDMOTRANSFER TransferSpec) PURE;
  3804.     STDMETHOD(ScriptTransfer)(THIS_ LPSQLDMOTRANSFER TransferSpec, SQLDMO_XFRSCRIPTMODE_TYPE ScriptFileMode CPPDEFAULT(= SQLDMOXfrFile_Default), SQLDMO_LPCSTR ScriptFilePath CPPDEFAULT(= NULL), SQLDMO_LPBSTR ScriptText CPPDEFAULT(= NULL)) PURE;
  3805.         STDMETHOD(CheckIdentityValues)(THIS) PURE;
  3806.     STDMETHOD(ExecuteWithResultsAndMessages)(THIS_ SQLDMO_LPCSTR Command, LPSQLDMOQUERYRESULTS *ppResults, SQLDMO_LPBSTR ppszMessages CPPDEFAULT(= 0), long lLength CPPDEFAULT(= 0)) PURE;
  3807.     STDMETHOD(Script)(THIS_ SQLDMO_SCRIPT_TYPE ScriptType CPPDEFAULT(= SQLDMOScript_Default), SQLDMO_LPCSTR ScriptFilePath CPPDEFAULT(= NULL), SQLDMO_LPBSTR ScriptText CPPDEFAULT(= NULL), SQLDMO_SCRIPT2_TYPE Script2Type CPPDEFAULT(= SQLDMOScript2_Default)) PURE;
  3808.     STDMETHOD(CheckTablesDataOnly)(THIS_ SQLDMO_LPBSTR pResult) PURE;
  3809.     STDMETHOD(CheckAllocationsDataOnly)(THIS_ SQLDMO_LPBSTR pResult) PURE;
  3810.         STDMETHOD(UpdateIndexStatistics)(THIS) PURE;
  3811.     STDMETHOD(EnumLoginMappings)(THIS_ LPSQLDMOQUERYRESULTS *ppResults) PURE;
  3812.  
  3813.     // 7.0
  3814.     STDMETHOD(GetPrimaryFilePath)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  3815.     STDMETHOD(GetFileGroups)(THIS_ LPSQLDMOFILEGROUPS * ppFileGroups) PURE;
  3816.     STDMETHOD(GetFileGroupByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOFILEGROUP *ppFileGroup) PURE;
  3817.     STDMETHOD(GetFileGroupByOrd)(THIS_ long lOrdinal, LPSQLDMOFILEGROUP *ppFileGroup) PURE;
  3818.     STDMETHOD(RemoveFileGroupByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  3819.     STDMETHOD(RemoveFileGroupByOrd)(THIS_ long lOrdinal) PURE;
  3820.     STDMETHOD(AddFileGroup)(THIS_ LPSQLDMOFILEGROUP pFileGroup) PURE;
  3821.     STDMETHOD(GetFileGroupCount)(THIS_ LPLONG plCount) PURE;
  3822.     STDMETHOD(GetDatabaseRoles)(THIS_ LPSQLDMODATABASEROLES * ppDatabaseRoles) PURE;
  3823.     STDMETHOD(GetDatabaseRoleByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMODATABASEROLE *ppDatabaseRole) PURE;
  3824.     STDMETHOD(GetDatabaseRoleByOrd)(THIS_ long lOrdinal, LPSQLDMODATABASEROLE *ppDatabaseRole) PURE;
  3825.     STDMETHOD(RemoveDatabaseRoleByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  3826.     STDMETHOD(RemoveDatabaseRoleByOrd)(THIS_ long lOrdinal) PURE;
  3827.     STDMETHOD(AddDatabaseRole)(THIS_ LPSQLDMODATABASEROLE pDatabaseRole) PURE;
  3828.     STDMETHOD(GetDatabaseRoleCount)(THIS_ LPLONG plCount) PURE;
  3829.     STDMETHOD(GetPermissions)(THIS_ SQLDMO_PRIVILEGE_TYPE *Permissions) PURE;
  3830.     STDMETHOD(EnumFiles)(THIS_ LPSQLDMOQUERYRESULTS *ppResults) PURE;
  3831.     STDMETHOD(EnumFileGroups)(THIS_ LPSQLDMOQUERYRESULTS *ppResults) PURE;
  3832.     STDMETHOD(EnumUsers)(THIS_ LPSQLDMOQUERYRESULTS * ppResults, LPCOLESTR UserName CPPDEFAULT(= NULL)) PURE;
  3833.     STDMETHOD(EnumNTGroups)(THIS_ LPSQLDMOQUERYRESULTS * ppResults, LPCOLESTR GroupName CPPDEFAULT(= NULL)) PURE;
  3834.     STDMETHOD(Deny)(THIS_ SQLDMO_PRIVILEGE_TYPE iPrivileges, SQLDMO_LPCSTR DenyeeNames) PURE;
  3835.     STDMETHOD(IsUser)(THIS_ SQLDMO_LPCSTR UserName, LPBOOL pRetVal) PURE;
  3836.     STDMETHOD(GetIsdb_accessadmin)(THIS_ LPBOOL pRetVal) PURE;
  3837.     STDMETHOD(GetIsdb_datareader)(THIS_ LPBOOL pRetVal) PURE;
  3838.     STDMETHOD(GetIsdb_ddladmin)(THIS_ LPBOOL pRetVal) PURE;
  3839.     STDMETHOD(GetIsdb_denydatareader)(THIS_ LPBOOL pRetVal) PURE;
  3840.     STDMETHOD(GetIsdb_denydatawriter)(THIS_ LPBOOL pRetVal) PURE;
  3841.     STDMETHOD(GetIsdb_backupoperator)(THIS_ LPBOOL pRetVal) PURE;
  3842.     STDMETHOD(GetIsdb_owner)(THIS_ LPBOOL pRetVal) PURE;
  3843.     STDMETHOD(GetIsdb_securityadmin)(THIS_ LPBOOL pRetVal) PURE;
  3844.     STDMETHOD(GetIsdb_datawriter)(THIS_ LPBOOL pRetVal) PURE;
  3845.     STDMETHOD(GenerateSQL)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  3846.     STDMETHOD(Shrink)(THIS_ long lFreeSpaceInPercent, SQLDMO_SHRINK_TYPE Truncate) PURE;
  3847.     // Following CheckTextAllocsXXXX are for backward compatible
  3848.     STDMETHOD(CheckTextAllocsFast)(THIS_ SQLDMO_LPBSTR pResult) PURE;
  3849.     STDMETHOD(CheckTextAllocsFull)(THIS_ SQLDMO_LPBSTR pResult) PURE;
  3850.     STDMETHOD(EnumMatchingSPs)(THIS_ LPCOLESTR Text, LPSQLDMOQUERYRESULTS * ppResults, BOOL IncSys CPPDEFAULT (= FALSE)) PURE;
  3851.     STDMETHOD(EnableFullTextCatalogs)(THIS) PURE;
  3852.     STDMETHOD(RemoveFullTextCatalogs)(THIS) PURE;
  3853.     STDMETHOD(FullTextIndexScript)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  3854.     STDMETHOD(GetIsFullTextEnabled)(THIS_ LPBOOL pRetVal) PURE;
  3855.     STDMETHOD(GetFullTextCatalogs)(THIS_ LPSQLDMOFULLTEXTCATALOGS * ppFullTextCatalogs) PURE;
  3856.     STDMETHOD(GetFullTextCatalogByName)(THIS_ LPCOLESTR szName, LPSQLDMOFULLTEXTCATALOG *ppFullTextCatalog) PURE;
  3857.     STDMETHOD(GetFullTextCatalogByOrd)(THIS_ long lOrdinal, LPSQLDMOFULLTEXTCATALOG *ppFullTextCatalog) PURE;
  3858.     STDMETHOD(RemoveFullTextCatalogByName)(THIS_ LPCOLESTR szName) PURE;
  3859.     STDMETHOD(RemoveFullTextCatalogByOrd)(THIS_ long lOrdinal) PURE;
  3860.     STDMETHOD(AddFullTextCatalog)(THIS_ LPSQLDMOFULLTEXTCATALOG pFullTextCatalog) PURE;
  3861.     STDMETHOD(GetFullTextCatalogCount)(THIS_ LPLONG plCount) PURE;
  3862.     STDMETHOD(DisableFullTextCatalogs)(THIS) PURE;
  3863.     STDMETHOD(GetCompatibilityLevel)(THIS_ SQLDMO_COMP_LEVEL_TYPE * pRetVal) PURE;
  3864.     STDMETHOD(SetCompatibilityLevel)(THIS_ SQLDMO_COMP_LEVEL_TYPE NewValue) PURE;
  3865.     STDMETHOD(GetUseServerName)(THIS_ SQLDMO_LPBSTR pbstrName) PURE;
  3866.     STDMETHOD(SetUseServerName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  3867. };
  3868.  
  3869. ////////////////////////////////////////////////////////////////////////////////////
  3870. ////////////////////////////////////////////////////////////////////////////////////
  3871.  
  3872. #undef INTERFACE
  3873. #define INTERFACE ISQLDMOBackupDevices
  3874. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  3875. {
  3876.    //*** IUnknown methods
  3877.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  3878.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  3879.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  3880.  
  3881.         //*** SQLDMO standard object properties.
  3882.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  3883.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  3884.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  3885.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  3886.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  3887.  
  3888.     //*** SQLDMO standard enumeration properties
  3889.         STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLDMOBACKUPDEVICE *ppObj) PURE;
  3890.         STDMETHOD(GetItemByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOBACKUPDEVICE *ppObj) PURE;
  3891.         STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  3892.  
  3893.     //*** SQLDMO standard collection methods
  3894.         STDMETHOD(Add)(THIS_ LPSQLDMOBACKUPDEVICE Object) PURE;
  3895.         STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  3896.         STDMETHOD(RemoveByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  3897.         STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  3898. };
  3899.  
  3900. #undef INTERFACE
  3901. #define INTERFACE ISQLDMOBackupDevice
  3902. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  3903. {
  3904.    //*** IUnknown methods
  3905.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  3906.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  3907.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  3908.  
  3909.         //*** SQLDMO standard object properties.
  3910.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  3911.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  3912.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  3913.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  3914.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  3915.  
  3916.         //*** properties
  3917.     STDMETHOD(GetName)(THIS_ SQLDMO_LPBSTR pbstrName) PURE;
  3918.     STDMETHOD(SetName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  3919.     STDMETHOD(GetPhysicalLocation)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  3920.     STDMETHOD(SetPhysicalLocation)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  3921.     STDMETHOD(GetType)(THIS_ SQLDMO_DEVICE_TYPE *pRetVal) PURE;
  3922.     STDMETHOD(SetType)(THIS_ SQLDMO_DEVICE_TYPE NewValue) PURE;
  3923.     STDMETHOD(GetStatus)(THIS_ LPLONG pRetVal) PURE;
  3924.     STDMETHOD(GetDeviceNumber)(THIS_ LPLONG pRetVal) PURE;
  3925.     STDMETHOD(GetSkipTapeLabel)(THIS_ LPBOOL pRetVal) PURE;
  3926.     STDMETHOD(SetSkipTapeLabel)(THIS_ BOOL NewValue) PURE;
  3927.     STDMETHOD(GetSystemObject)(THIS_ LPBOOL pRetVal) PURE;
  3928.  
  3929.         //*** methods
  3930.     STDMETHOD(Remove)(THIS) PURE;
  3931.     STDMETHOD(ReadBackupHeader)(THIS_ LPSQLDMOQUERYRESULTS *ppResults) PURE;
  3932.  
  3933.         // Post-6.0 Additions
  3934.     STDMETHOD(Script)(THIS_ SQLDMO_SCRIPT_TYPE ScriptType CPPDEFAULT(= SQLDMOScript_Default), SQLDMO_LPCSTR ScriptFilePath CPPDEFAULT(= NULL), SQLDMO_LPCSTR NewPhysicalLocation CPPDEFAULT(= NULL), SQLDMO_LPBSTR ScriptText CPPDEFAULT(= NULL), SQLDMO_SCRIPT2_TYPE Script2Type CPPDEFAULT(= SQLDMOScript2_Default)) PURE;
  3935.  
  3936.     // 7.0
  3937.     STDMETHOD(ReadMediaHeader)(THIS_ LPSQLDMOQUERYRESULTS *ppResults) PURE;
  3938. };
  3939.  
  3940. ////////////////////////////////////////////////////////////////////////////////////
  3941. ////////////////////////////////////////////////////////////////////////////////////
  3942.  
  3943. #undef INTERFACE
  3944. #define INTERFACE ISQLDMOLogins
  3945. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  3946. {
  3947.    //*** IUnknown methods
  3948.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  3949.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  3950.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  3951.  
  3952.         //*** SQLDMO standard object properties.
  3953.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  3954.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  3955.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  3956.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  3957.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  3958.  
  3959.     //*** SQLDMO standard enumeration properties
  3960.         STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLDMOLOGIN *ppObj) PURE;
  3961.         STDMETHOD(GetItemByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOLOGIN *ppObj) PURE;
  3962.         STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  3963.  
  3964.     //*** SQLDMO standard collection methods
  3965.         STDMETHOD(Add)(THIS_ LPSQLDMOLOGIN Object) PURE;
  3966.         STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  3967.         STDMETHOD(RemoveByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  3968.         STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  3969. };
  3970.  
  3971. #undef INTERFACE
  3972. #define INTERFACE ISQLDMOLogin
  3973. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  3974. {
  3975.    //*** IUnknown methods
  3976.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  3977.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  3978.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  3979.  
  3980.         //*** SQLDMO standard object properties.
  3981.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  3982.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  3983.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  3984.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  3985.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  3986.  
  3987.         //*** properties
  3988.     STDMETHOD(GetName)(THIS_ SQLDMO_LPBSTR pbstrName) PURE;
  3989.     STDMETHOD(SetName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  3990. //    STDMETHOD(GetID)(THIS_ LPLONG plID) PURE;
  3991.     STDMETHOD(GetSystemObject)(THIS_ LPBOOL pRetVal) PURE;
  3992.     STDMETHOD(GetLanguage)(THIS_ SQLDMO_LPBSTR pbstrLanguage) PURE;
  3993.     STDMETHOD(SetLanguage)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  3994.     STDMETHOD(GetDatabase)(THIS_ SQLDMO_LPBSTR pbstrDatabase) PURE;
  3995.     STDMETHOD(SetDatabase)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  3996.  
  3997.    //*** methods
  3998.     STDMETHOD(Remove)(THIS) PURE;
  3999.     STDMETHOD(Script)(THIS_ SQLDMO_SCRIPT_TYPE ScriptType CPPDEFAULT(= SQLDMOScript_Default), SQLDMO_LPCSTR ScriptFilePath CPPDEFAULT(= NULL), SQLDMO_LPBSTR ScriptText CPPDEFAULT(= NULL), SQLDMO_SCRIPT2_TYPE Script2Type CPPDEFAULT(= SQLDMOScript2_Default)) PURE;
  4000.     STDMETHOD(SetPassword)(THIS_ SQLDMO_LPCSTR OldValue, SQLDMO_LPCSTR NewValue) PURE;
  4001.  
  4002.         // Post-6.0 additions
  4003.     STDMETHOD(EnumDatabaseMappings)(THIS_ LPSQLDMOQUERYRESULTS *ppResults) PURE;
  4004.  
  4005.     // 7.0
  4006.     STDMETHOD(GetType)(THIS_ SQLDMO_LOGIN_TYPE *pRetVal) PURE;
  4007.     STDMETHOD(SetType)(THIS_ SQLDMO_LOGIN_TYPE NewValue) PURE;
  4008.     STDMETHOD(GetDenyNTLogin)(THIS_ LPBOOL pRetVal) PURE;
  4009.     STDMETHOD(SetDenyNTLogin)(THIS_ BOOL NewVal) PURE;
  4010.     STDMETHOD(ListMembers)(THIS_ LPSQLDMONAMELIST *ppList) PURE;
  4011.     STDMETHOD(IsMember)(THIS_ SQLDMO_LPCSTR ServerRole, LPBOOL pRetVal) PURE;
  4012.     STDMETHOD(GetUserName)(THIS_ SQLDMO_LPCSTR DatabaseName, SQLDMO_LPBSTR pRetVal) PURE;
  4013.     STDMETHOD(GetAliasName)(THIS_ SQLDMO_LPCSTR DatabaseName, SQLDMO_LPBSTR pRetVal) PURE;
  4014.     STDMETHOD(GetLanguageAlias)(THIS_ SQLDMO_LPBSTR pbstrLanguageAlias) PURE;
  4015.     STDMETHOD(GetNTLoginAccessType)(THIS_ SQLDMO_NTACCESS_TYPE *pRetVal) PURE;
  4016. };
  4017.  
  4018. ////////////////////////////////////////////////////////////////////////////////////
  4019. ////////////////////////////////////////////////////////////////////////////////////
  4020.  
  4021. #undef INTERFACE
  4022. #define INTERFACE ISQLDMOLanguages
  4023. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  4024. {
  4025.    //*** IUnknown methods
  4026.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  4027.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  4028.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  4029.  
  4030.         //*** SQLDMO standard object properties.
  4031.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  4032.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  4033.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  4034.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  4035.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  4036.  
  4037.     //*** SQLDMO standard enumeration properties
  4038.     STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLDMOLANGUAGE *ppObj) PURE;
  4039.     STDMETHOD(GetItemByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOLANGUAGE *ppObj) PURE;
  4040.     STDMETHOD(GetItemByID)(THIS_ long lID, LPSQLDMOLANGUAGE *ppObj) PURE;
  4041.     STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  4042.  
  4043.     //*** SQLDMO standard collection methods
  4044.     STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  4045. };
  4046.  
  4047. #undef INTERFACE
  4048. #define INTERFACE ISQLDMOLanguage
  4049. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  4050. {
  4051.    //*** IUnknown methods
  4052.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  4053.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  4054.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  4055.  
  4056.         //*** SQLDMO standard object properties.
  4057.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  4058.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  4059.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  4060.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  4061.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  4062.  
  4063.         //*** properties
  4064.     STDMETHOD(GetName)(THIS_ SQLDMO_LPBSTR pbstrName) PURE;
  4065.     STDMETHOD(GetID)(THIS_ LPLONG plID) PURE;
  4066.     STDMETHOD(GetUpgrade)(THIS_ LPLONG pRetVal) PURE;
  4067.     STDMETHOD(GetAlias)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  4068.     STDMETHOD(SetAlias)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  4069.     STDMETHOD(GetMonths)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  4070.     STDMETHOD(GetShortMonths)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  4071.     STDMETHOD(GetDays)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  4072.     STDMETHOD(GetLangDateFormat)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  4073.     STDMETHOD(GetFirstDayOfWeek)(THIS_ LPINT pRetVal) PURE;
  4074.     STDMETHOD(GetMonth)(THIS_ int iMonth, SQLDMO_LPBSTR pRetVal) PURE;
  4075.     STDMETHOD(GetShortMonth)(THIS_ int iMonth, SQLDMO_LPBSTR pRetVal) PURE;
  4076.     STDMETHOD(GetDay)(THIS_ int iDay, SQLDMO_LPBSTR pRetVal) PURE;
  4077.  
  4078.    //*** methods
  4079. };
  4080.  
  4081. ////////////////////////////////////////////////////////////////////////////////////
  4082. ////////////////////////////////////////////////////////////////////////////////////
  4083.  
  4084. #undef INTERFACE
  4085. #define INTERFACE ISQLDMOConfiguration
  4086. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  4087. {
  4088.    //*** IUnknown methods
  4089.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  4090.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  4091.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  4092.  
  4093.         //*** SQLDMO standard object properties.
  4094.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  4095.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  4096.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  4097.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  4098.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  4099.  
  4100.         //*** properties
  4101.     STDMETHOD(GetShowAdvancedOptions)(THIS_ LPBOOL pRetVal) PURE;
  4102.     STDMETHOD(SetShowAdvancedOptions)(THIS_ BOOL NewValue) PURE;
  4103.  
  4104.         //*** collection properties
  4105.     STDMETHOD(GetConfigValues)(THIS_ LPSQLDMOCONFIGVALUES * ppRemoteLogins) PURE;
  4106.     STDMETHOD(GetConfigValueByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOCONFIGVALUE *ppRemoteLogin) PURE;
  4107.     STDMETHOD(GetConfigValueByOrd)(THIS_ long lOrdinal, LPSQLDMOCONFIGVALUE *ppRemoteLogin) PURE;
  4108.     STDMETHOD(GetConfigValueCount)(THIS_ LPLONG plCount) PURE;
  4109.  
  4110.     STDMETHOD(GetParameters)(THIS_ LPSQLDMONAMES *ppParameters) PURE;
  4111.  
  4112.         //*** methods
  4113.     STDMETHOD(ReconfigureCurrentValues)(THIS) PURE;
  4114.     STDMETHOD(ReconfigureWithOverride)(THIS) PURE;
  4115. };
  4116.  
  4117. ////////////////////////////////////////////////////////////////////////////////////
  4118. ////////////////////////////////////////////////////////////////////////////////////
  4119.  
  4120. #undef INTERFACE
  4121. #define INTERFACE ISQLDMOConfigValues
  4122. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  4123. {
  4124.    //*** IUnknown methods
  4125.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  4126.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  4127.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  4128.  
  4129.         //*** SQLDMO standard object properties.
  4130.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  4131.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  4132.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  4133.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  4134.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  4135.  
  4136.     //*** SQLDMO standard enumeration properties
  4137.         STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLDMOCONFIGVALUE *ppObj) PURE;
  4138.         STDMETHOD(GetItemByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOCONFIGVALUE *ppObj) PURE;
  4139.     STDMETHOD(GetItemByID)(THIS_ long lID, LPSQLDMOCONFIGVALUE *ppObj) PURE;
  4140.         STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  4141.     STDMETHOD(Refresh)(THIS) PURE;
  4142. };
  4143.  
  4144. #undef INTERFACE
  4145. #define INTERFACE ISQLDMOConfigValue
  4146. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  4147. {
  4148.    //*** IUnknown methods
  4149.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  4150.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  4151.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  4152.  
  4153.         //*** SQLDMO standard object properties.
  4154.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  4155.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  4156.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  4157.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  4158.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  4159.  
  4160.         //*** properties
  4161.     STDMETHOD(GetName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  4162.     STDMETHOD(GetMinimumValue)(THIS_ LPLONG pRetVal) PURE;
  4163.     STDMETHOD(GetMaximumValue)(THIS_ LPLONG pRetVal) PURE;
  4164.     STDMETHOD(GetDynamicReconfigure)(THIS_ LPBOOL pRetVal) PURE;
  4165.     STDMETHOD(GetCurrentValue)(THIS_ LPLONG pRetVal) PURE;
  4166.     STDMETHOD(SetCurrentValue)(THIS_ long NewValue) PURE;
  4167.     STDMETHOD(GetRunningValue)(THIS_ LPLONG pRetVal) PURE;
  4168.     STDMETHOD(GetDescription)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  4169.     STDMETHOD(GetID)(THIS_ SQLDMO_CONFIGVALUE_TYPE *pRetVal) PURE;
  4170. };
  4171.  
  4172. ////////////////////////////////////////////////////////////////////////////////////
  4173. ////////////////////////////////////////////////////////////////////////////////////
  4174.  
  4175. #undef INTERFACE
  4176. #define INTERFACE ISQLDMOIntegratedSecurity
  4177. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  4178. {
  4179.    //*** IUnknown methods
  4180.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  4181.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  4182.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  4183.  
  4184.         //*** SQLDMO standard object properties.
  4185.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  4186.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  4187.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  4188.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  4189.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  4190.  
  4191.         //*** properties
  4192.     STDMETHOD(GetMapUnderscore)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  4193.     STDMETHOD(SetMapUnderscore)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  4194.     STDMETHOD(GetMapDollarSign)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  4195.     STDMETHOD(SetMapDollarSign)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  4196.     STDMETHOD(GetMapPoundSign)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  4197.     STDMETHOD(SetMapPoundSign)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  4198.  
  4199.     STDMETHOD(GetSecurityMode)(THIS_ SQLDMO_SECURITY_TYPE * pRetVal) PURE;
  4200.     STDMETHOD(SetSecurityMode)(THIS_ SQLDMO_SECURITY_TYPE NewValue) PURE;
  4201.     STDMETHOD(GetDefaultLogin)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  4202.     STDMETHOD(SetDefaultLogin)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  4203.     STDMETHOD(GetDefaultDomain)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  4204.     STDMETHOD(SetDefaultDomain)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  4205.     STDMETHOD(GetAuditLevel)(THIS_ SQLDMO_AUDIT_TYPE * pRetVal) PURE;
  4206.     STDMETHOD(SetAuditLevel)(THIS_ SQLDMO_AUDIT_TYPE NewValue) PURE;
  4207.     STDMETHOD(GetSetHostName)(THIS_ LPBOOL pRetVal) PURE;
  4208.     STDMETHOD(SetSetHostName)(THIS_ BOOL NewValue) PURE;
  4209.     STDMETHOD(GetImpersonateClient)(THIS_ LPBOOL pRetVal) PURE;
  4210.     STDMETHOD(SetImpersonateClient)(THIS_ BOOL NewValue) PURE;
  4211.  
  4212.    //*** methods
  4213.     STDMETHOD(Refresh)(THIS) PURE;
  4214. };
  4215.  
  4216. ////////////////////////////////////////////////////////////////////////////////////
  4217. ////////////////////////////////////////////////////////////////////////////////////
  4218.  
  4219. #undef INTERFACE
  4220. #define INTERFACE ISQLDMOTables
  4221. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  4222. {
  4223.    //*** IUnknown methods
  4224.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  4225.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  4226.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  4227.  
  4228.         //*** SQLDMO standard object properties.
  4229.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  4230.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  4231.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  4232.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  4233.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  4234.  
  4235.     //*** SQLDMO standard enumeration properties
  4236.         STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLDMOTABLE *ppObj) PURE;
  4237.         STDMETHOD(GetItemByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOTABLE *ppObj, SQLDMO_LPCSTR szOwner CPPDEFAULT(= NULL)) PURE;
  4238.     STDMETHOD(GetItemByID)(THIS_ long lID, LPSQLDMOTABLE *ppObj) PURE;
  4239.         STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  4240.  
  4241.     //*** SQLDMO standard collection methods
  4242.         STDMETHOD(Add)(THIS_ LPSQLDMOTABLE Object) PURE;
  4243.         STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  4244.         STDMETHOD(RemoveByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  4245.         STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  4246. };
  4247.  
  4248. #undef INTERFACE
  4249. #define INTERFACE ISQLDMOTable
  4250. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  4251. {
  4252.    //*** IUnknown methods
  4253.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  4254.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  4255.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  4256.  
  4257.         //*** SQLDMO standard object properties.
  4258.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  4259.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  4260.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  4261.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  4262.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  4263.  
  4264.         //*** properties
  4265.     STDMETHOD(GetName)(THIS_ SQLDMO_LPBSTR pbstrName) PURE;
  4266.     STDMETHOD(SetName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  4267.     STDMETHOD(GetID)(THIS_ LPLONG plID) PURE;
  4268.     STDMETHOD(GetOwner)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  4269.     STDMETHOD(GetCreateDate)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  4270.     STDMETHOD(GetSystemObject)(THIS_ LPBOOL pRetVal) PURE;
  4271.     STDMETHOD(GetRows)(THIS_ LPLONG pRetVal) PURE;
  4272.     STDMETHOD(GetDataSpaceUsed)(THIS_ LPLONG pRetVal) PURE;
  4273.     STDMETHOD(GetIndexSpaceUsed)(THIS_ LPLONG pRetVal) PURE;
  4274.     STDMETHOD(GetAttributes)(THIS_ SQLDMO_TABLEATT_TYPE *pRetVal) PURE;
  4275.     STDMETHOD(GetPrimaryKey)(THIS_ LPSQLDMOKEY *ppPrimaryKey) PURE;
  4276.     STDMETHOD(GetClusteredIndex)(THIS_ LPSQLDMOINDEX *ppPrimaryKey) PURE;
  4277.  
  4278.         // Collection properties
  4279.     STDMETHOD(GetColumns)(THIS_ LPSQLDMOCOLUMNS *ppColumns) PURE;
  4280.     STDMETHOD(GetColumnByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOCOLUMN *ppColumn) PURE;
  4281.     STDMETHOD(GetColumnByOrd)(THIS_ long lOrdinal, LPSQLDMOCOLUMN *ppColumn) PURE;
  4282.     STDMETHOD(RemoveColumnByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  4283.     STDMETHOD(RemoveColumnByOrd)(THIS_ long lOrdinal) PURE;
  4284.     STDMETHOD(AddColumn)(THIS_ LPSQLDMOCOLUMN pColumn) PURE;
  4285.     STDMETHOD(GetColumnCount)(THIS_ LPLONG plCount) PURE;
  4286.  
  4287.     STDMETHOD(GetKeys)(THIS_ LPSQLDMOKEYS *ppKeys) PURE;
  4288.     STDMETHOD(GetKeyByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOKEY *ppKey) PURE;
  4289.     STDMETHOD(GetKeyByOrd)(THIS_ long lOrdinal, LPSQLDMOKEY *ppKey) PURE;
  4290.     STDMETHOD(RemoveKeyByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  4291.     STDMETHOD(RemoveKeyByOrd)(THIS_ long lOrdinal) PURE;
  4292.     STDMETHOD(AddKey)(THIS_ LPSQLDMOKEY pKey) PURE;
  4293.     STDMETHOD(GetKeyCount)(THIS_ LPLONG plCount) PURE;
  4294.  
  4295.     STDMETHOD(GetChecks)(THIS_ LPSQLDMOCHECKS *ppChecks) PURE;
  4296.     STDMETHOD(GetCheckByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOCHECK *ppCheck) PURE;
  4297.     STDMETHOD(GetCheckByOrd)(THIS_ long lOrdinal, LPSQLDMOCHECK *ppCheck) PURE;
  4298.     STDMETHOD(RemoveCheckByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  4299.     STDMETHOD(RemoveCheckByOrd)(THIS_ long lOrdinal) PURE;
  4300.     STDMETHOD(AddCheck)(THIS_ LPSQLDMOCHECK pCheck) PURE;
  4301.     STDMETHOD(GetCheckCount)(THIS_ LPLONG plCount) PURE;
  4302.  
  4303.     STDMETHOD(GetIndexes)(THIS_ LPSQLDMOINDEXES *ppIndexes) PURE;
  4304.     STDMETHOD(GetIndexByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOINDEX *ppIndex) PURE;
  4305.     STDMETHOD(GetIndexByOrd)(THIS_ long lOrdinal, LPSQLDMOINDEX *ppIndex) PURE;
  4306.     STDMETHOD(RemoveIndexByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  4307.     STDMETHOD(RemoveIndexByOrd)(THIS_ long lOrdinal) PURE;
  4308.     STDMETHOD(AddIndex)(THIS_ LPSQLDMOINDEX pIndex) PURE;
  4309.     STDMETHOD(GetIndexCount)(THIS_ LPLONG plCount) PURE;
  4310.  
  4311.     STDMETHOD(GetTriggers)(THIS_ LPSQLDMOTRIGGERS *ppTriggers) PURE;
  4312.     STDMETHOD(GetTriggerByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOTRIGGER *ppTrigger, SQLDMO_LPCSTR szOwner CPPDEFAULT(= NULL)) PURE;
  4313.     STDMETHOD(GetTriggerByOrd)(THIS_ long lOrdinal, LPSQLDMOTRIGGER *ppTrigger) PURE;
  4314.     STDMETHOD(RemoveTriggerByName)(THIS_ SQLDMO_LPCSTR szName, SQLDMO_LPCSTR szOwner CPPDEFAULT(= NULL)) PURE;
  4315.     STDMETHOD(RemoveTriggerByOrd)(THIS_ long lOrdinal) PURE;
  4316.     STDMETHOD(AddTrigger)(THIS_ LPSQLDMOTRIGGER pTrigger) PURE;
  4317.     STDMETHOD(GetTriggerCount)(THIS_ LPLONG plCount) PURE;
  4318.  
  4319.         //*** methods
  4320.     STDMETHOD(BeginAlter)(THIS) PURE;
  4321.     STDMETHOD(DoAlter)(THIS) PURE;
  4322.     STDMETHOD(DoAlterWithNoCheck)(THIS) PURE;
  4323.     STDMETHOD(CancelAlter)(THIS) PURE;
  4324.     STDMETHOD(Grant)(THIS_ SQLDMO_PRIVILEGE_TYPE iPrivileges, SQLDMO_LPCSTR GranteeNames, SQLDMO_LPCSTR ColumnNames CPPDEFAULT(= NULL), BOOL GrantGrant CPPDEFAULT(=FALSE), SQLDMO_LPCSTR AsRole CPPDEFAULT(= NULL)) PURE;
  4325.     STDMETHOD(Revoke)(THIS_ SQLDMO_PRIVILEGE_TYPE iPrivileges, SQLDMO_LPCSTR RevokeeNames, SQLDMO_LPCSTR ColumnNames CPPDEFAULT(= NULL), BOOL GrantGrant CPPDEFAULT(=FALSE), BOOL RevokeGrantOption CPPDEFAULT(=FALSE), SQLDMO_LPCSTR AsRole CPPDEFAULT(= NULL)) PURE;
  4326.     STDMETHOD(CheckTable)(THIS_ SQLDMO_LPBSTR pResult) PURE;
  4327.     STDMETHOD(TruncateData)(THIS) PURE;
  4328.     STDMETHOD(UpdateStatistics)(THIS) PURE;
  4329.     STDMETHOD(ReCompileReferences)(THIS) PURE;
  4330.     STDMETHOD(Remove)(THIS) PURE;
  4331.     STDMETHOD(Refresh)(THIS) PURE;
  4332.     STDMETHOD(Script)(THIS_ SQLDMO_SCRIPT_TYPE ScriptType CPPDEFAULT(= SQLDMOScript_Default), SQLDMO_LPCSTR ScriptFilePath CPPDEFAULT(= NULL), SQLDMO_LPCSTR NewName CPPDEFAULT(= NULL), SQLDMO_LPBSTR ScriptText CPPDEFAULT(= NULL), SQLDMO_SCRIPT2_TYPE Script2Type CPPDEFAULT(= SQLDMOScript2_Default)) PURE;
  4333.     STDMETHOD(EnumReferencedKeys)(THIS_ LPSQLDMOQUERYRESULTS * ppResults, SQLDMO_LPCSTR ReferencedTableName CPPDEFAULT(= NULL), BOOL IncludeAllCandidates CPPDEFAULT(= NULL)) PURE;
  4334.     STDMETHOD(EnumReferencedTables)(THIS_ LPSQLDMOQUERYRESULTS * ppResults, BOOL IncludeAllCandidates CPPDEFAULT(= NULL)) PURE;
  4335.     STDMETHOD(EnumReferencingKeys)(THIS_ LPSQLDMOQUERYRESULTS * ppResults, SQLDMO_LPCSTR ReferencingTableName CPPDEFAULT(= NULL), BOOL IncludeAllCandidates CPPDEFAULT(= NULL)) PURE;
  4336.     STDMETHOD(EnumReferencingTables)(THIS_ LPSQLDMOQUERYRESULTS * ppResults, BOOL IncludeAllCandidates CPPDEFAULT(= NULL)) PURE;
  4337.     STDMETHOD(InsertColumn)(THIS_ LPSQLDMOCOLUMN pNewColumn, SQLDMO_LPCSTR BeforeColumnName) PURE;
  4338.     STDMETHOD(RecalcSpaceUsage)(THIS) PURE;
  4339.     STDMETHOD(EnumDependencies)(THIS_ LPSQLDMOQUERYRESULTS *ppResults, SQLDMO_DEPENDENCY_TYPE DependencyType CPPDEFAULT(= SQLDMODep_Parents)) PURE;
  4340.     STDMETHOD(EnumLastStatisticsUpdates)(THIS_ LPSQLDMOQUERYRESULTS * ppResults, SQLDMO_LPCSTR IndexName CPPDEFAULT(= NULL)) PURE;
  4341.  
  4342.         // List methods
  4343.     STDMETHOD(ListPermissions)(THIS_ LPSQLDMOPERMISSIONLIST * ppList, SQLDMO_PRIVILEGE_TYPE lPrivilegeTypes CPPDEFAULT(= SQLDMOPriv_AllObjectPrivs)) PURE;
  4344.     STDMETHOD(ListUserPermissions)(THIS_ SQLDMO_LPCSTR UserName, LPSQLDMOPERMISSIONLIST * ppList) PURE;
  4345.  
  4346.         // Post-6.0 additions.
  4347.     STDMETHOD(CheckIdentityValue)(THIS) PURE;
  4348.     STDMETHOD(RebuildIndexes)(THIS_ SQLDMO_INDEX_TYPE SortedDataType CPPDEFAULT(= SQLDMOIndex_Default), long lFillFactor CPPDEFAULT(= SQLDMO_USEEXISTINGFILLFACTOR)) PURE;
  4349.     STDMETHOD(ImportData)(THIS_ LPSQLDMOBULKCOPY Bcp, LPLONG plRowsImported CPPDEFAULT(= NULL)) PURE;
  4350.     STDMETHOD(ExportData)(THIS_ LPSQLDMOBULKCOPY Bcp, LPLONG plRowsExported CPPDEFAULT(= NULL)) PURE;
  4351.     STDMETHOD(CheckTableDataOnly)(THIS_ SQLDMO_LPBSTR pResult) PURE;
  4352.     STDMETHOD(InAlter)(THIS_ LPBOOL pRetVal) PURE;
  4353.  
  4354.     // 7.0
  4355.     STDMETHOD(GetFileGroup)(THIS_ SQLDMO_LPBSTR pbstrName) PURE;
  4356.     STDMETHOD(SetFileGroup)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  4357.     STDMETHOD(GetTextFileGroup)(THIS_ SQLDMO_LPBSTR pbstrName) PURE;
  4358.     STDMETHOD(SetTextFileGroup)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  4359.     STDMETHOD(Deny)(THIS_ SQLDMO_PRIVILEGE_TYPE iPrivileges, SQLDMO_LPCSTR DenyeeNames, SQLDMO_LPCSTR ColumnNames CPPDEFAULT(= NULL), BOOL GrantGrant CPPDEFAULT(=FALSE)) PURE;
  4360.     STDMETHOD(SetOwner)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  4361.     STDMETHOD(GenerateSQL)(THIS_ LPSQLDMODATABASE pDB, SQLDMO_LPBSTR pRetVal) PURE;
  4362.     // Following CheckTextAllocsXXXX are for backward compatible
  4363.     STDMETHOD(CheckTextAllocsFast)(THIS_ SQLDMO_LPBSTR pResult) PURE;
  4364.     STDMETHOD(CheckTextAllocsFull)(THIS_ SQLDMO_LPBSTR pResult) PURE;
  4365.     STDMETHOD(UpdateStatisticsWith)(THIS_ SQLDMO_STAT_AFFECT_TYPE AffectType, SQLDMO_STAT_SCAN_TYPE ScanType, long ScanNumber CPPDEFAULT(=0), BOOL ReCompute CPPDEFAULT(=TRUE)) PURE;
  4366.     STDMETHOD(GetFullTextIndex)(THIS_ LPBOOL pRetVal) PURE;
  4367.     STDMETHOD(SetFullTextIndex)(THIS_ BOOL NewValue) PURE;
  4368.     STDMETHOD(GetUniqueIndexForFullText)(THIS_ SQLDMO_LPBSTR pbstrName) PURE;
  4369.     STDMETHOD(SetUniqueIndexForFullText)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  4370.     STDMETHOD(GetFullTextCatalogName)(THIS_ SQLDMO_LPBSTR pbstrName) PURE;
  4371.     STDMETHOD(SetFullTextCatalogName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  4372.     STDMETHOD(GetFullTextIndexActive)(THIS_ LPBOOL pRetVal) PURE;
  4373.     STDMETHOD(SetFullTextIndexActive)(THIS_ BOOL NewValue) PURE;
  4374.     STDMETHOD(GetFullTextKeyColumn)(THIS_ LPLONG pRetVal) PURE;
  4375.     STDMETHOD(ListAvailableUniqueIndexesForFullText)(THIS_ LPSQLDMONAMELIST *ppUniqueIndexNames) PURE;
  4376.     STDMETHOD(FullTextIndexScript)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  4377.     STDMETHOD(GetHasClusteredIndex)(THIS_ LPBOOL pRetVal) PURE;
  4378.     STDMETHOD(GetHasIndex)(THIS_ LPBOOL pRetVal) PURE;
  4379.     STDMETHOD(GetFakeSystemTable)(THIS_ LPBOOL pRetVal) PURE;
  4380. };
  4381.  
  4382. ////////////////////////////////////////////////////////////////////////////////////
  4383. ////////////////////////////////////////////////////////////////////////////////////
  4384.  
  4385. #undef INTERFACE
  4386. #define INTERFACE ISQLDMOViews
  4387. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  4388. {
  4389.    //*** IUnknown methods
  4390.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  4391.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  4392.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  4393.  
  4394.         //*** SQLDMO standard object properties.
  4395.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  4396.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  4397.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  4398.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  4399.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  4400.  
  4401.     //*** SQLDMO standard enumeration properties
  4402.         STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLDMOVIEW *ppObj) PURE;
  4403.         STDMETHOD(GetItemByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOVIEW *ppObj, SQLDMO_LPCSTR szOwner CPPDEFAULT(= NULL)) PURE;
  4404.     STDMETHOD(GetItemByID)(THIS_ long lID, LPSQLDMOVIEW *ppObj) PURE;
  4405.         STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  4406.  
  4407.     //*** SQLDMO standard collection methods
  4408.         STDMETHOD(Add)(THIS_ LPSQLDMOVIEW Object) PURE;
  4409.         STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  4410.         STDMETHOD(RemoveByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  4411.         STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  4412. };
  4413.  
  4414. #undef INTERFACE
  4415. #define INTERFACE ISQLDMOView
  4416. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  4417. {
  4418.    //*** IUnknown methods
  4419.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  4420.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  4421.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  4422.  
  4423.         //*** SQLDMO standard object properties.
  4424.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  4425.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  4426.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  4427.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  4428.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  4429.  
  4430.         //*** properties
  4431.     STDMETHOD(GetName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  4432.     STDMETHOD(SetName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  4433.     STDMETHOD(GetID)(THIS_ LPLONG plID) PURE;
  4434.     STDMETHOD(GetOwner)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  4435.     STDMETHOD(GetCreateDate)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  4436.     STDMETHOD(GetText)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  4437.     STDMETHOD(SetText)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  4438.     STDMETHOD(GetSystemObject)(THIS_ LPBOOL pRetVal) PURE;
  4439.  
  4440.         //*** methods
  4441.     STDMETHOD(Grant)(THIS_ SQLDMO_PRIVILEGE_TYPE iPrivileges, SQLDMO_LPCSTR GranteeNames, SQLDMO_LPCSTR ColumnNames CPPDEFAULT(= NULL), BOOL GrantGrant CPPDEFAULT(=FALSE), SQLDMO_LPCSTR AsRole CPPDEFAULT(= NULL)) PURE;
  4442.     STDMETHOD(Revoke)(THIS_ SQLDMO_PRIVILEGE_TYPE iPrivileges, SQLDMO_LPCSTR RevokeeNames, SQLDMO_LPCSTR ColumnNames CPPDEFAULT(= NULL), BOOL GrantGrant CPPDEFAULT(=FALSE), BOOL RevokeGrantOption CPPDEFAULT(=FALSE), SQLDMO_LPCSTR AsRole CPPDEFAULT(= NULL)) PURE;
  4443.     STDMETHOD(Remove)(THIS) PURE;
  4444.     STDMETHOD(Script)(THIS_ SQLDMO_SCRIPT_TYPE ScriptType CPPDEFAULT(= SQLDMOScript_Default), SQLDMO_LPCSTR ScriptFilePath CPPDEFAULT(= NULL), SQLDMO_LPBSTR ScriptText CPPDEFAULT(= NULL), SQLDMO_SCRIPT2_TYPE Script2Type CPPDEFAULT(= SQLDMOScript2_Default)) PURE;
  4445.     STDMETHOD(EnumDependencies)(THIS_ LPSQLDMOQUERYRESULTS *ppResults, SQLDMO_DEPENDENCY_TYPE DependencyType CPPDEFAULT(= SQLDMODep_Parents)) PURE;
  4446.  
  4447.     // List methods
  4448.     STDMETHOD(ListPermissions)(THIS_ LPSQLDMOPERMISSIONLIST * ppList, SQLDMO_PRIVILEGE_TYPE lPrivilegeTypes CPPDEFAULT(= SQLDMOPriv_AllObjectPrivs)) PURE;
  4449.     STDMETHOD(ListUserPermissions)(THIS_ SQLDMO_LPCSTR UserName, LPSQLDMOPERMISSIONLIST * ppList) PURE;
  4450.     STDMETHOD(ListColumns)(THIS_ LPSQLDMOCOLUMNLIST * ppList) PURE;
  4451.  
  4452.         // Post-6.0 additions.
  4453.     STDMETHOD(ExportData)(THIS_ LPSQLDMOBULKCOPY Bcp, LPLONG plRowsExported CPPDEFAULT(= NULL)) PURE;
  4454.  
  4455.     // 7.0
  4456.     STDMETHOD(Deny)(THIS_ SQLDMO_PRIVILEGE_TYPE iPrivileges, SQLDMO_LPCSTR DenyeeNames, SQLDMO_LPCSTR ColumnNames CPPDEFAULT(= NULL), BOOL GrantGrant CPPDEFAULT(=FALSE)) PURE;
  4457.     STDMETHOD(SetOwner)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  4458.     STDMETHOD(Alter)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  4459.     STDMETHOD(GetQuotedIdentifierStatus)(THIS_ LPBOOL pRetVal) PURE;
  4460.     STDMETHOD(GetAnsiNullsStatus)(THIS_ LPBOOL pRetVal) PURE;
  4461. };
  4462.  
  4463. ////////////////////////////////////////////////////////////////////////////////////
  4464. ////////////////////////////////////////////////////////////////////////////////////
  4465.  
  4466. #undef INTERFACE
  4467. #define INTERFACE ISQLDMORules
  4468. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  4469. {
  4470.    //*** IUnknown methods
  4471.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  4472.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  4473.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  4474.  
  4475.         //*** SQLDMO standard object properties.
  4476.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  4477.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  4478.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  4479.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  4480.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  4481.  
  4482.     //*** SQLDMO standard enumeration properties
  4483.         STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLDMORULE *ppObj) PURE;
  4484.         STDMETHOD(GetItemByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMORULE *ppObj, SQLDMO_LPCSTR szOwner CPPDEFAULT(= NULL)) PURE;
  4485.     STDMETHOD(GetItemByID)(THIS_ long lID, LPSQLDMORULE *ppObj) PURE;
  4486.         STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  4487.  
  4488.     //*** SQLDMO standard collection methods
  4489.         STDMETHOD(Add)(THIS_ LPSQLDMORULE Object) PURE;
  4490.         STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  4491.         STDMETHOD(RemoveByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  4492.         STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  4493. };
  4494.  
  4495. #undef INTERFACE
  4496. #define INTERFACE ISQLDMORule
  4497. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  4498. {
  4499.    //*** IUnknown methods
  4500.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  4501.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  4502.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  4503.  
  4504.         //*** SQLDMO standard object properties.
  4505.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  4506.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  4507.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  4508.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  4509.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  4510.  
  4511.         //*** properties
  4512.     STDMETHOD(GetName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  4513.     STDMETHOD(SetName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  4514.     STDMETHOD(GetOwner)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  4515.     STDMETHOD(GetCreateDate)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  4516.     STDMETHOD(GetID)(THIS_ LPLONG pRetVal) PURE;
  4517.     STDMETHOD(GetText)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  4518.     STDMETHOD(SetText)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  4519.  
  4520.         //*** methods
  4521.     STDMETHOD(BindToColumn)(THIS_ SQLDMO_LPCSTR TableName, SQLDMO_LPCSTR ColumnName) PURE;
  4522.     STDMETHOD(BindToDatatype)(THIS_ SQLDMO_LPCSTR DatatypeName, BOOL bFutureOnly CPPDEFAULT(= FALSE)) PURE;
  4523.     STDMETHOD(UnbindFromColumn)(THIS_ SQLDMO_LPCSTR TableName, SQLDMO_LPCSTR ColumnName) PURE;
  4524.     STDMETHOD(UnbindFromDatatype)(THIS_ SQLDMO_LPCSTR DatatypeName, BOOL bFutureOnly CPPDEFAULT(= FALSE)) PURE;
  4525.     STDMETHOD(Remove)(THIS) PURE;
  4526.     STDMETHOD(Script)(THIS_ SQLDMO_SCRIPT_TYPE ScriptType CPPDEFAULT(= SQLDMOScript_Default), SQLDMO_LPCSTR ScriptFilePath CPPDEFAULT(= NULL), SQLDMO_LPBSTR ScriptText CPPDEFAULT(= NULL), SQLDMO_SCRIPT2_TYPE Script2Type CPPDEFAULT(= SQLDMOScript2_Default)) PURE;
  4527.  
  4528.         // List methods
  4529.     STDMETHOD(ListBoundColumns)(THIS_ LPSQLDMOCOLUMNLIST * ppList) PURE;
  4530.     STDMETHOD(ListBoundDatatypes)(THIS_ LPSQLDMOUSERDEFINEDDATATYPELIST * ppList) PURE;
  4531.  
  4532.     // 7.0
  4533.     STDMETHOD(SetOwner)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  4534. };
  4535.  
  4536. ////////////////////////////////////////////////////////////////////////////////////
  4537. ////////////////////////////////////////////////////////////////////////////////////
  4538.  
  4539. #undef INTERFACE
  4540. #define INTERFACE ISQLDMODefaults
  4541. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  4542. {
  4543.    //*** IUnknown methods
  4544.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  4545.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  4546.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  4547.  
  4548.         //*** SQLDMO standard object properties.
  4549.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  4550.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  4551.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  4552.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  4553.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  4554.  
  4555.     //*** SQLDMO standard enumeration properties
  4556.         STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLDMODEFAULT *ppObj) PURE;
  4557.         STDMETHOD(GetItemByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMODEFAULT *ppObj, SQLDMO_LPCSTR szOwner CPPDEFAULT(= NULL)) PURE;
  4558.     STDMETHOD(GetItemByID)(THIS_ long lID, LPSQLDMODEFAULT *ppObj) PURE;
  4559.         STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  4560.  
  4561.     //*** SQLDMO standard collection methods
  4562.         STDMETHOD(Add)(THIS_ LPSQLDMODEFAULT Object) PURE;
  4563.         STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  4564.         STDMETHOD(RemoveByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  4565.         STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  4566. };
  4567.  
  4568. #undef INTERFACE
  4569. #define INTERFACE ISQLDMODefault
  4570. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  4571. {
  4572.    //*** IUnknown methods
  4573.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  4574.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  4575.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  4576.  
  4577.         //*** SQLDMO standard object properties.
  4578.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  4579.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  4580.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  4581.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  4582.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  4583.  
  4584.         //*** properties
  4585.     STDMETHOD(GetName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  4586.     STDMETHOD(SetName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  4587.     STDMETHOD(GetOwner)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  4588.     STDMETHOD(GetCreateDate)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  4589.     STDMETHOD(GetID)(THIS_ LPLONG pRetVal) PURE;
  4590.     STDMETHOD(GetText)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  4591.     STDMETHOD(SetText)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  4592.  
  4593.         //*** methods
  4594.     STDMETHOD(BindToColumn)(THIS_ SQLDMO_LPCSTR TableName, SQLDMO_LPCSTR ColumnName) PURE;
  4595.     STDMETHOD(BindToDatatype)(THIS_ SQLDMO_LPCSTR DatatypeName, BOOL bFutureOnly CPPDEFAULT(= FALSE)) PURE;
  4596.     STDMETHOD(UnbindFromColumn)(THIS_ SQLDMO_LPCSTR TableName, SQLDMO_LPCSTR ColumnName) PURE;
  4597.     STDMETHOD(UnbindFromDatatype)(THIS_ SQLDMO_LPCSTR DatatypeName, BOOL bFutureOnly CPPDEFAULT(= FALSE)) PURE;
  4598.     STDMETHOD(Remove)(THIS) PURE;
  4599.     STDMETHOD(Script)(THIS_ SQLDMO_SCRIPT_TYPE ScriptType CPPDEFAULT(= SQLDMOScript_Default), SQLDMO_LPCSTR ScriptFilePath CPPDEFAULT(= NULL), SQLDMO_LPBSTR ScriptText CPPDEFAULT(= NULL), SQLDMO_SCRIPT2_TYPE Script2Type CPPDEFAULT(= SQLDMOScript2_Default)) PURE;
  4600.  
  4601.         // List methods
  4602.     STDMETHOD(ListBoundColumns)(THIS_ LPSQLDMOCOLUMNLIST * ppList) PURE;
  4603.     STDMETHOD(ListBoundDatatypes)(THIS_ LPSQLDMOUSERDEFINEDDATATYPELIST * ppList) PURE;
  4604.  
  4605.     // 7.0
  4606.     STDMETHOD(SetOwner)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  4607. };
  4608.  
  4609. ////////////////////////////////////////////////////////////////////////////////////
  4610. ////////////////////////////////////////////////////////////////////////////////////
  4611.  
  4612. #undef INTERFACE
  4613. #define INTERFACE ISQLDMOColumns
  4614. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  4615. {
  4616.    //*** IUnknown methods
  4617.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  4618.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  4619.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  4620.  
  4621.         //*** SQLDMO standard object properties.
  4622.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  4623.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  4624.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  4625.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  4626.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  4627.  
  4628.     //*** SQLDMO standard enumeration properties
  4629.         STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLDMOCOLUMN *ppObj) PURE;
  4630.         STDMETHOD(GetItemByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOCOLUMN *ppObj) PURE;
  4631.     STDMETHOD(GetItemByID)(THIS_ long lID, LPSQLDMOCOLUMN *ppObj) PURE;
  4632.         STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  4633.  
  4634.     //*** SQLDMO standard collection methods
  4635.         STDMETHOD(Add)(THIS_ LPSQLDMOCOLUMN Object) PURE;
  4636.         STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  4637.         STDMETHOD(RemoveByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  4638.         STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  4639. };
  4640.  
  4641. #undef INTERFACE
  4642. #define INTERFACE ISQLDMOColumn
  4643. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  4644. {
  4645.    //*** IUnknown methods
  4646.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  4647.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  4648.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  4649.  
  4650.         //*** SQLDMO standard object properties.
  4651.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  4652.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  4653.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  4654.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  4655.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  4656.  
  4657.         //*** properties
  4658.     STDMETHOD(GetName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  4659.     STDMETHOD(SetName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  4660.     STDMETHOD(GetDatatype)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  4661.     STDMETHOD(SetDatatype)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  4662.     STDMETHOD(GetPhysicalDatatype)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  4663.     STDMETHOD(GetLength)(THIS_ LPLONG pRetVal) PURE;
  4664.     STDMETHOD(SetLength)(THIS_ long NewValue) PURE;
  4665.     STDMETHOD(GetDefault)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  4666.     STDMETHOD(SetDefault)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  4667.     STDMETHOD(GetRule)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  4668.     STDMETHOD(SetRule)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  4669.     STDMETHOD(GetAllowNulls)(THIS_ LPBOOL pRetVal) PURE;
  4670.     STDMETHOD(SetAllowNulls)(THIS_ BOOL NewValue) PURE;
  4671.     STDMETHOD(GetID)(THIS_ LPLONG pRetVal) PURE;
  4672.     STDMETHOD(GetIdentity)(THIS_ LPBOOL pRetVal) PURE;
  4673.     STDMETHOD(SetIdentity)(THIS_ BOOL NewValue) PURE;
  4674.     STDMETHOD(GetNumericPrecision)(THIS_ LPLONG pRetVal) PURE;
  4675.     STDMETHOD(SetNumericPrecision)(THIS_ long NewValue) PURE;
  4676.     STDMETHOD(GetNumericScale)(THIS_ LPLONG pRetVal) PURE;
  4677.     STDMETHOD(SetNumericScale)(THIS_ long NewValue) PURE;
  4678.     STDMETHOD(GetIdentitySeed)(THIS_ LPLONG pRetVal) PURE;
  4679.     STDMETHOD(SetIdentitySeed)(THIS_ long NewValue) PURE;
  4680.     STDMETHOD(GetIdentityIncrement)(THIS_ LPLONG pRetVal) PURE;
  4681.     STDMETHOD(SetIdentityIncrement)(THIS_ long NewValue) PURE;
  4682.     STDMETHOD(GetDRIDefault)(THIS_ LPSQLDMODRIDEFAULT *ppDRIDefault) PURE;
  4683.     STDMETHOD(GetInPrimaryKey)(THIS_ LPBOOL pRetVal) PURE;
  4684.  
  4685.    //*** methods
  4686.     STDMETHOD(Remove)(THIS) PURE;
  4687.     STDMETHOD(ListKeys)(THIS_ LPSQLDMOKEYLIST * ppList) PURE;
  4688.  
  4689.     // 7.0
  4690.     STDMETHOD(GetIsRowGuidCol)(THIS_ LPBOOL pRetVal) PURE;
  4691.     STDMETHOD(SetIsRowGuidCol)(THIS_ BOOL NewValue) PURE;
  4692.     STDMETHOD(GetIsComputed)(THIS_ LPBOOL pRetVal) PURE;
  4693.     STDMETHOD(SetIsComputed)(THIS_ BOOL NewValue) PURE;
  4694.     STDMETHOD(GetComputedText)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  4695.     STDMETHOD(SetComputedText)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  4696.     STDMETHOD(GetNotForRepl)(THIS_ LPBOOL pRetVal) PURE;
  4697.     STDMETHOD(SetNotForRepl)(THIS_ BOOL NewValue) PURE;
  4698.     STDMETHOD(UpdateStatisticsWith)(THIS_ SQLDMO_STAT_SCAN_TYPE ScanType, long ScanNumber CPPDEFAULT(=0), BOOL ReCompute CPPDEFAULT(=TRUE)) PURE;
  4699.     STDMETHOD(GetFullTextIndex)(THIS_ LPBOOL pRetVal) PURE;
  4700.     STDMETHOD(SetFullTextIndex)(THIS_ BOOL NewValue) PURE;
  4701.     STDMETHOD(GetAnsiPaddingStatus)(THIS_ LPBOOL pRetVal) PURE;
  4702.     STDMETHOD(GetDefaultOwner)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  4703.     STDMETHOD(GetRuleOwner)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  4704.     STDMETHOD(BindDefault)(THIS_ SQLDMO_LPCSTR DefaultOwner, SQLDMO_LPCSTR DefaultName, BOOL Bind) PURE;
  4705.     STDMETHOD(BindRule)(THIS_ SQLDMO_LPCSTR RuleOwner, SQLDMO_LPCSTR RuleName, BOOL Bind) PURE;
  4706. };
  4707.  
  4708. ////////////////////////////////////////////////////////////////////////////////////
  4709. ////////////////////////////////////////////////////////////////////////////////////
  4710.  
  4711. #undef INTERFACE
  4712. #define INTERFACE ISQLDMOIndexes
  4713. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  4714. {
  4715.    //*** IUnknown methods
  4716.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  4717.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  4718.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  4719.  
  4720.         //*** SQLDMO standard object properties.
  4721.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  4722.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  4723.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  4724.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  4725.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  4726.  
  4727.     //*** SQLDMO standard enumeration properties
  4728.         STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLDMOINDEX *ppObj) PURE;
  4729.         STDMETHOD(GetItemByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOINDEX *ppObj) PURE;
  4730.     STDMETHOD(GetItemByID)(THIS_ long lID, LPSQLDMOINDEX *ppObj) PURE;
  4731.         STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  4732.  
  4733.     //*** SQLDMO standard collection methods
  4734.         STDMETHOD(Add)(THIS_ LPSQLDMOINDEX Object) PURE;
  4735.         STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  4736.         STDMETHOD(RemoveByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  4737.         STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  4738. };
  4739.  
  4740. #undef INTERFACE
  4741. #define INTERFACE ISQLDMOIndex
  4742. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  4743. {
  4744.    //*** IUnknown methods
  4745.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  4746.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  4747.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  4748.  
  4749.         //*** SQLDMO standard object properties.
  4750.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  4751.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  4752.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  4753.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  4754.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  4755.  
  4756.         //*** properties
  4757.     STDMETHOD(GetName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  4758.     STDMETHOD(SetName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  4759.     STDMETHOD(GetType)(THIS_ SQLDMO_INDEX_TYPE *pRetVal) PURE;
  4760.     STDMETHOD(SetType)(THIS_ SQLDMO_INDEX_TYPE NewValue) PURE;
  4761.     STDMETHOD(GetID)(THIS_ LPLONG pRetVal) PURE;
  4762.     STDMETHOD(GetFillFactor)(THIS_ LPLONG pRetVal) PURE;
  4763.     STDMETHOD(SetFillFactor)(THIS_ long lNewValue) PURE;
  4764.     STDMETHOD(GetSpaceUsed)(THIS_ LPLONG pRetVal) PURE;
  4765.     STDMETHOD(SetIndexedColumns)(THIS_ SQLDMO_LPCSTR ColumnNames) PURE;
  4766.  
  4767.     //*** methods
  4768.     STDMETHOD(UpdateStatistics)(THIS) PURE;
  4769.     STDMETHOD(Remove)(THIS) PURE;
  4770.     STDMETHOD(Script)(THIS_ SQLDMO_SCRIPT_TYPE ScriptType CPPDEFAULT(= SQLDMOScript_Default), SQLDMO_LPCSTR ScriptFilePath CPPDEFAULT(= NULL), SQLDMO_LPBSTR ScriptText CPPDEFAULT(= NULL), SQLDMO_SCRIPT2_TYPE Script2Type CPPDEFAULT(= SQLDMOScript2_Default)) PURE;
  4771.     STDMETHOD(Rebuild)(THIS) PURE;
  4772.     STDMETHOD(RecalcSpaceUsage)(THIS) PURE;
  4773.     STDMETHOD(EnumStatistics)(THIS_ LPSQLDMOQUERYRESULTS *ppResults) PURE;
  4774.     STDMETHOD(GenerateCreationSQL)(THIS_ LPSQLDMOTABLE TargetTable, SQLDMO_LPBSTR pSQLStatement) PURE;
  4775.  
  4776.         // List methods
  4777.     STDMETHOD(ListIndexedColumns)(THIS_ LPSQLDMOCOLUMNLIST * ppList) PURE;
  4778.  
  4779.         // Post-6.0 additions.
  4780.     STDMETHOD(CheckIndex)(THIS_ SQLDMO_LPBSTR pResult) PURE;
  4781.  
  4782.     // 7.0
  4783.     STDMETHOD(GetFileGroup)(THIS_ SQLDMO_LPBSTR pbstrName) PURE;
  4784.     STDMETHOD(SetFileGroup)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  4785.     STDMETHOD(GenerateSQL)(THIS_ LPSQLDMOTABLE pTable, SQLDMO_LPBSTR pRetVal) PURE;
  4786.     STDMETHOD(UpdateStatisticsWith)(THIS_ SQLDMO_STAT_SCAN_TYPE ScanType, long ScanNumber CPPDEFAULT(=0), BOOL ReCompute CPPDEFAULT(=TRUE)) PURE;
  4787.     STDMETHOD(GetIsFullTextKey)(THIS_ LPBOOL pRetVal) PURE;
  4788.     STDMETHOD(GetNoRecompute)(THIS_ LPBOOL pRetVal) PURE;
  4789.     STDMETHOD(SetNoRecompute)(THIS_ BOOL NewValue) PURE;
  4790.     STDMETHOD(GetStatisticsIndex)(THIS_ LPBOOL pRetVal) PURE;
  4791.     STDMETHOD(SetStatisticsIndex)(THIS_ BOOL NewValue) PURE;
  4792. };
  4793.  
  4794. ////////////////////////////////////////////////////////////////////////////////////
  4795. ////////////////////////////////////////////////////////////////////////////////////
  4796.  
  4797. #undef INTERFACE
  4798. #define INTERFACE ISQLDMOKeys
  4799. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  4800. {
  4801.    //*** IUnknown methods
  4802.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  4803.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  4804.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  4805.  
  4806.         //*** SQLDMO standard object properties.
  4807.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  4808.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  4809.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  4810.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  4811.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  4812.  
  4813.     //*** SQLDMO standard enumeration properties
  4814.         STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLDMOKEY *ppObj) PURE;
  4815.         STDMETHOD(GetItemByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOKEY *ppObj) PURE;
  4816.         STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  4817.  
  4818.     //*** SQLDMO standard collection methods
  4819.         STDMETHOD(Add)(THIS_ LPSQLDMOKEY Object) PURE;
  4820.         STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  4821.         STDMETHOD(RemoveByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  4822.         STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  4823. };
  4824.  
  4825. #undef INTERFACE
  4826. #define INTERFACE ISQLDMOKey
  4827. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  4828. {
  4829.    //*** IUnknown methods
  4830.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  4831.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  4832.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  4833.  
  4834.         //*** SQLDMO standard object properties.
  4835.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  4836.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  4837.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  4838.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  4839.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  4840.  
  4841.         //*** properties
  4842.     STDMETHOD(GetName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  4843.     STDMETHOD(SetName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  4844.     STDMETHOD(GetType)(THIS_ SQLDMO_KEY_TYPE *pRetVal) PURE;
  4845.     STDMETHOD(SetType)(THIS_ SQLDMO_KEY_TYPE NewValue) PURE;
  4846.     STDMETHOD(GetClustered)(THIS_ LPBOOL pRetVal) PURE;
  4847.     STDMETHOD(SetClustered)(THIS_ BOOL bNewValue) PURE;
  4848.     STDMETHOD(GetFillFactor)(THIS_ LPLONG pRetVal) PURE;
  4849.     STDMETHOD(SetFillFactor)(THIS_ long lNewValue) PURE;
  4850.     STDMETHOD(GetReferencedTable)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  4851.     STDMETHOD(SetReferencedTable)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  4852.     STDMETHOD(GetReferencedKey)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  4853.  
  4854.         //*** Collection properties
  4855.     STDMETHOD(GetKeyColumns)(THIS_ LPSQLDMONAMES *ppColumnNames) PURE;
  4856.     STDMETHOD(GetReferencedColumns)(THIS_ LPSQLDMONAMES *ppColumnNames) PURE;
  4857.  
  4858.     //*** methods
  4859.     STDMETHOD(Remove)(THIS) PURE;
  4860.     STDMETHOD(Script)(THIS_ SQLDMO_SCRIPT_TYPE ScriptType CPPDEFAULT(= SQLDMOScript_Default), SQLDMO_LPCSTR ScriptFilePath CPPDEFAULT(= NULL), SQLDMO_LPBSTR ScriptText CPPDEFAULT(= NULL), SQLDMO_SCRIPT2_TYPE Script2Type CPPDEFAULT(= SQLDMOScript2_Default)) PURE;
  4861.  
  4862.         // Post-6.0 additions.
  4863.     STDMETHOD(RebuildIndex)(THIS) PURE;
  4864.     STDMETHOD(GetExcludeReplication)(THIS_ LPBOOL pRetVal) PURE;
  4865.     STDMETHOD(SetExcludeReplication)(THIS_ BOOL NewValue) PURE;
  4866.  
  4867.     // 7.0
  4868.     STDMETHOD(GetFileGroup)(THIS_ SQLDMO_LPBSTR pbstrName) PURE;
  4869.     STDMETHOD(SetFileGroup)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  4870.     STDMETHOD(GetChecked)(THIS_ LPBOOL pRetVal) PURE;
  4871.     STDMETHOD(SetChecked)(THIS_ BOOL NewValue) PURE;
  4872. };
  4873.  
  4874. ////////////////////////////////////////////////////////////////////////////////////
  4875. ////////////////////////////////////////////////////////////////////////////////////
  4876.  
  4877. #undef INTERFACE
  4878. #define INTERFACE ISQLDMOStoredProcedures
  4879. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  4880. {
  4881.    //*** IUnknown methods
  4882.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  4883.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  4884.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  4885.  
  4886.         //*** SQLDMO standard object properties.
  4887.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  4888.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  4889.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  4890.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  4891.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  4892.  
  4893.     //*** SQLDMO standard enumeration properties
  4894.         STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLDMOSTOREDPROCEDURE *ppObj) PURE;
  4895.         STDMETHOD(GetItemByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOSTOREDPROCEDURE *ppObj, SQLDMO_LPCSTR szOwner CPPDEFAULT(= NULL)) PURE;
  4896.     STDMETHOD(GetItemByID)(THIS_ long lID, LPSQLDMOSTOREDPROCEDURE *ppObj) PURE;
  4897.         STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  4898.  
  4899.     //*** SQLDMO standard collection methods
  4900.         STDMETHOD(Add)(THIS_ LPSQLDMOSTOREDPROCEDURE Object) PURE;
  4901.         STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  4902.         STDMETHOD(RemoveByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  4903.         STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  4904. };
  4905.  
  4906. #undef INTERFACE
  4907. #define INTERFACE ISQLDMOStoredProcedure
  4908. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  4909. {
  4910.    //*** IUnknown methods
  4911.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  4912.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  4913.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  4914.  
  4915.         //*** SQLDMO standard object properties.
  4916.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  4917.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  4918.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  4919.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  4920.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  4921.  
  4922.         //*** properties
  4923.     STDMETHOD(GetName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  4924.     STDMETHOD(SetName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  4925.     STDMETHOD(GetOwner)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  4926.     STDMETHOD(GetCreateDate)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  4927.     STDMETHOD(GetID)(THIS_ LPLONG pRetVal) PURE;
  4928.     STDMETHOD(GetText)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  4929.     STDMETHOD(SetText)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  4930.     STDMETHOD(GetType)(THIS_ SQLDMO_PROCEDURE_TYPE *pRetVal) PURE;
  4931.     STDMETHOD(SetType)(THIS_ SQLDMO_PROCEDURE_TYPE NewValue) PURE;
  4932.     STDMETHOD(GetStartup)(THIS_ LPBOOL pRetVal) PURE;
  4933.     STDMETHOD(SetStartup)(THIS_ BOOL NewValue) PURE;
  4934.     STDMETHOD(GetSystemObject)(THIS_ LPBOOL pRetVal) PURE;
  4935.  
  4936.         //*** methods
  4937.     STDMETHOD(Grant)(THIS_ SQLDMO_PRIVILEGE_TYPE iPrivileges, SQLDMO_LPCSTR GranteeNames, BOOL GrantGrant CPPDEFAULT(=FALSE), SQLDMO_LPCSTR AsRole CPPDEFAULT(= NULL)) PURE;
  4938.     STDMETHOD(Revoke)(THIS_ SQLDMO_PRIVILEGE_TYPE iPrivileges, SQLDMO_LPCSTR RevokeeNames, BOOL GrantGrant CPPDEFAULT(=FALSE), BOOL RevokeGrantOption CPPDEFAULT(=FALSE), SQLDMO_LPCSTR AsRole CPPDEFAULT(= NULL)) PURE;
  4939.     STDMETHOD(Remove)(THIS) PURE;
  4940.     STDMETHOD(EnumParameters)(THIS_ LPSQLDMOQUERYRESULTS * ppResults) PURE;
  4941.     STDMETHOD(Script)(THIS_ SQLDMO_SCRIPT_TYPE ScriptType CPPDEFAULT(= SQLDMOScript_Default), SQLDMO_LPCSTR ScriptFilePath CPPDEFAULT(= NULL), SQLDMO_LPBSTR ScriptText CPPDEFAULT(= NULL), SQLDMO_SCRIPT2_TYPE Script2Type CPPDEFAULT(= SQLDMOScript2_Default)) PURE;
  4942.     STDMETHOD(EnumDependencies)(THIS_ LPSQLDMOQUERYRESULTS *ppResults, SQLDMO_DEPENDENCY_TYPE DependencyType CPPDEFAULT(= SQLDMODep_Parents)) PURE;
  4943.  
  4944.         // List methods
  4945.     STDMETHOD(ListPermissions)(THIS_ LPSQLDMOPERMISSIONLIST * ppList, SQLDMO_PRIVILEGE_TYPE lPrivilegeTypes CPPDEFAULT(= SQLDMOPriv_Execute)) PURE;
  4946.     STDMETHOD(ListUserPermissions)(THIS_ SQLDMO_LPCSTR UserName, LPSQLDMOPERMISSIONLIST * ppList) PURE;
  4947.  
  4948.     // 7.0
  4949.     STDMETHOD(Deny)(THIS_ SQLDMO_PRIVILEGE_TYPE iPrivileges, SQLDMO_LPCSTR DenyeeNames, BOOL GrantGrant CPPDEFAULT(=FALSE)) PURE;
  4950.     STDMETHOD(SetOwner)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  4951.     STDMETHOD(Alter)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  4952.     STDMETHOD(GetQuotedIdentifierStatus)(THIS_ LPBOOL pRetVal) PURE;
  4953.     STDMETHOD(GetAnsiNullsStatus)(THIS_ LPBOOL pRetVal) PURE;
  4954. };
  4955.  
  4956. ////////////////////////////////////////////////////////////////////////////////////
  4957. ////////////////////////////////////////////////////////////////////////////////////
  4958.  
  4959. #undef INTERFACE
  4960. #define INTERFACE ISQLDMOUserDefinedDatatypes
  4961. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  4962. {
  4963.    //*** IUnknown methods
  4964.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  4965.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  4966.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  4967.  
  4968.         //*** SQLDMO standard object properties.
  4969.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  4970.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  4971.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  4972.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  4973.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  4974.  
  4975.     //*** SQLDMO standard enumeration properties
  4976.         STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLDMOUSERDEFINEDDATATYPE *ppObj) PURE;
  4977.         STDMETHOD(GetItemByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOUSERDEFINEDDATATYPE *ppObj, SQLDMO_LPCSTR szOwner CPPDEFAULT(= NULL)) PURE;
  4978.     STDMETHOD(GetItemByID)(THIS_ long lID, LPSQLDMOUSERDEFINEDDATATYPE *ppObj) PURE;
  4979.         STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  4980.  
  4981.     //*** SQLDMO standard collection methods
  4982.         STDMETHOD(Add)(THIS_ LPSQLDMOUSERDEFINEDDATATYPE Object) PURE;
  4983.         STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  4984.         STDMETHOD(RemoveByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  4985.         STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  4986. };
  4987.  
  4988. #undef INTERFACE
  4989. #define INTERFACE ISQLDMOUserDefinedDatatype
  4990. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  4991. {
  4992.    //*** IUnknown methods
  4993.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  4994.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  4995.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  4996.  
  4997.         //*** SQLDMO standard object properties.
  4998.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  4999.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  5000.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  5001.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  5002.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  5003.  
  5004.         //*** properties
  5005.     STDMETHOD(GetName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  5006.     STDMETHOD(SetName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  5007.     STDMETHOD(GetOwner)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  5008.     STDMETHOD(GetAllowNulls)(THIS_ LPBOOL pRetVal) PURE;
  5009.     STDMETHOD(SetAllowNulls)(THIS_ BOOL NewValue) PURE;
  5010.     STDMETHOD(GetBaseType)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  5011.     STDMETHOD(SetBaseType)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  5012.     STDMETHOD(GetLength)(THIS_ LPLONG pRetVal) PURE;
  5013.     STDMETHOD(SetLength)(THIS_ long NewValue) PURE;
  5014.     STDMETHOD(GetDefault)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  5015.     STDMETHOD(SetDefault)(THIS_ SQLDMO_LPCSTR NewValue, BOOL bFutureOnly CPPDEFAULT(= FALSE)) PURE;
  5016.     STDMETHOD(GetRule)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  5017.     STDMETHOD(SetRule)(THIS_ SQLDMO_LPCSTR NewValue, BOOL bFutureOnly CPPDEFAULT(= FALSE)) PURE;
  5018.     STDMETHOD(GetID)(THIS_ LPLONG pRetVal) PURE;
  5019.     STDMETHOD(GetNumericPrecision)(THIS_ LPLONG pRetVal) PURE;
  5020.     STDMETHOD(SetNumericPrecision)(THIS_ long NewValue) PURE;
  5021.     STDMETHOD(GetNumericScale)(THIS_ LPLONG pRetVal) PURE;
  5022.     STDMETHOD(SetNumericScale)(THIS_ long NewValue) PURE;
  5023.     STDMETHOD(GetAllowIdentity)(THIS_ LPBOOL pRetVal) PURE;
  5024.  
  5025.         //*** methods
  5026.     STDMETHOD(Remove)(THIS) PURE;
  5027.     STDMETHOD(Script)(THIS_ SQLDMO_SCRIPT_TYPE ScriptType CPPDEFAULT(= SQLDMOScript_Default), SQLDMO_LPCSTR ScriptFilePath CPPDEFAULT(= NULL), SQLDMO_LPBSTR ScriptText CPPDEFAULT(= NULL), SQLDMO_SCRIPT2_TYPE Script2Type CPPDEFAULT(= SQLDMOScript2_Default)) PURE;
  5028.  
  5029.         // List methods
  5030.     STDMETHOD(ListBoundColumns)(THIS_ LPSQLDMOCOLUMNLIST * ppList) PURE;
  5031.  
  5032.     // 7.0
  5033.     STDMETHOD(GetIsVariableLength)(THIS_ LPBOOL pRetVal) PURE;
  5034.     STDMETHOD(GenerateSQL)(THIS_ LPSQLDMODATABASE pDB, SQLDMO_LPBSTR pRetVal) PURE;
  5035.     STDMETHOD(GetMaxSize)(THIS_ LPLONG pRetVal) PURE;
  5036.     STDMETHOD(GetDefaultOwner)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  5037.     STDMETHOD(GetRuleOwner)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  5038.     STDMETHOD(BindDefault)(THIS_ SQLDMO_LPCSTR DefaultOwner, SQLDMO_LPCSTR DefaultName, BOOL Bind, BOOL bFutureOnly CPPDEFAULT(= FALSE)) PURE;
  5039.     STDMETHOD(BindRule)(THIS_ SQLDMO_LPCSTR RuleOwner, SQLDMO_LPCSTR RuleName, BOOL Bind, BOOL bFutureOnly CPPDEFAULT(= FALSE)) PURE;
  5040. };
  5041.  
  5042. ////////////////////////////////////////////////////////////////////////////////////
  5043. ////////////////////////////////////////////////////////////////////////////////////
  5044.  
  5045. #undef INTERFACE
  5046. #define INTERFACE ISQLDMOUsers
  5047. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  5048. {
  5049.    //*** IUnknown methods
  5050.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  5051.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  5052.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  5053.  
  5054.         //*** SQLDMO standard object properties.
  5055.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  5056.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  5057.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  5058.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  5059.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  5060.  
  5061.     //*** SQLDMO standard enumeration properties
  5062.         STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLDMOUSER *ppObj) PURE;
  5063.         STDMETHOD(GetItemByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOUSER *ppObj) PURE;
  5064.     STDMETHOD(GetItemByID)(THIS_ long lID, LPSQLDMOUSER *ppObj) PURE;
  5065.         STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  5066.  
  5067.     //*** SQLDMO standard collection methods
  5068.         STDMETHOD(Add)(THIS_ LPSQLDMOUSER Object) PURE;
  5069.         STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  5070.         STDMETHOD(RemoveByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  5071.         STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  5072. };
  5073.  
  5074. #undef INTERFACE
  5075. #define INTERFACE ISQLDMOUser
  5076. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  5077. {
  5078.    //*** IUnknown methods
  5079.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  5080.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  5081.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  5082.  
  5083.         //*** SQLDMO standard object properties.
  5084.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  5085.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  5086.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  5087.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  5088.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  5089.  
  5090.         //*** properties
  5091.     STDMETHOD(GetName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  5092.     STDMETHOD(SetName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  5093.     STDMETHOD(GetLogin)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  5094.     STDMETHOD(SetLogin)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  5095.     STDMETHOD(GetGroup)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  5096.     STDMETHOD(SetGroup)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  5097.     STDMETHOD(GetID)(THIS_ LPLONG pRetVal) PURE;
  5098.     STDMETHOD(GetSystemObject)(THIS_ LPBOOL pRetVal) PURE;
  5099.  
  5100.         //*** methods
  5101.     STDMETHOD(AddAlias)(THIS_ SQLDMO_LPCSTR LoginNames) PURE;
  5102.     STDMETHOD(RemoveAlias)(THIS_ SQLDMO_LPCSTR LoginNames) PURE;
  5103.     STDMETHOD(Remove)(THIS) PURE;
  5104.     STDMETHOD(Script)(THIS_ SQLDMO_SCRIPT_TYPE ScriptType CPPDEFAULT(= SQLDMOScript_Default), SQLDMO_LPCSTR ScriptFilePath CPPDEFAULT(= NULL), SQLDMO_LPBSTR ScriptText CPPDEFAULT(= NULL), SQLDMO_SCRIPT2_TYPE Script2Type CPPDEFAULT(= SQLDMOScript2_Default)) PURE;
  5105.  
  5106.         // List methods
  5107.     STDMETHOD(ListAliases)(THIS_ LPSQLDMOLOGINLIST * ppList) PURE;
  5108.     STDMETHOD(ListOwnedObjects)(THIS_ LPSQLDMODBOBJECTLIST * ppList, SQLDMO_OBJECT_TYPE lObjectTypes CPPDEFAULT(= SQLDMOObj_AllDatabaseObjects), SQLDMO_OBJSORT_TYPE SortBy CPPDEFAULT(= SQLDMOObjSort_Name)) PURE;
  5109.     STDMETHOD(ListDatabasePermissions)(THIS_ LPSQLDMOPERMISSIONLIST * ppList, SQLDMO_PRIVILEGE_TYPE lPrivilegeTypes CPPDEFAULT(= SQLDMOPriv_AllDatabasePrivs)) PURE;
  5110.     STDMETHOD(ListObjectPermissions)(THIS_ LPSQLDMOPERMISSIONLIST * ppList, SQLDMO_PRIVILEGE_TYPE lPrivilegeTypes CPPDEFAULT(= SQLDMOPriv_AllObjectPrivs)) PURE;
  5111.  
  5112.     // 7.0
  5113.     STDMETHOD(ListMembers)(THIS_ LPSQLDMONAMELIST *ppList) PURE;
  5114.     STDMETHOD(GetRole)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  5115.     STDMETHOD(SetRole)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  5116.     STDMETHOD(IsMember)(THIS_ SQLDMO_LPCSTR DatabaseRole, LPBOOL pRetVal) PURE;
  5117.     STDMETHOD(GetHasDBAccess)(THIS_ LPBOOL pRetVal) PURE;
  5118.     STDMETHOD(GrantNTUserDBAccess)(THIS) PURE;
  5119. };
  5120.  
  5121. ////////////////////////////////////////////////////////////////////////////////////
  5122. ////////////////////////////////////////////////////////////////////////////////////
  5123.  
  5124. #undef INTERFACE
  5125. #define INTERFACE ISQLDMOGroups
  5126. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  5127. {
  5128.    //*** IUnknown methods
  5129.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  5130.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  5131.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  5132.  
  5133.         //*** SQLDMO standard object properties.
  5134.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  5135.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  5136.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  5137.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  5138.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  5139.  
  5140.     //*** SQLDMO standard enumeration properties
  5141.         STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLDMOGROUP *ppObj) PURE;
  5142.         STDMETHOD(GetItemByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOGROUP *ppObj) PURE;
  5143.     STDMETHOD(GetItemByID)(THIS_ long lID, LPSQLDMOGROUP *ppObj) PURE;
  5144.         STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  5145.  
  5146.     //*** SQLDMO standard collection methods
  5147.         STDMETHOD(Add)(THIS_ LPSQLDMOGROUP Object) PURE;
  5148.         STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  5149.         STDMETHOD(RemoveByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  5150.         STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  5151. };
  5152.  
  5153. #undef INTERFACE
  5154. #define INTERFACE ISQLDMOGroup
  5155. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  5156. {
  5157.    //*** IUnknown methods
  5158.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  5159.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  5160.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  5161.  
  5162.         //*** SQLDMO standard object properties.
  5163.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  5164.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  5165.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  5166.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  5167.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  5168.  
  5169.         //*** properties
  5170.     STDMETHOD(GetName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  5171.     STDMETHOD(SetName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  5172.     STDMETHOD(GetID)(THIS_ LPLONG pRetVal) PURE;
  5173.     STDMETHOD(GetSystemObject)(THIS_ LPBOOL pRetVal) PURE;
  5174.  
  5175.         //*** methods
  5176.     STDMETHOD(Remove)(THIS) PURE;
  5177.  
  5178.         // List methods
  5179.     STDMETHOD(ListUsers)(THIS_ LPSQLDMOUSERLIST * ppList) PURE;
  5180.     STDMETHOD(ListDatabasePermissions)(THIS_ LPSQLDMOPERMISSIONLIST * ppList, SQLDMO_PRIVILEGE_TYPE lPrivilegeTypes CPPDEFAULT(= SQLDMOPriv_AllDatabasePrivs)) PURE;
  5181.     STDMETHOD(ListObjectPermissions)(THIS_ LPSQLDMOPERMISSIONLIST * ppList, SQLDMO_PRIVILEGE_TYPE lPrivilegeTypes CPPDEFAULT(= SQLDMOPriv_AllObjectPrivs)) PURE;
  5182.     STDMETHOD(Script)(THIS_ SQLDMO_SCRIPT_TYPE ScriptType CPPDEFAULT(= SQLDMOScript_Default), SQLDMO_LPCSTR ScriptFilePath CPPDEFAULT(= NULL), SQLDMO_LPBSTR ScriptText CPPDEFAULT(= NULL), SQLDMO_SCRIPT2_TYPE Script2Type CPPDEFAULT(= SQLDMOScript2_Default)) PURE;
  5183. };
  5184.  
  5185. ////////////////////////////////////////////////////////////////////////////////////
  5186. ////////////////////////////////////////////////////////////////////////////////////
  5187.  
  5188. #undef INTERFACE
  5189. #define INTERFACE ISQLDMOTriggers
  5190. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  5191. {
  5192.    //*** IUnknown methods
  5193.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  5194.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  5195.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  5196.  
  5197.         //*** SQLDMO standard object properties.
  5198.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  5199.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  5200.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  5201.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  5202.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  5203.  
  5204.     //*** SQLDMO standard enumeration properties
  5205.         STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLDMOTRIGGER *ppObj) PURE;
  5206.         STDMETHOD(GetItemByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOTRIGGER *ppObj, SQLDMO_LPCSTR szOwner CPPDEFAULT(= NULL)) PURE;
  5207.     STDMETHOD(GetItemByID)(THIS_ long lID, LPSQLDMOTRIGGER *ppObj) PURE;
  5208.         STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  5209.  
  5210.     //*** SQLDMO standard collection methods
  5211.         STDMETHOD(Add)(THIS_ LPSQLDMOTRIGGER Object) PURE;
  5212.         STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  5213.         STDMETHOD(RemoveByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  5214.         STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  5215. };
  5216.  
  5217. #undef INTERFACE
  5218. #define INTERFACE ISQLDMOTrigger
  5219. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  5220. {
  5221.    //*** IUnknown methods
  5222.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  5223.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  5224.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  5225.  
  5226.         //*** SQLDMO standard object properties.
  5227.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  5228.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  5229.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  5230.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  5231.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  5232.  
  5233.         //*** properties
  5234.     STDMETHOD(GetName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  5235.     STDMETHOD(SetName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  5236.     STDMETHOD(GetOwner)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  5237.     STDMETHOD(GetCreateDate)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  5238.     STDMETHOD(GetID)(THIS_ LPLONG pRetVal) PURE;
  5239.     STDMETHOD(GetText)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  5240.     STDMETHOD(SetText)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  5241.     STDMETHOD(GetType)(THIS_ SQLDMO_TRIGGER_TYPE *pRetVal) PURE;
  5242.     STDMETHOD(GetSystemObject)(THIS_ LPBOOL pRetVal) PURE;
  5243.  
  5244.         //*** methods
  5245.     STDMETHOD(Remove)(THIS) PURE;
  5246.     STDMETHOD(Script)(THIS_ SQLDMO_SCRIPT_TYPE ScriptType CPPDEFAULT(= SQLDMOScript_Default), SQLDMO_LPCSTR ScriptFilePath CPPDEFAULT(= NULL), SQLDMO_LPBSTR ScriptText CPPDEFAULT(= NULL), SQLDMO_SCRIPT2_TYPE Script2Type CPPDEFAULT(= SQLDMOScript2_Default)) PURE;
  5247.     STDMETHOD(EnumDependencies)(THIS_ LPSQLDMOQUERYRESULTS *ppResults, SQLDMO_DEPENDENCY_TYPE DependencyType CPPDEFAULT(= SQLDMODep_Parents)) PURE;
  5248.  
  5249.     // 7.0
  5250.     STDMETHOD(SetOwner)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  5251.     STDMETHOD(Alter)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  5252.     STDMETHOD(GetEnabled)(THIS_ LPBOOL pRetVal) PURE;
  5253.     STDMETHOD(SetEnabled)(THIS_ BOOL NewValue) PURE;
  5254.     STDMETHOD(GetQuotedIdentifierStatus)(THIS_ LPBOOL pRetVal) PURE;
  5255.     STDMETHOD(GetAnsiNullsStatus)(THIS_ LPBOOL pRetVal) PURE;
  5256. };
  5257.  
  5258. ////////////////////////////////////////////////////////////////////////////////////
  5259. ////////////////////////////////////////////////////////////////////////////////////
  5260.  
  5261. #undef INTERFACE
  5262. #define INTERFACE ISQLDMORemoteServers
  5263. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  5264. {
  5265.    //*** IUnknown methods
  5266.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  5267.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  5268.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  5269.  
  5270.         //*** SQLDMO standard object properties.
  5271.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  5272.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  5273.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  5274.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  5275.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  5276.  
  5277.     //*** SQLDMO standard enumeration properties
  5278.         STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLDMOREMOTESERVER *ppObj) PURE;
  5279.         STDMETHOD(GetItemByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOREMOTESERVER *ppObj) PURE;
  5280.     STDMETHOD(GetItemByID)(THIS_ long lID, LPSQLDMOREMOTESERVER *ppObj) PURE;
  5281.         STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  5282.  
  5283.     //*** SQLDMO standard collection methods
  5284.         STDMETHOD(Add)(THIS_ LPSQLDMOREMOTESERVER Object) PURE;
  5285.         STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  5286.         STDMETHOD(RemoveByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  5287.         STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  5288. };
  5289.  
  5290. #undef INTERFACE
  5291. #define INTERFACE ISQLDMORemoteServer
  5292. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  5293. {
  5294.    //*** IUnknown methods
  5295.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  5296.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  5297.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  5298.  
  5299.         //*** SQLDMO standard object properties.
  5300.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  5301.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  5302.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  5303.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  5304.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  5305.  
  5306.         //*** properties
  5307.     STDMETHOD(GetName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  5308.     STDMETHOD(SetName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  5309.     STDMETHOD(GetID)(THIS_ LPLONG pRetVal) PURE;
  5310.     STDMETHOD(GetNetName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  5311.     STDMETHOD(SetNetName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  5312.     STDMETHOD(GetOptions)(THIS_ SQLDMO_SRVOPTION_TYPE *pRetVal) PURE;
  5313.     STDMETHOD(GetTopologyX)(THIS_ LPLONG pRetVal) PURE;
  5314.     STDMETHOD(GetTopologyY)(THIS_ LPLONG pRetVal) PURE;
  5315.  
  5316.        //*** collection properties
  5317.     STDMETHOD(GetRemoteLogins)(THIS_ LPSQLDMOREMOTELOGINS * ppRemoteLogins) PURE;
  5318.     STDMETHOD(GetRemoteLoginByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOREMOTELOGIN *ppRemoteLogin) PURE;
  5319.     STDMETHOD(GetRemoteLoginByOrd)(THIS_ long lOrdinal, LPSQLDMOREMOTELOGIN *ppRemoteLogin) PURE;
  5320.     STDMETHOD(RemoveRemoteLoginByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  5321.     STDMETHOD(RemoveRemoteLoginByOrd)(THIS_ long lOrdinal) PURE;
  5322.     STDMETHOD(AddRemoteLogin)(THIS_ LPSQLDMOREMOTELOGIN pRemoteLogin) PURE;
  5323.     STDMETHOD(GetRemoteLoginCount)(THIS_ LPLONG plCount) PURE;
  5324.  
  5325.         //*** methods
  5326.     STDMETHOD(Remove)(THIS) PURE;
  5327.     STDMETHOD(ExecuteImmediate)(THIS_ SQLDMO_LPCSTR Command, long lLength CPPDEFAULT(= 0)) PURE;
  5328.     STDMETHOD(ExecuteWithResults)(THIS_ SQLDMO_LPCSTR Command, LPSQLDMOQUERYRESULTS *ppResults, long lLength CPPDEFAULT(= 0)) PURE;
  5329.     STDMETHOD(SetOptions)(THIS_ SQLDMO_SRVOPTION_TYPE Options, BOOL NewValue) PURE;
  5330. //    STDMETHOD(EnumTasks)(THIS_ LPSQLDMOQUERYRESULTS *ppResults, SQLDMO_LPCSTR TaskName CPPDEFAULT(= NULL), long TaskID CPPDEFAULT(= 0)) PURE;
  5331.     STDMETHOD(SetTopologyXY)(THIS_ long X, long Y) PURE;
  5332.  
  5333.         // Post-6.0 additions
  5334.     STDMETHOD(ExecuteWithResultsAndMessages)(THIS_ SQLDMO_LPCSTR Command, LPSQLDMOQUERYRESULTS *ppResults, SQLDMO_LPBSTR ppszMessages CPPDEFAULT(= 0), long lLength CPPDEFAULT(= 0)) PURE;
  5335. };
  5336.  
  5337. ////////////////////////////////////////////////////////////////////////////////////
  5338. ////////////////////////////////////////////////////////////////////////////////////
  5339.  
  5340. #undef INTERFACE
  5341. #define INTERFACE ISQLDMORemoteLogins
  5342. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  5343. {
  5344.    //*** IUnknown methods
  5345.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  5346.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  5347.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  5348.  
  5349.         //*** SQLDMO standard object properties.
  5350.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  5351.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  5352.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  5353.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  5354.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  5355.  
  5356.     //*** SQLDMO standard enumeration properties
  5357.         STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLDMOREMOTELOGIN *ppObj) PURE;
  5358.         STDMETHOD(GetItemByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOREMOTELOGIN *ppObj) PURE;
  5359.         STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  5360.  
  5361.     //*** SQLDMO standard collection methods
  5362.         STDMETHOD(Add)(THIS_ LPSQLDMOREMOTELOGIN Object) PURE;
  5363.         STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  5364.         STDMETHOD(RemoveByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  5365.         STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  5366. };
  5367.  
  5368. #undef INTERFACE
  5369. #define INTERFACE ISQLDMORemoteLogin
  5370. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  5371. {
  5372.    //*** IUnknown methods
  5373.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  5374.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  5375.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  5376.  
  5377.         //*** SQLDMO standard object properties.
  5378.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  5379.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  5380.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  5381.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  5382.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  5383.  
  5384.         //*** properties
  5385.     STDMETHOD(GetLocalName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  5386.     STDMETHOD(SetLocalName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  5387.     STDMETHOD(GetRemoteName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  5388.     STDMETHOD(SetRemoteName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  5389.     STDMETHOD(GetTrusted)(THIS_ LPBOOL pRetVal) PURE;
  5390.     STDMETHOD(SetTrusted)(THIS_ BOOL NewValue) PURE;
  5391.  
  5392.         //*** methods
  5393.     STDMETHOD(Remove)(THIS) PURE;
  5394. };
  5395.  
  5396. ////////////////////////////////////////////////////////////////////////////////////
  5397. ////////////////////////////////////////////////////////////////////////////////////
  5398.  
  5399. #undef INTERFACE
  5400. #define INTERFACE ISQLDMOSystemDatatypes
  5401. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  5402. {
  5403.    //*** IUnknown methods
  5404.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  5405.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  5406.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  5407.  
  5408.         //*** SQLDMO standard object properties.
  5409.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  5410.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  5411.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  5412.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  5413.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  5414.  
  5415.     //*** SQLDMO standard enumeration properties
  5416.         STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLDMOSYSTEMDATATYPE *ppObj) PURE;
  5417.         STDMETHOD(GetItemByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOSYSTEMDATATYPE *ppObj) PURE;
  5418.         STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  5419. };
  5420.  
  5421. #undef INTERFACE
  5422. #define INTERFACE ISQLDMOSystemDatatype
  5423. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  5424. {
  5425.    //*** IUnknown methods
  5426.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  5427.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  5428.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  5429.  
  5430.         //*** SQLDMO standard object properties.
  5431.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  5432.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  5433.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  5434.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  5435.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  5436.  
  5437.         //*** properties
  5438.     STDMETHOD(GetName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  5439.     STDMETHOD(GetMaximumLength)(THIS_ LPLONG pRetVal) PURE;
  5440.     STDMETHOD(GetAllowNulls)(THIS_ LPBOOL pRetVal) PURE;
  5441.     STDMETHOD(GetIsNumeric)(THIS_ LPBOOL pRetVal) PURE;
  5442.     STDMETHOD(GetAllowIdentity)(THIS_ LPBOOL pRetVal) PURE;
  5443.  
  5444.     // 7.0
  5445.     STDMETHOD(GetIsVariableLength)(THIS_ LPBOOL pRetVal) PURE;
  5446.     STDMETHOD(GetAllowLength)(THIS_ LPBOOL pRetVal) PURE;
  5447.     STDMETHOD(GetMaximumChar)(THIS_ LPLONG pRetVal) PURE;
  5448. };
  5449.  
  5450. ////////////////////////////////////////////////////////////////////////////////////
  5451. ////////////////////////////////////////////////////////////////////////////////////
  5452.  
  5453. #undef INTERFACE
  5454. #define INTERFACE ISQLDMOChecks
  5455. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  5456. {
  5457.    //*** IUnknown methods
  5458.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  5459.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  5460.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  5461.  
  5462.         //*** SQLDMO standard object properties.
  5463.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  5464.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  5465.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  5466.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  5467.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  5468.  
  5469.     //*** SQLDMO standard enumeration properties
  5470.         STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLDMOCHECK *ppObj) PURE;
  5471.         STDMETHOD(GetItemByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOCHECK *ppObj) PURE;
  5472.         STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  5473.  
  5474.     //*** SQLDMO standard collection methods
  5475.         STDMETHOD(Add)(THIS_ LPSQLDMOCHECK Object) PURE;
  5476.         STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  5477.         STDMETHOD(RemoveByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  5478.         STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  5479. };
  5480.  
  5481. #undef INTERFACE
  5482. #define INTERFACE ISQLDMOCheck
  5483. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  5484. {
  5485.    //*** IUnknown methods
  5486.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  5487.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  5488.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  5489.  
  5490.         //*** SQLDMO standard object properties.
  5491.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  5492.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  5493.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  5494.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  5495.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  5496.  
  5497.         //*** properties
  5498.     STDMETHOD(GetName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  5499.     STDMETHOD(SetName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  5500.     STDMETHOD(GetText)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  5501.     STDMETHOD(SetText)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  5502.     STDMETHOD(GetExcludeReplication)(THIS_ LPBOOL pRetVal) PURE;
  5503.     STDMETHOD(SetExcludeReplication)(THIS_ BOOL NewValue) PURE;
  5504.  
  5505.         //*** methods
  5506.     STDMETHOD(Remove)(THIS) PURE;
  5507.     STDMETHOD(Script)(THIS_ SQLDMO_SCRIPT_TYPE ScriptType CPPDEFAULT(= SQLDMOScript_Default), SQLDMO_LPCSTR ScriptFilePath CPPDEFAULT(= NULL), SQLDMO_LPBSTR ScriptText CPPDEFAULT(= NULL), SQLDMO_SCRIPT2_TYPE Script2Type CPPDEFAULT(= SQLDMOScript2_Default)) PURE;
  5508.  
  5509.     // 7.0
  5510.     STDMETHOD(GetChecked)(THIS_ LPBOOL pRetVal) PURE;
  5511.     STDMETHOD(SetChecked)(THIS_ BOOL NewValue) PURE;
  5512. };
  5513.  
  5514. ////////////////////////////////////////////////////////////////////////////////////
  5515. ////////////////////////////////////////////////////////////////////////////////////
  5516.  
  5517. #undef INTERFACE
  5518. #define INTERFACE ISQLDMOServerGroups
  5519. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  5520. {
  5521.    //*** IUnknown methods
  5522.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  5523.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  5524.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  5525.  
  5526.         //*** SQLDMO standard object properties.
  5527.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  5528.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  5529.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  5530.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  5531.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  5532.  
  5533.     //*** SQLDMO standard enumeration properties
  5534.         STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLDMOSERVERGROUP *ppObj) PURE;
  5535.     STDMETHOD(GetItemByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOSERVERGROUP *ppObj) PURE;
  5536.     STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  5537.  
  5538.     //*** SQLDMO standard collection methods
  5539.     STDMETHOD(Add)(THIS_ LPSQLDMOSERVERGROUP Object) PURE;
  5540.     STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  5541.     STDMETHOD(RemoveByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  5542.     STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  5543. };
  5544.  
  5545. #undef INTERFACE
  5546. #define INTERFACE ISQLDMOServerGroup
  5547. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  5548. {
  5549.    //*** IUnknown methods
  5550.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  5551.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  5552.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  5553.  
  5554.         //*** SQLDMO standard object properties.
  5555.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  5556.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  5557.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  5558.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  5559.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  5560.  
  5561.         //*** properties
  5562.     STDMETHOD(GetName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  5563.     STDMETHOD(SetName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  5564.  
  5565.         //*** Collection Properties
  5566.     STDMETHOD(GetRegisteredServers)(THIS_ LPSQLDMOREGISTEREDSERVERS *ppRegisteredServers) PURE;
  5567.     STDMETHOD(GetRegisteredServerByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOREGISTEREDSERVER *ppRegisteredServer) PURE;
  5568.     STDMETHOD(GetRegisteredServerByOrd)(THIS_ long lOrdinal, LPSQLDMOREGISTEREDSERVER *ppRegisteredServer) PURE;
  5569.     STDMETHOD(RemoveRegisteredServerByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  5570.     STDMETHOD(RemoveRegisteredServerByOrd)(THIS_ long lOrdinal) PURE;
  5571.     STDMETHOD(AddRegisteredServer)(THIS_ LPSQLDMOREGISTEREDSERVER pRegisteredServer) PURE;
  5572.     STDMETHOD(GetRegisteredServerCount)(THIS_ LPLONG plCount) PURE;
  5573.  
  5574.     STDMETHOD(GetServerGroups)(THIS_ LPSQLDMOSERVERGROUPS *ppServerGroups) PURE;
  5575.     STDMETHOD(GetServerGroupByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOSERVERGROUP *ppServerGroup) PURE;
  5576.     STDMETHOD(GetServerGroupByOrd)(THIS_ long lOrdinal, LPSQLDMOSERVERGROUP *ppServerGroup) PURE;
  5577.     STDMETHOD(RemoveServerGroupByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  5578.     STDMETHOD(RemoveServerGroupByOrd)(THIS_ long lOrdinal) PURE;
  5579.     STDMETHOD(AddServerGroup)(THIS_ LPSQLDMOSERVERGROUP pServerGroup) PURE;
  5580.     STDMETHOD(GetServerGroupCount)(THIS_ LPLONG plCount) PURE;
  5581.  
  5582.         //*** methods
  5583.     STDMETHOD(Remove)(THIS) PURE;
  5584. };
  5585.  
  5586. ////////////////////////////////////////////////////////////////////////////////////
  5587. ////////////////////////////////////////////////////////////////////////////////////
  5588.  
  5589. #undef INTERFACE
  5590. #define INTERFACE ISQLDMORegisteredServers
  5591. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  5592. {
  5593.    //*** IUnknown methods
  5594.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  5595.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  5596.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  5597.  
  5598.         //*** SQLDMO standard object properties.
  5599.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  5600.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  5601.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  5602.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  5603.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  5604.  
  5605.     //*** SQLDMO standard enumeration properties
  5606.     STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLDMOREGISTEREDSERVER *ppObj) PURE;
  5607.     STDMETHOD(GetItemByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOREGISTEREDSERVER *ppObj) PURE;
  5608.     STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  5609.  
  5610. //*** SQLDMO standard collection methods
  5611.     STDMETHOD(Add)(THIS_ LPSQLDMOREGISTEREDSERVER Object) PURE;
  5612.     STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  5613.     STDMETHOD(RemoveByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  5614.     STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  5615. };
  5616.  
  5617. #undef INTERFACE
  5618. #define INTERFACE ISQLDMORegisteredServer
  5619. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  5620. {
  5621.    //*** IUnknown methods
  5622.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  5623.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  5624.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  5625.  
  5626.         //*** SQLDMO standard object properties.
  5627.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  5628.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  5629.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  5630.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  5631.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  5632.  
  5633.         //*** properties
  5634.     STDMETHOD(GetName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  5635.     STDMETHOD(SetName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  5636.     STDMETHOD(GetLogin)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  5637.     STDMETHOD(SetLogin)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  5638.     STDMETHOD(GetPassword)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  5639.     STDMETHOD(SetPassword)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  5640.     STDMETHOD(GetUseTrustedConnection)(THIS_ LPLONG pRetVal) PURE;
  5641.     STDMETHOD(SetUseTrustedConnection)(THIS_ LONG NewValue) PURE;
  5642.     STDMETHOD(GetVersionMajor)(THIS_ LPLONG pRetVal) PURE;
  5643.     STDMETHOD(GetVersionMinor)(THIS_ LPLONG pRetVal) PURE;
  5644.     STDMETHOD(GetSaLogin)(THIS_ LPBOOL pRetVal) PURE;
  5645.     STDMETHOD(GetPersistFlags)(THIS_ LPLONG pRetVal) PURE;
  5646.     STDMETHOD(SetPersistFlags)(THIS_ LONG NewValue) PURE;
  5647.  
  5648.         //*** methods
  5649.     STDMETHOD(Remove)(THIS) PURE;
  5650. };
  5651.  
  5652. ////////////////////////////////////////////////////////////////////////////////////
  5653. ////////////////////////////////////////////////////////////////////////////////////
  5654.  
  5655. #undef INTERFACE
  5656. #define INTERFACE ISQLDMOQueryResults
  5657. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  5658. {
  5659.    //*** IUnknown methods
  5660.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  5661.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  5662.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  5663.  
  5664.         //*** SQLDMO standard object properties.
  5665.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  5666.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  5667.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  5668.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  5669.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  5670.  
  5671.         //*** properties
  5672.     STDMETHOD(GetResultSets)(THIS_ LPLONG pRetVal) PURE;
  5673.     STDMETHOD(GetCurrentResultSet)(THIS_ LPLONG pRetVal) PURE;
  5674.     STDMETHOD(SetCurrentResultSet)(THIS_ long NewValue) PURE;
  5675.     STDMETHOD(GetRows)(THIS_ LPLONG pRetVal) PURE;
  5676.     STDMETHOD(GetColumns)(THIS_ LPLONG pRetVal) PURE;
  5677.     STDMETHOD(GetColumnName)(THIS_ long lColumn, SQLDMO_LPBSTR pRetVal) PURE;
  5678.     STDMETHOD(GetColumnType)(THIS_ long lColumn, SQLDMO_QUERY_DATATYPE *pRetVal) PURE;
  5679.     STDMETHOD(GetColumnMaxLength)(THIS_ long lColumn, LPLONG pRetVal) PURE;
  5680.  
  5681.         //*** methods
  5682.     STDMETHOD(GetColumnLong)(THIS_ long lRow, long lColumn, LPLONG pRetVal) PURE;
  5683.     STDMETHOD(GetColumnBool)(THIS_ long lRow, long lColumn, LPBOOL pRetVal) PURE;
  5684.     STDMETHOD(GetColumnFloat)(THIS_ long lRow, long lColumn, LPFLOAT pRetVal) PURE;
  5685.     STDMETHOD(GetColumnDouble)(THIS_ long lRow, long lColumn, LPDOUBLE pRetVal) PURE;
  5686.     STDMETHOD(GetColumnString)(THIS_ long lRow, long lColumn, SQLDMO_LPBSTR pRetVal) PURE;
  5687.     STDMETHOD(GetRangeString)(THIS_ SQLDMO_LPBSTR pRetVal, long Top CPPDEFAULT(= 0), long Left CPPDEFAULT(= 0),
  5688.                                                                 long Bottom CPPDEFAULT(= -1), long Right CPPDEFAULT(= -1),
  5689.                                                                 SQLDMO_LPCSTR RowDelim CPPDEFAULT(= NULL), SQLDMO_LPCSTR ColDelim CPPDEFAULT(= NULL),
  5690.                                                                 SQLDMO_LPCSTR ColWidths CPPDEFAULT(= NULL)) PURE;
  5691.     STDMETHOD(Refresh)(THIS) PURE;
  5692.  
  5693.         // Post-6.0 additions
  5694.     STDMETHOD(GetColumnDate)(THIS_ long lRow, long lColumn, LPSYSTEMTIME pSystemTime) PURE;
  5695.     STDMETHOD(GetColumnBinary)(THIS_ long lRow, long lColumn, LPVOID *pvData) PURE;
  5696.  
  5697.     // 7.0
  5698.     STDMETHOD(GetColumnBinaryLength)(THIS_ long lRow, long lColumn, LPLONG pRetLen) PURE;
  5699.     STDMETHOD(GetColumnGUID)(THIS_ long lRow, long lColumn, LPVOID *pvData) PURE;
  5700. };
  5701.  
  5702. ////////////////////////////////////////////////////////////////////////////////////
  5703. ////////////////////////////////////////////////////////////////////////////////////
  5704.  
  5705. #undef INTERFACE
  5706. #define INTERFACE ISQLDMOTransactionLog
  5707. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  5708. {
  5709.    //*** IUnknown methods
  5710.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  5711.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  5712.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  5713.  
  5714.         //*** SQLDMO standard object properties.
  5715.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  5716.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  5717.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  5718.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  5719.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  5720.  
  5721.         //*** properties
  5722.     STDMETHOD(GetCreateDate)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  5723.     STDMETHOD(GetLastBackup)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  5724.     STDMETHOD(GetSize)(THIS_ LPLONG pRetVal) PURE;
  5725.     STDMETHOD(GetSpaceAvailable)(THIS_ LPLONG pRetVal) PURE;
  5726.     STDMETHOD(GetSpaceAvailableInMB)(THIS_ LPFLOAT pRetVal) PURE;
  5727.     STDMETHOD(GetSpaceAllocatedOnFiles)(THIS_ SQLDMO_LPCSTR DatabaseName, LPLONG pRetVal) PURE;
  5728.  
  5729.         //*** methods
  5730.     STDMETHOD(Truncate)(THIS) PURE;
  5731.  
  5732.     // 7.0
  5733.     //*** Collection properties
  5734.     STDMETHOD(GetLogFiles)(THIS_ LPSQLDMOLOGFILES * ppLogFiles) PURE;
  5735.     STDMETHOD(GetLogFileByOrd)(THIS_ long lOrdinal, LPSQLDMOLOGFILE *ppLogFile) PURE;
  5736.     STDMETHOD(AddLogFile)(THIS_ LPSQLDMOLOGFILE pLogFile) PURE;
  5737.     STDMETHOD(GetLogFileCount)(THIS_ LPLONG plCount) PURE;
  5738. };
  5739.  
  5740. ////////////////////////////////////////////////////////////////////////////////////
  5741. ////////////////////////////////////////////////////////////////////////////////////
  5742.  
  5743. #undef INTERFACE
  5744. #define INTERFACE ISQLDMOPermission
  5745. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  5746. {
  5747.    //*** IUnknown methods
  5748.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  5749.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  5750.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  5751.  
  5752.         //*** SQLDMO standard object properties.
  5753.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  5754.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  5755.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  5756.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  5757.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  5758.  
  5759.         //*** properties
  5760.     STDMETHOD(GetPrivilegeTypeName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  5761.     STDMETHOD(GetPrivilegeType)(THIS_ SQLDMO_PRIVILEGE_TYPE *pRetVal) PURE;
  5762.     STDMETHOD(GetObjectName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  5763.     STDMETHOD(GetObjectOwner)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  5764.     STDMETHOD(GetObjectTypeName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  5765.     STDMETHOD(GetObjectType)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  5766.     STDMETHOD(GetObjectID)(THIS_ LPLONG pRetVal) PURE;
  5767.     STDMETHOD(GetGrantee)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  5768.     STDMETHOD(GetGranted)(THIS_ LPBOOL pRetVal) PURE;
  5769.  
  5770.         //*** methods
  5771.         // List methods
  5772.     STDMETHOD(ListPrivilegeColumns)(THIS_ LPSQLDMOCOLUMNLIST * ppList) PURE;
  5773. };
  5774.  
  5775. ////////////////////////////////////////////////////////////////////////////////////
  5776. ////////////////////////////////////////////////////////////////////////////////////
  5777.  
  5778. #undef INTERFACE
  5779. #define INTERFACE ISQLDMODBOption
  5780. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  5781. {
  5782.    //*** IUnknown methods
  5783.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  5784.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  5785.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  5786.  
  5787.         //*** SQLDMO standard object properties.
  5788.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  5789.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  5790.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  5791.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  5792.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  5793.  
  5794.         //*** properties
  5795.     STDMETHOD(GetSelectIntoBulkCopy)(THIS_ LPBOOL pRetVal) PURE;
  5796.     STDMETHOD(SetSelectIntoBulkCopy)(THIS_ BOOL NewValue) PURE;
  5797.     STDMETHOD(GetDBOUseOnly)(THIS_ LPBOOL pRetVal) PURE;
  5798.     STDMETHOD(SetDBOUseOnly)(THIS_ BOOL NewValue) PURE;
  5799.     STDMETHOD(GetReadOnly)(THIS_ LPBOOL pRetVal) PURE;
  5800.     STDMETHOD(SetReadOnly)(THIS_ BOOL NewValue) PURE;
  5801.     STDMETHOD(GetSingleUser)(THIS_ LPBOOL pRetVal) PURE;
  5802.     STDMETHOD(SetSingleUser)(THIS_ BOOL NewValue) PURE;
  5803.     STDMETHOD(GetTruncateLogOnCheckpoint)(THIS_ LPBOOL pRetVal) PURE;
  5804.     STDMETHOD(SetTruncateLogOnCheckpoint)(THIS_ BOOL NewValue) PURE;
  5805.     STDMETHOD(GetColumnsNullByDefault)(THIS_ LPBOOL pRetVal) PURE;
  5806.     STDMETHOD(SetColumnsNullByDefault)(THIS_ BOOL NewValue) PURE;
  5807.     STDMETHOD(GetOffline)(THIS_ LPBOOL pRetVal) PURE;
  5808.     STDMETHOD(SetOffline)(THIS_ BOOL NewValue) PURE;
  5809.  
  5810.         //*** methods
  5811.     STDMETHOD(Refresh)(THIS) PURE;
  5812.  
  5813.     // 7.0
  5814.     STDMETHOD(GetRecursiveTriggers)(THIS_ LPBOOL pRetVal) PURE;
  5815.     STDMETHOD(SetRecursiveTriggers)(THIS_ BOOL NewValue) PURE;
  5816.     STDMETHOD(GetAutoShrink)(THIS_ LPBOOL pRetVal) PURE;
  5817.     STDMETHOD(SetAutoShrink)(THIS_ BOOL NewValue) PURE;
  5818.     STDMETHOD(GetCompareNull)(THIS_ LPBOOL pRetVal) PURE;
  5819.     STDMETHOD(SetCompareNull)(THIS_ BOOL NewValue) PURE;
  5820.     STDMETHOD(GetContactNull)(THIS_ LPBOOL pRetVal) PURE;
  5821.     STDMETHOD(SetContactNull)(THIS_ BOOL NewValue) PURE;
  5822.     STDMETHOD(GetCursorCloseOnCommit)(THIS_ LPBOOL pRetVal) PURE;
  5823.     STDMETHOD(SetCursorCloseOnCommit)(THIS_ BOOL NewValue) PURE;
  5824.     STDMETHOD(GetDefaultCursor)(THIS_ LPBOOL pRetVal) PURE;
  5825.     STDMETHOD(SetDefaultCursor)(THIS_ BOOL NewValue) PURE;
  5826.     STDMETHOD(GetQuoteDelimiter)(THIS_ LPBOOL pRetVal) PURE;
  5827.     STDMETHOD(SetQuoteDelimiter)(THIS_ BOOL NewValue) PURE;
  5828.     STDMETHOD(GetAssignmentDiag)(THIS_ LPBOOL pRetVal) PURE;
  5829.     STDMETHOD(SetAssignmentDiag)(THIS_ BOOL NewValue) PURE;
  5830.     STDMETHOD(GetTornPageDetection)(THIS_ LPBOOL pRetVal) PURE;
  5831.     STDMETHOD(SetTornPageDetection)(THIS_ BOOL NewValue) PURE;
  5832.     STDMETHOD(GetAutoClose)(THIS_ LPBOOL pRetVal) PURE;
  5833.     STDMETHOD(SetAutoClose)(THIS_ BOOL NewValue) PURE;
  5834.     STDMETHOD(GetAutoCreateStat)(THIS_ LPBOOL pRetVal) PURE;
  5835.     STDMETHOD(SetAutoCreateStat)(THIS_ BOOL NewValue) PURE;
  5836.     STDMETHOD(GetAutoUpdateStat)(THIS_ LPBOOL pRetVal) PURE;
  5837.     STDMETHOD(SetAutoUpdateStat)(THIS_ BOOL NewValue) PURE;
  5838. };
  5839.  
  5840. ////////////////////////////////////////////////////////////////////////////////////
  5841. ////////////////////////////////////////////////////////////////////////////////////
  5842.  
  5843. #undef INTERFACE
  5844. #define INTERFACE ISQLDMODBObject
  5845. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  5846. {
  5847.    //*** IUnknown methods
  5848.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  5849.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  5850.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  5851.  
  5852.         //*** SQLDMO standard object properties.
  5853.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  5854.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  5855.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  5856.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  5857.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  5858.  
  5859.         //*** properties
  5860.     STDMETHOD(GetName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  5861.     STDMETHOD(SetName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  5862.     STDMETHOD(GetOwner)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  5863.     STDMETHOD(GetTypeName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  5864.     STDMETHOD(GetType)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  5865.     STDMETHOD(GetCreateDate)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  5866.     STDMETHOD(GetID)(THIS_ LPLONG pRetVal) PURE;
  5867.     STDMETHOD(GetSystemObject)(THIS_ LPBOOL pRetVal) PURE;
  5868.  
  5869.     //*** methods
  5870.     STDMETHOD(Remove)(THIS) PURE;
  5871.     STDMETHOD(Script)(THIS_ SQLDMO_SCRIPT_TYPE ScriptType CPPDEFAULT(= SQLDMOScript_Default), SQLDMO_LPCSTR ScriptFilePath CPPDEFAULT(= NULL), SQLDMO_LPBSTR ScriptText CPPDEFAULT(= NULL), SQLDMO_SCRIPT2_TYPE Script2Type CPPDEFAULT(= SQLDMOScript2_Default)) PURE;
  5872.     STDMETHOD(EnumDependencies)(THIS_ LPSQLDMOQUERYRESULTS *ppResults, SQLDMO_DEPENDENCY_TYPE DependencyType CPPDEFAULT(= SQLDMODep_Parents)) PURE;
  5873.  
  5874.         // List methods
  5875.     STDMETHOD(ListPermissions)(THIS_ LPSQLDMOPERMISSIONLIST * ppList, SQLDMO_PRIVILEGE_TYPE lPrivilegeTypes CPPDEFAULT(= SQLDMOPriv_AllObjectPrivs)) PURE;
  5876.     STDMETHOD(ListUserPermissions)(THIS_ SQLDMO_LPCSTR UserName, LPSQLDMOPERMISSIONLIST * ppList) PURE;
  5877. };
  5878.  
  5879. ////////////////////////////////////////////////////////////////////////////////////
  5880. ////////////////////////////////////////////////////////////////////////////////////
  5881.  
  5882. #undef INTERFACE
  5883. #define INTERFACE ISQLDMODRIDefault
  5884. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  5885. {
  5886.    //*** IUnknown methods
  5887.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  5888.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  5889.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  5890.  
  5891.         //*** SQLDMO standard object properties.
  5892.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  5893.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  5894.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  5895.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  5896.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  5897.  
  5898.         //*** properties
  5899.     STDMETHOD(GetName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  5900.     STDMETHOD(SetName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  5901.     STDMETHOD(GetText)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  5902.     STDMETHOD(SetText)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  5903.  
  5904.         //*** methods
  5905.     STDMETHOD(Remove)(THIS) PURE;
  5906.     STDMETHOD(Script)(THIS_ SQLDMO_SCRIPT_TYPE ScriptType CPPDEFAULT(= SQLDMOScript_Default), SQLDMO_LPCSTR ScriptFilePath CPPDEFAULT(= NULL), SQLDMO_LPBSTR ScriptText CPPDEFAULT(= NULL), SQLDMO_SCRIPT2_TYPE Script2Type CPPDEFAULT(= SQLDMOScript2_Default)) PURE;
  5907. };
  5908.  
  5909. ////////////////////////////////////////////////////////////////////////////////////
  5910. ////////////////////////////////////////////////////////////////////////////////////
  5911.  
  5912. #undef INTERFACE
  5913. #define INTERFACE ISQLDMOTransfer
  5914. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  5915. {
  5916.    //*** IUnknown methods
  5917.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  5918.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  5919.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  5920.  
  5921.         //*** SQLDMO standard object properties.
  5922.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  5923.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  5924.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  5925.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  5926.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  5927.  
  5928.         //*** properties
  5929.     STDMETHOD(GetDestServer)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  5930.     STDMETHOD(SetDestServer)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  5931.     STDMETHOD(GetDestLogin)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  5932.     STDMETHOD(SetDestLogin)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  5933.     STDMETHOD(GetDestPassword)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  5934.     STDMETHOD(SetDestPassword)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  5935.     STDMETHOD(GetDestDatabase)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  5936.     STDMETHOD(SetDestDatabase)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  5937.     STDMETHOD(GetDestUseTrustedConnection)(THIS_ LPBOOL pRetVal) PURE;
  5938.     STDMETHOD(SetDestUseTrustedConnection)(THIS_ BOOL NewValue) PURE;
  5939.     STDMETHOD(GetCopyData)(THIS_ SQLDMO_COPYDATA_TYPE *pRetVal) PURE;
  5940.     STDMETHOD(SetCopyData)(THIS_ SQLDMO_COPYDATA_TYPE NewValue) PURE;
  5941.     STDMETHOD(GetCopySchema)(THIS_ LPBOOL pRetVal) PURE;
  5942.     STDMETHOD(SetCopySchema)(THIS_ BOOL NewValue) PURE;
  5943.     STDMETHOD(GetCopyAllObjects)(THIS_ LPBOOL pRetVal) PURE;
  5944.     STDMETHOD(SetCopyAllObjects)(THIS_ BOOL NewValue) PURE;
  5945.     STDMETHOD(GetCopyAllTables)(THIS_ LPBOOL pRetVal) PURE;
  5946.     STDMETHOD(SetCopyAllTables)(THIS_ BOOL NewValue) PURE;
  5947.     STDMETHOD(GetCopyAllViews)(THIS_ LPBOOL pRetVal) PURE;
  5948.     STDMETHOD(SetCopyAllViews)(THIS_ BOOL NewValue) PURE;
  5949.     STDMETHOD(GetCopyAllStoredProcedures)(THIS_ LPBOOL pRetVal) PURE;
  5950.     STDMETHOD(SetCopyAllStoredProcedures)(THIS_ BOOL NewValue) PURE;
  5951.     STDMETHOD(GetCopyAllUserDefinedDatatypes)(THIS_ LPBOOL pRetVal) PURE;
  5952.     STDMETHOD(SetCopyAllUserDefinedDatatypes)(THIS_ BOOL NewValue) PURE;
  5953.     STDMETHOD(GetCopyAllRules)(THIS_ LPBOOL pRetVal) PURE;
  5954.     STDMETHOD(SetCopyAllRules)(THIS_ BOOL NewValue) PURE;
  5955.     STDMETHOD(GetCopyAllDefaults)(THIS_ LPBOOL pRetVal) PURE;
  5956.     STDMETHOD(SetCopyAllDefaults)(THIS_ BOOL NewValue) PURE;
  5957.     STDMETHOD(GetCopyAllTriggers)(THIS_ LPBOOL pRetVal) PURE;
  5958.     STDMETHOD(SetCopyAllTriggers)(THIS_ BOOL NewValue) PURE;
  5959.     STDMETHOD(GetIncludeDependencies)(THIS_ LPBOOL pRetVal) PURE;
  5960.     STDMETHOD(SetIncludeDependencies)(THIS_ BOOL NewValue) PURE;
  5961.     STDMETHOD(GetIncludeUsers)(THIS_ LPBOOL pRetVal) PURE;
  5962.     STDMETHOD(SetIncludeUsers)(THIS_ BOOL NewValue) PURE;
  5963.     STDMETHOD(GetIncludeGroups)(THIS_ LPBOOL pRetVal) PURE;
  5964.     STDMETHOD(SetIncludeGroups)(THIS_ BOOL NewValue) PURE;
  5965.     STDMETHOD(GetIncludeLogins)(THIS_ LPBOOL pRetVal) PURE;
  5966.     STDMETHOD(SetIncludeLogins)(THIS_ BOOL NewValue) PURE;
  5967.     STDMETHOD(GetDropDestObjectsFirst)(THIS_ LPBOOL pRetVal) PURE;
  5968.     STDMETHOD(SetDropDestObjectsFirst)(THIS_ BOOL NewValue) PURE;
  5969.     STDMETHOD(GetScriptType)(THIS_ SQLDMO_SCRIPT_TYPE * pRetVal) PURE;
  5970.     STDMETHOD(SetScriptType)(THIS_ SQLDMO_SCRIPT_TYPE NewValue) PURE;
  5971.  
  5972.     //*** methods
  5973.     STDMETHOD(AddObjectByName)(THIS_ SQLDMO_LPCSTR ObjectName, SQLDMO_OBJECT_TYPE ObjectType, SQLDMO_LPCSTR szOwner CPPDEFAULT(= NULL)) PURE;
  5974.     STDMETHOD(AddObject)(THIS_ LPSQLDMODBOBJECT DBObject) PURE;
  5975.     STDMETHOD(ListObjectNames)(THIS_ SQLDMO_OBJECT_TYPE ObjectType, LPSQLDMONAMELIST * ppList) PURE;
  5976.     STDMETHOD(Abort)(THIS) PURE;
  5977.  
  5978.     // 7.0
  5979.     STDMETHOD(GetScript2Type)(THIS_ SQLDMO_SCRIPT2_TYPE * pRetVal) PURE;
  5980.     STDMETHOD(SetScript2Type)(THIS_ SQLDMO_SCRIPT2_TYPE NewValue) PURE;
  5981.     STDMETHOD(RetrieveErrors)(THIS_ SQLDMO_LPBSTR pbstrMsg) PURE;
  5982.     STDMETHOD(RetrieveWriteFileErrors)(THIS_ SQLDMO_LPBSTR pbstrMsg) PURE;
  5983. };
  5984.  
  5985. #undef INTERFACE
  5986. #define INTERFACE ISQLDMOTransferSink
  5987. DECLARE_INTERFACE_(INTERFACE, IUnknown)
  5988. {
  5989.    //*** IUnknown methods
  5990.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  5991.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  5992.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  5993.  
  5994.         //*** Sink properties and methods.
  5995.     STDMETHOD(StatusMessage)(THIS_ SQLDMO_LPCSTR szMessage) PURE;
  5996.     STDMETHOD(PercentCompleteAtStep)(THIS_ SQLDMO_LPCSTR szMessage, long Percent) PURE;
  5997.     STDMETHOD(ScriptTransferPercentComplete)(THIS_ SQLDMO_LPCSTR szMessage, long Percent) PURE;
  5998.     STDMETHOD(TransferPercentComplete)(THIS_ SQLDMO_LPCSTR szMessage, long Percent) PURE;
  5999. };
  6000.  
  6001. ////////////////////////////////////////////////////////////////////////////////////
  6002. ////////////////////////////////////////////////////////////////////////////////////
  6003.  
  6004. #undef INTERFACE
  6005. #define INTERFACE ISQLDMOBackup
  6006. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  6007. {
  6008.    //*** IUnknown methods
  6009.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  6010.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  6011.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  6012.  
  6013.         //*** SQLDMO standard object properties.
  6014.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  6015.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  6016.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  6017.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  6018.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  6019.  
  6020.         //*** properties
  6021.     STDMETHOD(GetPercentCompleteNotification)(THIS_ LPLONG pRetVal) PURE;
  6022.     STDMETHOD(SetPercentCompleteNotification)(THIS_ long NewValue) PURE;
  6023.     STDMETHOD(GetSkipTapeHeader)(THIS_ LPBOOL pRetVal) PURE;
  6024.     STDMETHOD(SetSkipTapeHeader)(THIS_ BOOL NewValue) PURE;
  6025.     STDMETHOD(GetUnloadTapeAfter)(THIS_ LPBOOL pRetVal) PURE;
  6026.     STDMETHOD(SetUnloadTapeAfter)(THIS_ BOOL NewValue) PURE;
  6027.     STDMETHOD(GetDatabase)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  6028.     STDMETHOD(SetDatabase)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  6029.     STDMETHOD(GetFiles)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  6030.     STDMETHOD(SetFiles)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  6031.     STDMETHOD(GetDatabaseFileGroups)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  6032.     STDMETHOD(SetDatabaseFileGroups)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  6033.     STDMETHOD(GetDatabaseFiles)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  6034.     STDMETHOD(SetDatabaseFiles)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  6035.     STDMETHOD(GetAction)(THIS_ SQLDMO_BACKUP_TYPE * pRetVal) PURE;
  6036.     STDMETHOD(SetAction)(THIS_ SQLDMO_BACKUP_TYPE NewValue) PURE;
  6037.     STDMETHOD(GetBackupSetName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  6038.     STDMETHOD(SetBackupSetName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  6039.     STDMETHOD(GetBackupSetDescription)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  6040.     STDMETHOD(SetBackupSetDescription)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  6041.     STDMETHOD(GetRestart)(THIS_ LPBOOL pRetVal) PURE;
  6042.     STDMETHOD(SetRestart)(THIS_ BOOL NewValue) PURE;
  6043.     STDMETHOD(GetTruncateLog)(THIS_ SQLDMO_BACKUP_LOG_TYPE * pRetVal) PURE;
  6044.     STDMETHOD(SetTruncateLog)(THIS_ SQLDMO_BACKUP_LOG_TYPE NewValue) PURE;
  6045.     STDMETHOD(GetBlockSize)(THIS_ LPLONG pRetVal) PURE;
  6046.     STDMETHOD(SetBlockSize)(THIS_ long NewValue) PURE;
  6047.     STDMETHOD(GetFormatMedia)(THIS_ LPBOOL pRetVal) PURE;
  6048.     STDMETHOD(SetFormatMedia)(THIS_ BOOL NewValue) PURE;
  6049.     STDMETHOD(GetMediaName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  6050.     STDMETHOD(SetMediaName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  6051.     STDMETHOD(GetMediaDescription)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  6052.     STDMETHOD(SetMediaDescription)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  6053.     STDMETHOD(GetDevices)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  6054.     STDMETHOD(SetDevices)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  6055.     STDMETHOD(GetTapes)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  6056.     STDMETHOD(SetTapes)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  6057.     STDMETHOD(GetPipes)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  6058.     STDMETHOD(SetPipes)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  6059.     STDMETHOD(GetExpirationDate)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  6060.     STDMETHOD(SetExpirationDate)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  6061.     STDMETHOD(GetInitialize)(THIS_ LPBOOL pRetVal) PURE;
  6062.     STDMETHOD(SetInitialize)(THIS_ BOOL NewValue) PURE;
  6063.     STDMETHOD(GetRetainDays)(THIS_ LPLONG pRetVal) PURE;
  6064.     STDMETHOD(SetRetainDays)(THIS_ long NewValue) PURE;
  6065.  
  6066.         // methods
  6067.     STDMETHOD(Abort)(THIS) PURE;
  6068.     STDMETHOD(SQLBackup)(THIS_ LPSQLDMOSERVER ServerObject) PURE;
  6069.     STDMETHOD(GenerateSQL)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  6070. };
  6071.  
  6072. #undef INTERFACE
  6073. #define INTERFACE ISQLDMOBackupSink
  6074. DECLARE_INTERFACE_(INTERFACE, IUnknown)
  6075. {
  6076.    //*** IUnknown methods
  6077.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  6078.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  6079.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  6080.  
  6081.         //*** Sink properties and methods.
  6082.     STDMETHOD(PercentComplete)(THIS_ SQLDMO_LPCSTR Message, long Percent) PURE;
  6083.     STDMETHOD(NextMedia)(THIS_ SQLDMO_LPCSTR Message) PURE;
  6084.     STDMETHOD(Complete)(THIS_ SQLDMO_LPCSTR Message) PURE;
  6085. };
  6086.  
  6087. ////////////////////////////////////////////////////////////////////////////////////
  6088. ////////////////////////////////////////////////////////////////////////////////////
  6089.  
  6090. #undef INTERFACE
  6091. #define INTERFACE ISQLDMOBulkCopy
  6092. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  6093. {
  6094.    //*** IUnknown methods
  6095.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  6096.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  6097.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  6098.  
  6099.         //*** SQLDMO standard object properties.
  6100.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  6101.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  6102.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  6103.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  6104.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  6105.  
  6106.         //*** properties
  6107.     STDMETHOD(GetDataFilePath)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  6108.     STDMETHOD(SetDataFilePath)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  6109.     STDMETHOD(GetFormatFilePath)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  6110.     STDMETHOD(SetFormatFilePath)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  6111.     STDMETHOD(GetErrorFilePath)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  6112.     STDMETHOD(SetErrorFilePath)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  6113.     STDMETHOD(GetLogFilePath)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  6114.     STDMETHOD(SetLogFilePath)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  6115.     STDMETHOD(GetColumnDelimiter)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  6116.     STDMETHOD(SetColumnDelimiter)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  6117.     STDMETHOD(GetRowDelimiter)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  6118.     STDMETHOD(SetRowDelimiter)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  6119.     STDMETHOD(GetDataFileType)(THIS_ SQLDMO_DATAFILE_TYPE FAR* pRetVal) PURE;
  6120.     STDMETHOD(SetDataFileType)(THIS_ SQLDMO_DATAFILE_TYPE NewValue) PURE;
  6121.     STDMETHOD(GetFirstRow)(THIS_ LPLONG pRetVal) PURE;
  6122.     STDMETHOD(SetFirstRow)(THIS_ long NewValue) PURE;
  6123.     STDMETHOD(GetLastRow)(THIS_ LPLONG pRetVal) PURE;
  6124.     STDMETHOD(SetLastRow)(THIS_ long NewValue) PURE;
  6125.     STDMETHOD(GetMaximumErrorsBeforeAbort)(THIS_ LPLONG pRetVal) PURE;
  6126.     STDMETHOD(SetMaximumErrorsBeforeAbort)(THIS_ long NewValue) PURE;
  6127.     STDMETHOD(GetIncludeIdentityValues)(THIS_ LPBOOL pRetVal) PURE;
  6128.     STDMETHOD(SetIncludeIdentityValues)(THIS_ BOOL NewValue) PURE;
  6129.     STDMETHOD(GetImportRowsPerBatch)(THIS_ LPLONG pRetVal) PURE;
  6130.     STDMETHOD(SetImportRowsPerBatch)(THIS_ long NewValue) PURE;
  6131.     STDMETHOD(GetUseBulkCopyOption)(THIS_ LPBOOL pRetVal) PURE;
  6132.     STDMETHOD(SetUseBulkCopyOption)(THIS_ BOOL NewValue) PURE;
  6133.     STDMETHOD(GetSuspendIndexing)(THIS_ LPBOOL pRetVal) PURE;
  6134.     STDMETHOD(SetSuspendIndexing)(THIS_ BOOL NewValue) PURE;
  6135.     STDMETHOD(GetTruncateLog)(THIS_ LPBOOL pRetVal) PURE;
  6136.     STDMETHOD(SetTruncateLog)(THIS_ BOOL NewValue) PURE;
  6137.     STDMETHOD(GetUseExistingConnection)(THIS_ LPBOOL pRetVal) PURE;
  6138.     STDMETHOD(SetUseExistingConnection)(THIS_ BOOL NewValue) PURE;
  6139.  
  6140.     // 7.0
  6141.     STDMETHOD(GetUse6xCompatible)(THIS_ LPBOOL pRetVal) PURE;
  6142.     STDMETHOD(SetUse6xCompatible)(THIS_ BOOL NewValue) PURE;
  6143.     STDMETHOD(GetCodePage)(THIS_ LPLONG pRetVal) PURE;
  6144.     STDMETHOD(SetCodePage)(THIS_ SQLDMO_BCP_CODEPAGE_TYPE NewValue, long UserCodePage CPPDEFAULT(= SQLDMOBCP_OEM)) PURE;
  6145.     STDMETHOD(GetUseServerSideBCP)(THIS_ LPBOOL pRetVal) PURE;
  6146.     STDMETHOD(SetUseServerSideBCP)(THIS_ BOOL NewValue) PURE;
  6147.     STDMETHOD(GetServerBCPDataFileType)(THIS_ SQLDMO_SERVERBCP_DATAFILE_TYPE FAR* pRetVal) PURE;
  6148.     STDMETHOD(SetServerBCPDataFileType)(THIS_ SQLDMO_SERVERBCP_DATAFILE_TYPE NewValue) PURE;
  6149.     STDMETHOD(GetServerBCPKeepIdentity)(THIS_ LPBOOL pRetVal) PURE;
  6150.     STDMETHOD(SetServerBCPKeepIdentity)(THIS_ BOOL NewValue) PURE;
  6151.     STDMETHOD(GetServerBCPKeepNulls)(THIS_ LPBOOL pRetVal) PURE;
  6152.     STDMETHOD(SetServerBCPKeepNulls)(THIS_ BOOL NewValue) PURE;
  6153.     STDMETHOD(GetExportWideChar)(THIS_ LPBOOL pRetVal) PURE;
  6154.     STDMETHOD(SetExportWideChar)(THIS_ BOOL NewValue) PURE;
  6155.  
  6156.         // Methods
  6157.     STDMETHOD(Abort)(THIS) PURE;
  6158. };
  6159.  
  6160. #undef INTERFACE
  6161. #define INTERFACE ISQLDMOBulkCopySink
  6162. DECLARE_INTERFACE_(INTERFACE, IUnknown)
  6163. {
  6164.    //*** IUnknown methods
  6165.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  6166.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  6167.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  6168.  
  6169.         //*** Sink properties and methods.
  6170.     STDMETHOD(RowsCopied)(THIS_ SQLDMO_LPCSTR Message, long Rows) PURE;
  6171.     STDMETHOD(BatchImported)(THIS_ SQLDMO_LPCSTR Message) PURE;
  6172. };
  6173.  
  6174. ////////////////////////////////////////////////////////////////////////////////////
  6175. ////////////////////////////////////////////////////////////////////////////////////
  6176.  
  6177. // 7.0 new objects
  6178.  
  6179. #undef INTERFACE
  6180. #define INTERFACE ISQLDMOFileGroups
  6181. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  6182. {
  6183.    //*** IUnknown methods
  6184.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  6185.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  6186.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  6187.  
  6188.         //*** SQLDMO standard object properties.
  6189.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  6190.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  6191.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  6192.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  6193.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  6194.  
  6195.     //*** SQLDMO standard enumeration properties
  6196.     STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLDMOFILEGROUP *ppObj) PURE;
  6197.     STDMETHOD(GetItemByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOFILEGROUP *ppObj) PURE;
  6198.     STDMETHOD(GetItemByID)(THIS_ long lID, LPSQLDMOFILEGROUP *ppObj) PURE;
  6199.     STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  6200.  
  6201. //*** SQLDMO standard collection methods
  6202.     STDMETHOD(Add)(THIS_ LPSQLDMOFILEGROUP Object) PURE;
  6203.     STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  6204.     STDMETHOD(RemoveByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  6205.     STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  6206. };
  6207.  
  6208. #undef INTERFACE
  6209. #define INTERFACE ISQLDMOFileGroup
  6210. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  6211. {
  6212.    //*** IUnknown methods
  6213.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  6214.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  6215.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  6216.  
  6217.         //*** SQLDMO standard object properties.
  6218.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  6219.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  6220.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  6221.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  6222.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  6223.  
  6224.         //*** properties
  6225.     STDMETHOD(GetName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  6226.     STDMETHOD(SetName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  6227.     STDMETHOD(GetSize)(THIS_ LPLONG pRetVal) PURE;
  6228.     STDMETHOD(GetID)(THIS_ LPLONG pRetVal) PURE;
  6229.     STDMETHOD(GetReadOnly)(THIS_ LPBOOL pRetVal) PURE;
  6230.     STDMETHOD(SetReadOnly)(THIS_ BOOL pRetVal) PURE;
  6231.     STDMETHOD(GetDefault)(THIS_ LPBOOL pRetVal) PURE;
  6232.     STDMETHOD(SetDefault)(THIS_ BOOL pRetVal) PURE;
  6233.  
  6234.         // Collection properties
  6235.     STDMETHOD(GetDBFiles)(THIS_ LPSQLDMODBFILES *ppDBFiles) PURE;
  6236.     STDMETHOD(GetDBFileByOrd)(THIS_ long lOrdinal, LPSQLDMODBFILE *ppDBFile) PURE;
  6237.     STDMETHOD(RemoveDBFileByOrd)(THIS_ long lOrdinal) PURE;
  6238.     STDMETHOD(AddDBFile)(THIS_ LPSQLDMODBFILE pDBFile) PURE;
  6239.     STDMETHOD(GetDBFileCount)(THIS_ LPLONG plCount) PURE;
  6240.  
  6241.         //*** methods
  6242.     STDMETHOD(Remove)(THIS) PURE;
  6243.     STDMETHOD(EnumObjects)(THIS_ LPSQLDMOQUERYRESULTS *ppResults) PURE;
  6244.     STDMETHOD(EnumFiles)(THIS_ LPSQLDMOQUERYRESULTS *ppResults) PURE;
  6245.     STDMETHOD(CheckFilegroup)(THIS_ SQLDMO_LPBSTR pResult) PURE;
  6246.     STDMETHOD(CheckFilegroupDataOnly)(THIS_ SQLDMO_LPBSTR pResult) PURE;
  6247. };
  6248.  
  6249. ////////////////////////////////////////////////////////////////////////////////////
  6250. ////////////////////////////////////////////////////////////////////////////////////
  6251.  
  6252. #undef INTERFACE
  6253. #define INTERFACE ISQLDMODBFiles
  6254. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  6255. {
  6256.    //*** IUnknown methods
  6257.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  6258.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  6259.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  6260.  
  6261.         //*** SQLDMO standard object properties.
  6262.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  6263.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  6264.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  6265.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  6266.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  6267.  
  6268.     //*** SQLDMO standard enumeration properties
  6269.     STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLDMODBFILE *ppObj) PURE;
  6270.     STDMETHOD(GetItemByID)(THIS_ long lID, LPSQLDMODBFILE *ppObj) PURE;
  6271.     STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  6272.  
  6273. //*** SQLDMO standard collection methods
  6274.     STDMETHOD(Add)(THIS_ LPSQLDMODBFILE Object) PURE;
  6275.     STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  6276.     STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  6277. };
  6278.  
  6279. #undef INTERFACE
  6280. #define INTERFACE ISQLDMODBFile
  6281. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  6282. {
  6283.    //*** IUnknown methods
  6284.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  6285.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  6286.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  6287.  
  6288.         //*** SQLDMO standard object properties.
  6289.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  6290.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  6291.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  6292.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  6293.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  6294.  
  6295.         //*** properties
  6296.     STDMETHOD(GetName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  6297.     STDMETHOD(SetName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  6298.     STDMETHOD(GetPhysicalName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  6299.     STDMETHOD(SetPhysicalName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  6300.     STDMETHOD(GetPrimaryFile)(THIS_ LPBOOL pRetVal) PURE;
  6301.     STDMETHOD(SetPrimaryFile)(THIS_ BOOL pRetVal) PURE;
  6302.     STDMETHOD(GetFileGrowth)(THIS_ LPLONG pRetVal) PURE;
  6303.     STDMETHOD(SetFileGrowth)(THIS_ long NewValue) PURE;
  6304.     STDMETHOD(GetMaximumSize)(THIS_ LPLONG pRetVal) PURE;
  6305.     STDMETHOD(SetMaximumSize)(THIS_ long NewValue) PURE;
  6306.     STDMETHOD(GetSpaceAvailableInMB)(THIS_ LPLONG pRetVal) PURE;
  6307.     STDMETHOD(GetSize)(THIS_ LPLONG pRetVal) PURE;
  6308.     STDMETHOD(SetSize)(THIS_ long NewValue) PURE;
  6309.     STDMETHOD(GetID)(THIS_ LPLONG pRetVal) PURE;
  6310.     STDMETHOD(GetFileGrowthType)(THIS_ SQLDMO_GROWTH_TYPE * pRetVal) PURE;
  6311.     STDMETHOD(SetFileGrowthType)(THIS_ SQLDMO_GROWTH_TYPE NewValue) PURE;
  6312.     STDMETHOD(GetFileGrowthInKB)(THIS_ LPFLOAT pRetVal) PURE;
  6313.     STDMETHOD(GetSizeInKB)(THIS_ LPFLOAT pRetVal) PURE;
  6314.  
  6315.         //*** methods
  6316.     STDMETHOD(Remove)(THIS) PURE;
  6317.     STDMETHOD(Shrink)(THIS_ long lNewSizeInMB, SQLDMO_SHRINK_TYPE Truncate) PURE;
  6318. };
  6319.  
  6320. ////////////////////////////////////////////////////////////////////////////////////
  6321. ////////////////////////////////////////////////////////////////////////////////////
  6322.  
  6323. #undef INTERFACE
  6324. #define INTERFACE ISQLDMOLogFiles
  6325. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  6326. {
  6327.    //*** IUnknown methods
  6328.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  6329.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  6330.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  6331.  
  6332.         //*** SQLDMO standard object properties.
  6333.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  6334.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  6335.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  6336.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  6337.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  6338.  
  6339.     //*** SQLDMO standard enumeration properties
  6340.     STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLDMOLOGFILE *ppObj) PURE;
  6341.     STDMETHOD(GetItemByID)(THIS_ long lID, LPSQLDMOLOGFILE *ppObj) PURE;
  6342.     STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  6343.  
  6344. //*** SQLDMO standard collection methods
  6345.     STDMETHOD(Add)(THIS_ LPSQLDMOLOGFILE Object) PURE;
  6346.     STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  6347. };
  6348.  
  6349. #undef INTERFACE
  6350. #define INTERFACE ISQLDMOLogFile
  6351. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  6352. {
  6353.    //*** IUnknown methods
  6354.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  6355.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  6356.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  6357.  
  6358.         //*** SQLDMO standard object properties.
  6359.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  6360.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  6361.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  6362.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  6363.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  6364.  
  6365.         //*** properties
  6366.     STDMETHOD(GetName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  6367.     STDMETHOD(SetName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  6368.     STDMETHOD(GetPhysicalName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  6369.     STDMETHOD(SetPhysicalName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  6370.     STDMETHOD(GetSize)(THIS_ LPLONG pRetVal) PURE;
  6371.     STDMETHOD(SetSize)(THIS_ long NewValue) PURE;
  6372.     STDMETHOD(GetID)(THIS_ LPLONG pRetVal) PURE;
  6373.     STDMETHOD(GetFileGrowth)(THIS_ LPLONG pRetVal) PURE;
  6374.     STDMETHOD(SetFileGrowth)(THIS_ long NewValue) PURE;
  6375.     STDMETHOD(GetFileGrowthType)(THIS_ SQLDMO_GROWTH_TYPE * pRetVal) PURE;
  6376.     STDMETHOD(SetFileGrowthType)(THIS_ SQLDMO_GROWTH_TYPE NewValue) PURE;
  6377.     STDMETHOD(GetFileGrowthInKB)(THIS_ LPFLOAT pRetVal) PURE;
  6378.     STDMETHOD(GetMaximumSize)(THIS_ LPLONG pRetVal) PURE;
  6379.     STDMETHOD(SetMaximumSize)(THIS_ long NewValue) PURE;
  6380.     STDMETHOD(GetSizeInKB)(THIS_ LPFLOAT pRetVal) PURE;
  6381.  
  6382.         //*** methods
  6383.     STDMETHOD(Shrink)(THIS_ long lNewSizeInMB, SQLDMO_SHRINK_TYPE Truncate) PURE;
  6384. };
  6385.  
  6386. ////////////////////////////////////////////////////////////////////////////////////
  6387. ////////////////////////////////////////////////////////////////////////////////////
  6388.  
  6389. #undef INTERFACE
  6390. #define INTERFACE ISQLDMOServerRoles
  6391. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  6392. {
  6393.    //*** IUnknown methods
  6394.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  6395.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  6396.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  6397.  
  6398.         //*** SQLDMO standard object properties.
  6399.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  6400.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  6401.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  6402.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  6403.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  6404.  
  6405.     //*** SQLDMO standard enumeration properties
  6406.     STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLDMOSERVERROLE *ppObj) PURE;
  6407.     STDMETHOD(GetItemByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOSERVERROLE *ppObj) PURE;
  6408.     STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  6409.  
  6410. //*** SQLDMO standard collection methods
  6411.     STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  6412. };
  6413.  
  6414. #undef INTERFACE
  6415. #define INTERFACE ISQLDMOServerRole
  6416. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  6417. {
  6418.    //*** IUnknown methods
  6419.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  6420.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  6421.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  6422.  
  6423.         //*** SQLDMO standard object properties.
  6424.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  6425.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  6426.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  6427.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  6428.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  6429.  
  6430.         //*** properties
  6431.     STDMETHOD(GetName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  6432.     STDMETHOD(GetFullName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  6433.     STDMETHOD(GetDescription)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  6434.  
  6435.         //*** methods
  6436.     STDMETHOD(EnumServerRolePermission)(THIS_ LPSQLDMOQUERYRESULTS *ppResults) PURE;
  6437.     STDMETHOD(EnumServerRoleMember)(THIS_ LPSQLDMOQUERYRESULTS *ppResults) PURE;
  6438.     STDMETHOD(AddMember)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  6439.     STDMETHOD(DropMember)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  6440. };
  6441.  
  6442. ////////////////////////////////////////////////////////////////////////////////////
  6443. ////////////////////////////////////////////////////////////////////////////////////
  6444.  
  6445. #undef INTERFACE
  6446. #define INTERFACE ISQLDMODatabaseRoles
  6447. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  6448. {
  6449.    //*** IUnknown methods
  6450.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  6451.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  6452.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  6453.  
  6454.         //*** SQLDMO standard object properties.
  6455.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  6456.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  6457.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  6458.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  6459.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  6460.  
  6461.     //*** SQLDMO standard enumeration properties
  6462.     STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLDMODATABASEROLE *ppObj) PURE;
  6463.     STDMETHOD(GetItemByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMODATABASEROLE *ppObj) PURE;
  6464.     STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  6465.  
  6466. //*** SQLDMO standard collection methods
  6467.     STDMETHOD(Add)(THIS_ LPSQLDMODATABASEROLE Object) PURE;
  6468.     STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  6469.     STDMETHOD(RemoveByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  6470.     STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  6471. };
  6472.  
  6473. #undef INTERFACE
  6474. #define INTERFACE ISQLDMODatabaseRole
  6475. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  6476. {
  6477.    //*** IUnknown methods
  6478.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  6479.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  6480.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  6481.  
  6482.         //*** SQLDMO standard object properties.
  6483.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  6484.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  6485.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  6486.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  6487.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  6488.  
  6489.         //*** properties
  6490.     STDMETHOD(GetName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  6491.     STDMETHOD(SetName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  6492.     STDMETHOD(GetPassword)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  6493.     STDMETHOD(SetPassword)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  6494.     STDMETHOD(GetAppRole)(THIS_ LPBOOL pRetVal) PURE;
  6495.     STDMETHOD(SetAppRole)(THIS_ BOOL NewValue) PURE;
  6496.  
  6497.         //*** methods
  6498.     STDMETHOD(Remove)(THIS) PURE;
  6499.     STDMETHOD(EnumDatabaseRoleMember)(THIS_ LPSQLDMOQUERYRESULTS *ppResults) PURE;
  6500.     STDMETHOD(AddMember)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  6501.     STDMETHOD(DropMember)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  6502.     STDMETHOD(Script)(THIS_ SQLDMO_SCRIPT_TYPE ScriptType CPPDEFAULT(= SQLDMOScript_Default), SQLDMO_LPCSTR ScriptFilePath CPPDEFAULT(= NULL), SQLDMO_LPBSTR ScriptText CPPDEFAULT(= NULL), SQLDMO_SCRIPT2_TYPE Script2Type CPPDEFAULT(= SQLDMOScript2_Default)) PURE;
  6503.     STDMETHOD(EnumFixedDatabaseRolePermission)(THIS_ LPSQLDMOQUERYRESULTS *ppResults) PURE;
  6504.     STDMETHOD(IsFixedRole)(THIS_ LPBOOL pRetVal) PURE;
  6505.  
  6506.     // List methods
  6507.     STDMETHOD(ListDatabasePermissions)(THIS_ LPSQLDMOPERMISSIONLIST * ppList, SQLDMO_PRIVILEGE_TYPE lPrivilegeTypes CPPDEFAULT(= SQLDMOPriv_AllDatabasePrivs)) PURE;
  6508.     STDMETHOD(ListObjectPermissions)(THIS_ LPSQLDMOPERMISSIONLIST * ppList, SQLDMO_PRIVILEGE_TYPE lPrivilegeTypes CPPDEFAULT(= SQLDMOPriv_AllObjectPrivs)) PURE;
  6509. };
  6510.  
  6511. ////////////////////////////////////////////////////////////////////////////////////
  6512. ////////////////////////////////////////////////////////////////////////////////////
  6513.  
  6514. #undef INTERFACE
  6515. #define INTERFACE ISQLDMORestore
  6516. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  6517. {
  6518.    //*** IUnknown methods
  6519.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  6520.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  6521.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  6522.  
  6523.         //*** SQLDMO standard object properties.
  6524.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  6525.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  6526.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  6527.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  6528.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  6529.  
  6530.         //*** properties
  6531.     STDMETHOD(GetPercentCompleteNotification)(THIS_ LPLONG pRetVal) PURE;
  6532.     STDMETHOD(SetPercentCompleteNotification)(THIS_ long NewValue) PURE;
  6533.     STDMETHOD(GetUnloadTapeAfter)(THIS_ LPBOOL pRetVal) PURE;
  6534.     STDMETHOD(SetUnloadTapeAfter)(THIS_ BOOL NewValue) PURE;
  6535.     STDMETHOD(GetDatabase)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  6536.     STDMETHOD(SetDatabase)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  6537.     STDMETHOD(GetDevices)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  6538.     STDMETHOD(SetDevices)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  6539.     STDMETHOD(GetFiles)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  6540.     STDMETHOD(SetFiles)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  6541.     STDMETHOD(GetTapes)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  6542.     STDMETHOD(SetTapes)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  6543.     STDMETHOD(GetPipes)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  6544.     STDMETHOD(SetPipes)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  6545.     STDMETHOD(GetDatabaseFileGroups)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  6546.     STDMETHOD(SetDatabaseFileGroups)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  6547.     STDMETHOD(GetDatabaseFiles)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  6548.     STDMETHOD(SetDatabaseFiles)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  6549.     STDMETHOD(GetAction)(THIS_ SQLDMO_RESTORE_TYPE * pRetVal) PURE;
  6550.     STDMETHOD(SetAction)(THIS_ SQLDMO_RESTORE_TYPE NewValue) PURE;
  6551.     STDMETHOD(GetBackupSetName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  6552.     STDMETHOD(SetBackupSetName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  6553.     STDMETHOD(GetRelocateFiles)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  6554.     STDMETHOD(SetRelocateFiles)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  6555.     STDMETHOD(GetReplaceDatabase)(THIS_ LPBOOL pRetVal) PURE;
  6556.     STDMETHOD(SetReplaceDatabase)(THIS_ BOOL NewValue) PURE;
  6557.     STDMETHOD(GetLastRestore)(THIS_ LPBOOL pRetVal) PURE;
  6558.     STDMETHOD(SetLastRestore)(THIS_ BOOL NewValue) PURE;
  6559.     STDMETHOD(GetRestart)(THIS_ LPBOOL pRetVal) PURE;
  6560.     STDMETHOD(SetRestart)(THIS_ BOOL NewValue) PURE;
  6561.     STDMETHOD(GetMediaName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  6562.     STDMETHOD(SetMediaName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  6563.     STDMETHOD(GetLoadHistory)(THIS_ LPBOOL pRetVal) PURE;
  6564.     STDMETHOD(SetLoadHistory)(THIS_ BOOL NewValue) PURE;
  6565.     STDMETHOD(GetFileNumber)(THIS_ LPLONG pRetVal) PURE;
  6566.     STDMETHOD(SetFileNumber)(THIS_ long NewValue) PURE;
  6567.     STDMETHOD(GetToPointInTime)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  6568.     STDMETHOD(SetToPointInTime)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  6569.     STDMETHOD(GetStandbyFiles)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  6570.     STDMETHOD(SetStandbyFiles)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  6571.  
  6572.     // Methods
  6573.     STDMETHOD(Abort)(THIS) PURE;
  6574.     STDMETHOD(SQLRestore)(THIS_ LPSQLDMOSERVER ServerObject) PURE;
  6575.     STDMETHOD(SQLVerify)(THIS_ LPSQLDMOSERVER ServerObject) PURE;
  6576.     STDMETHOD(GenerateSQL)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  6577.     STDMETHOD(ReadBackupHeader)(THIS_ LPSQLDMOSERVER ServerObject, LPSQLDMOQUERYRESULTS *ppResults) PURE;
  6578.     STDMETHOD(ReadFileList)(THIS_ LPSQLDMOSERVER ServerObject, LPSQLDMOQUERYRESULTS *ppResults) PURE;
  6579.     STDMETHOD(ReadMediaHeader)(THIS_ LPSQLDMOSERVER ServerObject, LPSQLDMOQUERYRESULTS *ppResults) PURE;
  6580. };
  6581.  
  6582. #undef INTERFACE
  6583. #define INTERFACE ISQLDMORestoreSink
  6584. DECLARE_INTERFACE_(INTERFACE, IUnknown)
  6585. {
  6586.    //*** IUnknown methods
  6587.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  6588.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  6589.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  6590.  
  6591.         //*** Sink properties and methods.
  6592.     STDMETHOD(PercentComplete)(THIS_ SQLDMO_LPCSTR Message, long Percent) PURE;
  6593.     STDMETHOD(NextMedia)(THIS_ SQLDMO_LPCSTR Message) PURE;
  6594.     STDMETHOD(Complete)(THIS_ SQLDMO_LPCSTR Message) PURE;
  6595. };
  6596.  
  6597. ////////////////////////////////////////////////////////////////////////////////////
  6598. ////////////////////////////////////////////////////////////////////////////////////
  6599.  
  6600. #undef INTERFACE
  6601. #define INTERFACE ISQLDMOLinkedServers
  6602. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  6603. {
  6604.    //*** IUnknown methods
  6605.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  6606.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  6607.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  6608.  
  6609.     //*** SQLDMO standard object properties.
  6610.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  6611.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  6612.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  6613.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  6614.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  6615.  
  6616.     //*** SQLDMO standard enumeration properties
  6617.     STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLDMOLINKEDSERVER *ppObj) PURE;
  6618.     STDMETHOD(GetItemByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOLINKEDSERVER *ppObj) PURE;
  6619.     STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  6620.  
  6621.     //*** SQLDMO standard collection methods
  6622.     STDMETHOD(Add)(THIS_ LPSQLDMOLINKEDSERVER Object) PURE;
  6623.     STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  6624.     STDMETHOD(RemoveByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  6625.     STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  6626. };
  6627.  
  6628. #undef INTERFACE
  6629. #define INTERFACE ISQLDMOLinkedServer
  6630. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  6631. {
  6632.    //*** IUnknown methods
  6633.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  6634.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  6635.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  6636.  
  6637.     //*** SQLDMO standard object properties.
  6638.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  6639.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  6640.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  6641.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  6642.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  6643.  
  6644.     //*** properties
  6645.     STDMETHOD(GetName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  6646.     STDMETHOD(SetName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  6647.     STDMETHOD(GetProductName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  6648.     STDMETHOD(SetProductName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  6649.     STDMETHOD(GetProviderName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  6650.     STDMETHOD(SetProviderName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  6651.     STDMETHOD(GetDataSource)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  6652.     STDMETHOD(SetDataSource)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  6653.     STDMETHOD(GetLocation)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  6654.     STDMETHOD(SetLocation)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  6655.     STDMETHOD(GetProviderString)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  6656.     STDMETHOD(SetProviderString)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  6657.     STDMETHOD(GetOptions)(THIS_ SQLDMO_SRVOPTION_TYPE *pRetVal) PURE;
  6658.  
  6659.     //*** collection properties
  6660.     STDMETHOD(GetLinkedServerLogins)(THIS_ LPSQLDMOLINKEDSERVERLOGINS * ppLinkedServerLogins) PURE;
  6661.     STDMETHOD(GetLinkedServerLoginByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOLINKEDSERVERLOGIN *ppLinkedServerLogin) PURE;
  6662.     STDMETHOD(GetLinkedServerLoginByOrd)(THIS_ long lOrdinal, LPSQLDMOLINKEDSERVERLOGIN *ppLinkedServerLogin) PURE;
  6663.     STDMETHOD(RemoveLinkedServerLoginByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  6664.     STDMETHOD(RemoveLinkedServerLoginByOrd)(THIS_ long lOrdinal) PURE;
  6665.     STDMETHOD(AddLinkedServerLogin)(THIS_ LPSQLDMOLINKEDSERVERLOGIN pLinkedServerLogin) PURE;
  6666.     STDMETHOD(GetLinkedServerLoginCount)(THIS_ LPLONG plCount) PURE;
  6667.  
  6668.     //*** methods
  6669.     STDMETHOD(Remove)(THIS) PURE;
  6670.     STDMETHOD(ExecuteImmediate)(THIS_ SQLDMO_LPCSTR Command, long lLength CPPDEFAULT(= 0)) PURE;
  6671.     STDMETHOD(ExecuteWithResults)(THIS_ SQLDMO_LPCSTR Command, LPSQLDMOQUERYRESULTS *ppResults, long lLength CPPDEFAULT(= 0)) PURE;
  6672.     STDMETHOD(ExecuteWithResultsAndMessages)(THIS_ SQLDMO_LPCSTR Command, LPSQLDMOQUERYRESULTS *ppResults, SQLDMO_LPBSTR ppszMessages CPPDEFAULT(= 0), long lLength CPPDEFAULT(= 0)) PURE;
  6673.     STDMETHOD(SetOptions)(THIS_ SQLDMO_SRVOPTION_TYPE Options, BOOL NewValue) PURE;
  6674.  
  6675.     STDMETHOD(GetCatalog)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  6676.     STDMETHOD(SetCatalog)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  6677.  
  6678.     STDMETHOD(EnumTables)(THIS_ LPSQLDMOQUERYRESULTS *ppResults, SQLDMO_LPCSTR TableName CPPDEFAULT(= NULL), SQLDMO_LPCSTR SchemaName CPPDEFAULT(= NULL), SQLDMO_LPCSTR CatalogName CPPDEFAULT(= NULL), SQLDMO_LINKEDTABLE_TYPE TableType CPPDEFAULT(= SQLDMOLinkedTable_Default)) PURE;
  6679.     STDMETHOD(EnumColumns)(THIS_ LPSQLDMOQUERYRESULTS *ppResults, SQLDMO_LPCSTR TableName CPPDEFAULT(= NULL), SQLDMO_LPCSTR SchemaName CPPDEFAULT(= NULL), SQLDMO_LPCSTR CatalogName CPPDEFAULT(= NULL), SQLDMO_LPCSTR ColumnName CPPDEFAULT(= NULL)) PURE;
  6680.  
  6681.     STDMETHOD(GetDropLogins)(THIS_ LPBOOL pRetVal) PURE;
  6682.     STDMETHOD(SetDropLogins)(THIS_ BOOL NewValue) PURE;
  6683. };
  6684.  
  6685. ////////////////////////////////////////////////////////////////////////////////////
  6686. ////////////////////////////////////////////////////////////////////////////////////
  6687.  
  6688. #undef INTERFACE
  6689. #define INTERFACE ISQLDMOLinkedServerLogins
  6690. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  6691. {
  6692.    //*** IUnknown methods
  6693.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  6694.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  6695.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  6696.  
  6697.     //*** SQLDMO standard object properties.
  6698.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  6699.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  6700.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  6701.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  6702.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  6703.  
  6704.     //*** SQLDMO standard enumeration properties
  6705.     STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLDMOLINKEDSERVERLOGIN *ppObj) PURE;
  6706.     STDMETHOD(GetItemByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOLINKEDSERVERLOGIN *ppObj) PURE;
  6707.     STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  6708.  
  6709.     //*** SQLDMO standard collection methods
  6710.     STDMETHOD(Add)(THIS_ LPSQLDMOLINKEDSERVERLOGIN Object) PURE;
  6711.     STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  6712.     STDMETHOD(RemoveByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  6713.     STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  6714. };
  6715.  
  6716. #undef INTERFACE
  6717. #define INTERFACE ISQLDMOLinkedServerLogin
  6718. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  6719. {
  6720.    //*** IUnknown methods
  6721.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  6722.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  6723.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  6724.  
  6725.     //*** SQLDMO standard object properties.
  6726.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  6727.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  6728.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  6729.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  6730.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  6731.  
  6732.     //*** properties
  6733.     STDMETHOD(GetLocalLogin)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  6734.     STDMETHOD(SetLocalLogin)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  6735.     STDMETHOD(GetRemoteUser)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  6736.     STDMETHOD(SetRemoteUser)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  6737.     STDMETHOD(SetRemotePassword)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  6738.     STDMETHOD(GetImpersonate)(THIS_ LPBOOL pRetVal) PURE;
  6739.     STDMETHOD(SetImpersonate)(THIS_ BOOL NewValue) PURE;
  6740.  
  6741.     //*** methods
  6742.     STDMETHOD(Remove)(THIS) PURE;
  6743. };
  6744.  
  6745. ////////////////////////////////////////////////////////////////////////////////////
  6746. ////////////////////////////////////////////////////////////////////////////////////
  6747.  
  6748. #undef INTERFACE
  6749. #define INTERFACE ISQLDMOFullTextCatalogs
  6750. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  6751. {
  6752.    //*** IUnknown methods
  6753.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  6754.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  6755.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  6756.  
  6757.     //*** SQLDMO standard object properties.
  6758.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  6759.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  6760.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  6761.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  6762.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  6763.  
  6764.     //*** SQLDMO standard enumeration properties
  6765.     STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLDMOFULLTEXTCATALOG *ppObj) PURE;
  6766.     STDMETHOD(GetItemByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOFULLTEXTCATALOG *ppObj) PURE;
  6767.     STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  6768.  
  6769.     //*** SQLDMO standard collection methods
  6770.     STDMETHOD(Add)(THIS_ LPSQLDMOFULLTEXTCATALOG Object) PURE;
  6771.     STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  6772.     STDMETHOD(RemoveByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  6773.     STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  6774. };
  6775.  
  6776. #undef INTERFACE
  6777. #define INTERFACE ISQLDMOFullTextCatalog
  6778. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  6779. {
  6780.    //*** IUnknown methods
  6781.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  6782.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  6783.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  6784.  
  6785.     //*** SQLDMO standard object properties.
  6786.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  6787.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  6788.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  6789.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  6790.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  6791.  
  6792.     //*** properties
  6793.     STDMETHOD(GetName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  6794.     STDMETHOD(SetName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  6795.     STDMETHOD(GetRootPath)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  6796.     STDMETHOD(SetRootPath)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  6797.     STDMETHOD(GetItemCount)(THIS_ LPLONG pRetVal) PURE;
  6798.     STDMETHOD(GetPopulateStatus)(THIS_ SQLDMO_FULLTEXTSTATUS_TYPE *pRetVal) PURE;
  6799.     STDMETHOD(GetFullTextIndexSize)(THIS_ LPLONG pRetVal) PURE;
  6800.     STDMETHOD(GetUniqueKeyCount)(THIS_ LPLONG pRetVal) PURE;
  6801.     STDMETHOD(GetPopulateCompletionDate)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  6802.     STDMETHOD(GetErrorLogSize)(THIS_ LPLONG pRetVal) PURE;
  6803.     STDMETHOD(GetHasFullTextIndexedTables)(THIS_ LPBOOL pRetVal) PURE;
  6804.  
  6805.     //*** methods
  6806.     STDMETHOD(Remove)(THIS) PURE;
  6807.     STDMETHOD(Start)(THIS_ SQLDMO_FULLTEXT_START_TYPE StartType) PURE;
  6808.     STDMETHOD(Stop)(THIS) PURE;
  6809.     STDMETHOD(GenerateSQL)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  6810.     STDMETHOD(Script)(THIS_ SQLDMO_SCRIPT_TYPE ScriptType CPPDEFAULT(= SQLDMOScript_Default), SQLDMO_LPCSTR ScriptFilePath CPPDEFAULT(= NULL), SQLDMO_LPBSTR ScriptText CPPDEFAULT(= NULL), SQLDMO_SCRIPT2_TYPE Script2Type CPPDEFAULT(= SQLDMOScript2_Default)) PURE;
  6811.     STDMETHOD(Rebuild)(THIS) PURE;
  6812.  
  6813.     STDMETHOD(GetFullTextCatalogID)(THIS_ LPLONG pRetVal) PURE;
  6814.     STDMETHOD(GetPopulateCompletionAge)(THIS_ LPLONG pRetVal) PURE;
  6815. };
  6816.  
  6817. ////////////////////////////////////////////////////////////////////////////////////
  6818. ////////////////////////////////////////////////////////////////////////////////////
  6819.  
  6820. #undef INTERFACE
  6821. #define INTERFACE ISQLDMOFullTextService
  6822. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  6823. {
  6824.     //*** IUnknown methods
  6825.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  6826.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  6827.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  6828.  
  6829.     //*** SQLDMO standard object properties.
  6830.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  6831.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  6832.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  6833.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  6834.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  6835.  
  6836.     //*** properties
  6837.     STDMETHOD(GetStatus)(THIS_ SQLDMO_SVCSTATUS_TYPE *pRetVal) PURE;
  6838.     STDMETHOD(GetDefaultPath)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  6839.     STDMETHOD(GetResourceUsage)(THIS_ LPLONG pRetVal) PURE;
  6840.     STDMETHOD(SetResourceUsage)(THIS_ long NewValue) PURE;
  6841.     STDMETHOD(GetConnectTimeout)(THIS_ LPLONG pRetVal) PURE;
  6842.     STDMETHOD(SetConnectTimeout)(THIS_ long NewValue) PURE;
  6843.     STDMETHOD(GetIsFullTextInstalled)(THIS_ LPBOOL pRetVal) PURE;
  6844.  
  6845.     //*** methods
  6846.     STDMETHOD(Start)(THIS) PURE;
  6847.     STDMETHOD(Stop)(THIS) PURE;
  6848.     STDMETHOD(CleanUp)(THIS) PURE;
  6849. };
  6850.  
  6851. ////////////////////////////////////////////////////////////////////////////////////
  6852. ////////////////////////////////////////////////////////////////////////////////////
  6853.  
  6854.  
  6855.  
  6856.  
  6857.  
  6858.  
  6859.  
  6860. ////////////////////////////////////////////////////////////////////////////////////
  6861. ////////////////////////////////////////////////////////////////////////////////////
  6862.  
  6863. #undef INTERFACE
  6864. #define INTERFACE ISQLDMOTransPublications
  6865. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  6866. {
  6867.    //*** IUnknown methods
  6868.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  6869.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  6870.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  6871.  
  6872.     //*** SQLDMO standard object properties.
  6873.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  6874.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  6875.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  6876.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  6877.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  6878.  
  6879.     //*** SQLDMO standard enumeration properties
  6880.     STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLDMOTRANSPUBLICATION *ppObj) PURE;
  6881.     STDMETHOD(GetItemByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOTRANSPUBLICATION *ppObj) PURE;
  6882.     STDMETHOD(GetItemByID)(THIS_ long lID, LPSQLDMOTRANSPUBLICATION *ppObj) PURE;
  6883.     STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  6884.  
  6885.     //*** SQLDMO standard collection methods
  6886.     STDMETHOD(Add)(THIS_ LPSQLDMOTRANSPUBLICATION Object) PURE;
  6887.     STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  6888.     STDMETHOD(RemoveByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  6889.     STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  6890.  
  6891.     //*** Collection specific methods
  6892.     STDMETHOD(Script)(THIS_ SQLDMO_REPSCRIPT_TYPE ScriptType CPPDEFAULT(= SQLDMORepScript_Default), SQLDMO_LPCSTR ScriptFilePath CPPDEFAULT(= NULL), SQLDMO_LPBSTR ScriptText CPPDEFAULT(= NULL)) PURE;
  6893. };
  6894.  
  6895. #undef INTERFACE
  6896. #define INTERFACE ISQLDMOTransPublication
  6897. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  6898. {
  6899.    //*** IUnknown methods
  6900.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  6901.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  6902.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  6903.  
  6904.     //*** SQLDMO standard object properties.
  6905.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  6906.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  6907.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  6908.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  6909.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  6910.  
  6911.     //*** properties
  6912.     STDMETHOD(GetName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  6913.     STDMETHOD(SetName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  6914.     STDMETHOD(GetID)(THIS_ LPLONG pRetVal) PURE;
  6915.     STDMETHOD(GetDescription)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  6916.     STDMETHOD(SetDescription)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  6917.     STDMETHOD(GetEnabled)(THIS_ LPBOOL pRetVal) PURE;
  6918.     STDMETHOD(SetEnabled)(THIS_ BOOL NewValue) PURE;
  6919.     STDMETHOD(GetRetentionPeriod)(THIS_ LPDWORD pRetVal) PURE;
  6920.     STDMETHOD(SetRetentionPeriod)(THIS_ DWORD NewValue) PURE;
  6921.     STDMETHOD(GetSnapshotMethod)(THIS_ SQLDMO_INITIALSYNC_TYPE *pRetVal) PURE;
  6922.     STDMETHOD(SetSnapshotMethod)(THIS_ SQLDMO_INITIALSYNC_TYPE NewValue) PURE;
  6923.     STDMETHOD(GetSnapshotAvailable)(THIS_ LPBOOL pRetVal) PURE;
  6924.     STDMETHOD(SetSnapshotAvailable)(THIS_ BOOL NewValue) PURE;
  6925.     STDMETHOD(GetSnapshotSchedule)(THIS_ LPSQLDMOSCHEDULE *ppSchedule) PURE;
  6926.     STDMETHOD(GetSnapshotJobID)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  6927.     STDMETHOD(GetPublicationAttributes)(THIS_ SQLDMO_PUBATTRIB_TYPE *pRetVal) PURE;
  6928.     STDMETHOD(SetPublicationAttributes)(THIS_ SQLDMO_PUBATTRIB_TYPE NewValue) PURE;
  6929.     STDMETHOD(GetHasSubscription)(THIS_ LPBOOL pRetVal) PURE;
  6930.  
  6931.     STDMETHOD(GetAllowSynchronousTransactions)(THIS_ LPBOOL pRetVal) PURE;
  6932.     STDMETHOD(SetAllowSynchronousTransactions)(THIS_ BOOL NewValue) PURE;
  6933.     STDMETHOD(GetAutogenerateSyncProcedures)(THIS_ LPBOOL pRetVal) PURE;
  6934.     STDMETHOD(SetAutogenerateSyncProcedures)(THIS_ BOOL NewValue) PURE;
  6935.     STDMETHOD(GetReplicationFrequency)(THIS_ SQLDMO_REPFREQ_TYPE *pRetVal) PURE;
  6936.     STDMETHOD(SetReplicationFrequency)(THIS_ SQLDMO_REPFREQ_TYPE NewValue) PURE;
  6937.  
  6938.     //*** Collection properties
  6939.     STDMETHOD(GetTransArticles)(THIS_ LPSQLDMOTRANSARTICLES * ppArticles) PURE;
  6940.     STDMETHOD(GetTransArticleByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOTRANSARTICLE *ppArticle) PURE;
  6941.     STDMETHOD(GetTransArticleByOrd)(THIS_ long lOrdinal, LPSQLDMOTRANSARTICLE *ppArticle) PURE;
  6942.     STDMETHOD(RemoveTransArticleByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  6943.     STDMETHOD(RemoveTransArticleByOrd)(THIS_ long lOrdinal) PURE;
  6944.     STDMETHOD(AddTransArticle)(THIS_ LPSQLDMOTRANSARTICLE pArticle) PURE;
  6945.     STDMETHOD(GetTransArticleCount)(THIS_ LPLONG plCount) PURE;
  6946.  
  6947.     STDMETHOD(GetTransSubscriptions)(THIS_ LPSQLDMOTRANSSUBSCRIPTIONS * ppSubscriptions) PURE;
  6948.     STDMETHOD(GetTransSubscriptionByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOTRANSSUBSCRIPTION *ppSubscription) PURE;
  6949.     STDMETHOD(GetTransSubscriptionByOrd)(THIS_ long lOrdinal, LPSQLDMOTRANSSUBSCRIPTION *ppSubscription) PURE;
  6950.     STDMETHOD(RemoveTransSubscriptionByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  6951.     STDMETHOD(RemoveTransSubscriptionByOrd)(THIS_ long lOrdinal) PURE;
  6952.     STDMETHOD(AddTransSubscription)(THIS_ LPSQLDMOTRANSSUBSCRIPTION pSubscription) PURE;
  6953.     STDMETHOD(GetTransSubscriptionCount)(THIS_ LPLONG plCount) PURE;
  6954.  
  6955.     //*** methods
  6956.     STDMETHOD(Remove)(THIS) PURE;
  6957.     STDMETHOD(BeginAlter)(THIS) PURE;
  6958.     STDMETHOD(DoAlter)(THIS) PURE;
  6959.     STDMETHOD(CancelAlter)(THIS) PURE;
  6960.     STDMETHOD(ActivateSubscriptions)(THIS) PURE;
  6961.     STDMETHOD(Script)(THIS_ SQLDMO_REPSCRIPT_TYPE ScriptType CPPDEFAULT(= SQLDMORepScript_Default), SQLDMO_LPCSTR ScriptFilePath CPPDEFAULT(= NULL), SQLDMO_LPBSTR ScriptText CPPDEFAULT(= NULL)) PURE;
  6962.     STDMETHOD(EnumSubscriptions)(THIS_ LPSQLDMOQUERYRESULTS *ppResults) PURE;
  6963.     STDMETHOD(RefreshChildren)(THIS) PURE;
  6964.     STDMETHOD(ReInitializeAllSubscriptions)(THIS) PURE;
  6965.     STDMETHOD(EnumPublicationAccesses)(THIS_ LPSQLDMOQUERYRESULTS *ppResults, BOOL bReturnGranted CPPDEFAULT(= TRUE)) PURE;
  6966.     STDMETHOD(GrantPublicationAccess)(THIS_ SQLDMO_LPCSTR szLoginName) PURE;
  6967.     STDMETHOD(RevokePublicationAccess)(THIS_ SQLDMO_LPCSTR szLoginName) PURE;
  6968. };
  6969.  
  6970. ////////////////////////////////////////////////////////////////////////////////////
  6971. ////////////////////////////////////////////////////////////////////////////////////
  6972.  
  6973. #undef INTERFACE
  6974. #define INTERFACE ISQLDMOTransArticles
  6975. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  6976. {
  6977.    //*** IUnknown methods
  6978.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  6979.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  6980.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  6981.  
  6982.     //*** SQLDMO standard object properties.
  6983.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  6984.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  6985.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  6986.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  6987.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  6988.  
  6989.     //*** SQLDMO standard enumeration properties
  6990.     STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLDMOTRANSARTICLE *ppObj) PURE;
  6991.     STDMETHOD(GetItemByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOTRANSARTICLE *ppObj) PURE;
  6992.     STDMETHOD(GetItemByID)(THIS_ long lID, LPSQLDMOTRANSARTICLE *ppObj) PURE;
  6993.     STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  6994.  
  6995.     //*** SQLDMO standard collection methods
  6996.     STDMETHOD(Add)(THIS_ LPSQLDMOTRANSARTICLE Object) PURE;
  6997.     STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  6998.     STDMETHOD(RemoveByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  6999.     STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  7000. };
  7001.  
  7002. #undef INTERFACE
  7003. #define INTERFACE ISQLDMOTransArticle
  7004. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  7005. {
  7006.    //*** IUnknown methods
  7007.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  7008.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  7009.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  7010.  
  7011.     //*** SQLDMO standard object properties.
  7012.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  7013.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  7014.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  7015.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  7016.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  7017.  
  7018.     //*** properties
  7019.     STDMETHOD(GetName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  7020.     STDMETHOD(SetName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  7021.     STDMETHOD(GetID)(THIS_ LPLONG pRetVal) PURE;
  7022.     STDMETHOD(GetSourceObjectOwner)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  7023.     STDMETHOD(SetSourceObjectOwner)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  7024.     STDMETHOD(GetSourceObjectName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  7025.     STDMETHOD(SetSourceObjectName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  7026.     STDMETHOD(GetDescription)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  7027.     STDMETHOD(SetDescription)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  7028.     STDMETHOD(GetReplicateAllColumns)(THIS_ LPBOOL pRetVal) PURE;
  7029.     STDMETHOD(GetSnapshotObjectOwner)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  7030.     STDMETHOD(SetSnapshotObjectOwner)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  7031.     STDMETHOD(GetSnapshotObjectName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  7032.     STDMETHOD(SetSnapshotObjectName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  7033.     STDMETHOD(GetArticleType)(THIS_ SQLDMO_ARTICLE_TYPE *pRetVal) PURE;
  7034.     STDMETHOD(SetArticleType)(THIS_ SQLDMO_ARTICLE_TYPE NewValue) PURE;
  7035.     STDMETHOD(GetInsertCommand)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  7036.     STDMETHOD(SetInsertCommand)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  7037.     STDMETHOD(GetUpdateCommand)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  7038.     STDMETHOD(SetUpdateCommand)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  7039.     STDMETHOD(GetDeleteCommand)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  7040.     STDMETHOD(SetDeleteCommand)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  7041.     STDMETHOD(GetReplicationFilterProcOwner)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  7042.     STDMETHOD(SetReplicationFilterProcOwner)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  7043.     STDMETHOD(GetReplicationFilterProcName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  7044.     STDMETHOD(SetReplicationFilterProcName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  7045.     STDMETHOD(GetCreationScriptPath)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  7046.     STDMETHOD(SetCreationScriptPath)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  7047.     STDMETHOD(GetDestinationOwnerName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  7048.     STDMETHOD(SetDestinationOwnerName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  7049.     STDMETHOD(GetDestinationObjectName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  7050.     STDMETHOD(SetDestinationObjectName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  7051.     STDMETHOD(GetPreCreationMethod)(THIS_ SQLDMO_PREARTICLE_TYPE *pRetVal) PURE;
  7052.     STDMETHOD(SetPreCreationMethod)(THIS_ SQLDMO_PREARTICLE_TYPE NewValue) PURE;
  7053.     STDMETHOD(GetFilterClause)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  7054.     STDMETHOD(SetFilterClause)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  7055.     STDMETHOD(GetCreationScriptOptions)(THIS_ SQLDMO_CREATIONSCRIPT_TYPE FAR * pRetVal) PURE;
  7056.     STDMETHOD(SetCreationScriptOptions)(THIS_ SQLDMO_CREATIONSCRIPT_TYPE NewValue) PURE;
  7057.     STDMETHOD(GetCommandOptions)(THIS_ SQLDMO_COMMANDOPTION_TYPE FAR * pRetVal) PURE;
  7058.     STDMETHOD(SetCommandOptions)(THIS_ SQLDMO_COMMANDOPTION_TYPE NewValue) PURE;
  7059.  
  7060.     //*** Collection Properties
  7061.     STDMETHOD(GetTransSubscriptions)(THIS_ LPSQLDMOTRANSSUBSCRIPTIONS * ppSubscriptions) PURE;
  7062.     STDMETHOD(GetTransSubscriptionByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOTRANSSUBSCRIPTION *ppSubscription) PURE;
  7063.     STDMETHOD(GetTransSubscriptionByOrd)(THIS_ long lOrdinal, LPSQLDMOTRANSSUBSCRIPTION *ppSubscription) PURE;
  7064.     STDMETHOD(RemoveTransSubscriptionByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  7065.     STDMETHOD(RemoveTransSubscriptionByOrd)(THIS_ long lOrdinal) PURE;
  7066.     STDMETHOD(AddTransSubscription)(THIS_ LPSQLDMOTRANSSUBSCRIPTION pSubscription) PURE;
  7067.     STDMETHOD(GetTransSubscriptionCount)(THIS_ LPLONG plCount) PURE;
  7068.  
  7069.     //*** methods
  7070.     STDMETHOD(Remove)(THIS) PURE;
  7071.     STDMETHOD(ListReplicatedColumns)(THIS_ LPSQLDMOCOLUMNLIST *ppList) PURE;
  7072.     STDMETHOD(AddReplicatedColumns)(THIS_ SQLDMO_LPCSTR Columns) PURE;
  7073.     STDMETHOD(RemoveReplicatedColumns)(THIS_ SQLDMO_LPCSTR Columns) PURE;
  7074.     STDMETHOD(BeginAlter)(THIS) PURE;
  7075.     STDMETHOD(DoAlter)(THIS) PURE;
  7076.     STDMETHOD(CancelAlter)(THIS) PURE;
  7077.     STDMETHOD(ScriptDestinationObject)(THIS_ SQLDMO_SCRIPT_TYPE ScriptType CPPDEFAULT(= SQLDMOScript_Default), SQLDMO_LPCSTR ScriptFilePath CPPDEFAULT(= NULL), SQLDMO_LPBSTR ScriptText CPPDEFAULT(= NULL), SQLDMO_SCRIPT2_TYPE Script2Type CPPDEFAULT(= SQLDMOScript2_Default)) PURE;
  7078.     STDMETHOD(Script)(THIS_ SQLDMO_REPSCRIPT_TYPE ScriptType CPPDEFAULT(= SQLDMORepScript_Default), SQLDMO_LPCSTR ScriptFilePath CPPDEFAULT(= NULL), SQLDMO_LPBSTR ScriptText CPPDEFAULT(= NULL)) PURE;
  7079.  
  7080. };
  7081.  
  7082. #undef INTERFACE
  7083. #define INTERFACE ISQLDMOTransSubscriptions
  7084. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  7085. {
  7086.    //*** IUnknown methods
  7087.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  7088.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  7089.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  7090.  
  7091.     //*** SQLDMO standard object properties.
  7092.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  7093.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  7094.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  7095.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  7096.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  7097.  
  7098.     //*** SQLDMO standard enumeration properties
  7099.     STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLDMOTRANSSUBSCRIPTION *ppObj) PURE;
  7100.     STDMETHOD(GetItemByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOTRANSSUBSCRIPTION *ppObj) PURE;
  7101.     STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  7102.  
  7103.     //*** SQLDMO standard collection methods
  7104.     STDMETHOD(Add)(THIS_ LPSQLDMOTRANSSUBSCRIPTION Object) PURE;
  7105.     STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  7106.     STDMETHOD(RemoveByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  7107.     STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  7108.  
  7109.     //*** Collection specific methods
  7110.     STDMETHOD(Script)(THIS_ SQLDMO_REPSCRIPT_TYPE ScriptType CPPDEFAULT(= SQLDMORepScript_Default), SQLDMO_LPCSTR ScriptFilePath CPPDEFAULT(= NULL), SQLDMO_LPBSTR ScriptText CPPDEFAULT(= NULL)) PURE;
  7111. };
  7112.  
  7113. #undef INTERFACE
  7114. #define INTERFACE ISQLDMOTransSubscription
  7115. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  7116. {
  7117.    //*** IUnknown methods
  7118.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  7119.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  7120.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  7121.  
  7122.     //*** SQLDMO standard object properties.
  7123.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  7124.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  7125.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  7126.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  7127.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  7128.  
  7129.     //*** properties
  7130.     STDMETHOD(GetSubscriber)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  7131.     STDMETHOD(SetSubscriber)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  7132.     STDMETHOD(GetSubscriptionDB)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  7133.     STDMETHOD(SetSubscriptionDB)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  7134.     STDMETHOD(GetSyncType)(THIS_ SQLDMO_SUBSYNC_TYPE *pRetVal) PURE;
  7135.     STDMETHOD(SetSyncType)(THIS_ SQLDMO_SUBSYNC_TYPE NewValue) PURE;
  7136.     STDMETHOD(GetStatus)(THIS_ SQLDMO_SUBSTATUS_TYPE *pRetVal) PURE;
  7137.     STDMETHOD(SetStatus)(THIS_ SQLDMO_SUBSTATUS_TYPE NewValue) PURE;
  7138.     STDMETHOD(GetFullSubscription)(THIS_ LPBOOL pRetVal) PURE;
  7139.     STDMETHOD(GetDistributionSchedule)(THIS_ LPSQLDMOSCHEDULE *ppDistributionSchedule) PURE;
  7140.     STDMETHOD(GetName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  7141.     STDMETHOD(GetSubscriptionType)(THIS_ SQLDMO_SUBSCRIPTION_TYPE *pRetVal) PURE;
  7142.     STDMETHOD(GetSubscriberType)(THIS_ SQLDMO_TRANSUBSCRIBER_TYPE *pRetVal) PURE;
  7143.     STDMETHOD(SetSubscriberType)(THIS_ SQLDMO_TRANSUBSCRIBER_TYPE NewValue) PURE;
  7144.     STDMETHOD(GetDistributionJobID)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  7145.     STDMETHOD(SetEnabledForSyncMgr)(THIS_ BOOL NewValue) PURE;
  7146.  
  7147.     //*** methods
  7148.     STDMETHOD(Remove)(THIS) PURE;
  7149.     STDMETHOD(BeginAlter)(THIS) PURE;
  7150.     STDMETHOD(DoAlter)(THIS) PURE;
  7151.     STDMETHOD(CancelAlter)(THIS) PURE;
  7152.     STDMETHOD(Script)(THIS_ SQLDMO_REPSCRIPT_TYPE ScriptType CPPDEFAULT(= SQLDMORepScript_Default), SQLDMO_LPCSTR ScriptFilePath CPPDEFAULT(= NULL), SQLDMO_LPBSTR ScriptText CPPDEFAULT(= NULL)) PURE;
  7153.  
  7154.     STDMETHOD(ReInitialize)(THIS) PURE;
  7155. };
  7156.  
  7157. ////////////////////////////////////////////////////////////////////////////////////
  7158. ////////////////////////////////////////////////////////////////////////////////////
  7159.  
  7160. #undef INTERFACE
  7161. #define INTERFACE ISQLDMOTransPullSubscriptions
  7162. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  7163. {
  7164.    //*** IUnknown methods
  7165.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  7166.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  7167.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  7168.  
  7169.     //*** SQLDMO standard object properties.
  7170.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  7171.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  7172.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  7173.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  7174.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  7175.  
  7176.     //*** SQLDMO standard enumeration properties
  7177.     STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLDMOTRANSPULLSUBSCRIPTION *ppObj) PURE;
  7178.     STDMETHOD(GetItemByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOTRANSPULLSUBSCRIPTION *ppObj) PURE;
  7179.     STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  7180.  
  7181.     //*** SQLDMO standard collection methods
  7182.     STDMETHOD(Add)(THIS_ LPSQLDMOTRANSPULLSUBSCRIPTION Object) PURE;
  7183.     STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  7184.     STDMETHOD(RemoveByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  7185.     STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  7186.  
  7187.     //*** Collection specific methods
  7188.     STDMETHOD(Script)(THIS_ SQLDMO_REPSCRIPT_TYPE ScriptType CPPDEFAULT(= SQLDMORepScript_Default), SQLDMO_LPCSTR ScriptFilePath CPPDEFAULT(= NULL), SQLDMO_LPBSTR ScriptText CPPDEFAULT(= NULL)) PURE;
  7189. };
  7190.  
  7191. #undef INTERFACE
  7192. #define INTERFACE ISQLDMOTransPullSubscription
  7193. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  7194. {
  7195.    //*** IUnknown methods
  7196.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  7197.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  7198.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  7199.  
  7200.     //*** SQLDMO standard object properties.
  7201.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  7202.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  7203.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  7204.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  7205.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  7206.  
  7207.     //*** properties
  7208.     STDMETHOD(GetName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  7209.     STDMETHOD(GetPublisher)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  7210.     STDMETHOD(SetPublisher)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  7211.     STDMETHOD(GetPublicationDB)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  7212.     STDMETHOD(SetPublicationDB)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  7213.     STDMETHOD(GetPublication)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  7214.     STDMETHOD(SetPublication)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  7215.     STDMETHOD(GetDescription)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  7216.     STDMETHOD(SetDescription)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  7217.     STDMETHOD(GetSubscriptionType)(THIS_ SQLDMO_SUBSCRIPTION_TYPE *pRetVal) PURE;
  7218.     STDMETHOD(SetSubscriptionType)(THIS_ SQLDMO_SUBSCRIPTION_TYPE NewValue) PURE;
  7219.     STDMETHOD(GetSubscriberType)(THIS_ SQLDMO_TRANSUBSCRIBER_TYPE *pRetVal) PURE;
  7220.     STDMETHOD(SetSubscriberType)(THIS_ SQLDMO_TRANSUBSCRIBER_TYPE NewValue) PURE;
  7221.     STDMETHOD(GetDistributor)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  7222.     STDMETHOD(SetDistributor)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  7223.     STDMETHOD(GetPublisherSecurity)(THIS_ LPSQLDMOREPLICATIONSECURITY *ppPublisherSecurity) PURE;
  7224.     STDMETHOD(GetDistributorSecurity)(THIS_ LPSQLDMOREPLICATIONSECURITY *ppDistributorSecurity) PURE;
  7225.     STDMETHOD(SetSubscriberSecurityMode)(THIS_ SQLDMO_SECURITY_TYPE NewValue) PURE;
  7226.     STDMETHOD(SetSubscriberLogin)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  7227.     STDMETHOD(SetSubscriberPassword)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  7228.     STDMETHOD(GetEnabledForSyncMgr)(THIS_ LPBOOL pRetVal) PURE;
  7229.     STDMETHOD(SetEnabledForSyncMgr)(THIS_ BOOL NewValue) PURE;
  7230.     STDMETHOD(GetFTPAddress)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  7231.     STDMETHOD(SetFTPAddress)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  7232.     STDMETHOD(GetFTPPort)(THIS_ LPDWORD pRetVal) PURE;
  7233.     STDMETHOD(SetFTPPort)(THIS_ DWORD NewValue) PURE;
  7234.     STDMETHOD(GetFTPLogin)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  7235.     STDMETHOD(SetFTPLogin)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  7236.     STDMETHOD(SetFTPPassword)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  7237.  
  7238.     STDMETHOD(GetDistributionSchedule)(THIS_ LPSQLDMOSCHEDULE *ppDistributionSchedule) PURE;
  7239.     STDMETHOD(GetDistributionJobID)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  7240.     STDMETHOD(GetLastDistributionDate)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  7241.     STDMETHOD(GetPublicationAttributes)(THIS_ SQLDMO_PUBATTRIB_TYPE *pRetVal) PURE;
  7242.     STDMETHOD(SetPublicationAttributes)(THIS_ SQLDMO_PUBATTRIB_TYPE NewValue) PURE;
  7243.  
  7244.     //*** methods
  7245.     STDMETHOD(Remove)(THIS) PURE;
  7246.     STDMETHOD(BeginAlter)(THIS) PURE;
  7247.     STDMETHOD(DoAlter)(THIS) PURE;
  7248.     STDMETHOD(CancelAlter)(THIS) PURE;
  7249.     STDMETHOD(Script)(THIS_ SQLDMO_REPSCRIPT_TYPE ScriptType CPPDEFAULT(= SQLDMORepScript_Default), SQLDMO_LPCSTR ScriptFilePath CPPDEFAULT(= NULL), SQLDMO_LPBSTR ScriptText CPPDEFAULT(= NULL)) PURE;
  7250.     STDMETHOD(EnumJobInfo)(THIS_ LPSQLDMOQUERYRESULTS *ppResults) PURE;
  7251.     STDMETHOD(ReInitialize)(THIS) PURE;
  7252. };
  7253.  
  7254. #undef INTERFACE
  7255. #define INTERFACE ISQLDMOMergePublications
  7256. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  7257. {
  7258.    //*** IUnknown methods
  7259.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  7260.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  7261.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  7262.  
  7263.     //*** SQLDMO standard object properties.
  7264.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  7265.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  7266.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  7267.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  7268.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  7269.  
  7270.     //*** SQLDMO standard enumeration properties
  7271.     STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLDMOMERGEPUBLICATION *ppObj) PURE;
  7272.     STDMETHOD(GetItemByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOMERGEPUBLICATION *ppObj) PURE;
  7273.     STDMETHOD(GetItemByID)(THIS_ long lID, LPSQLDMOMERGEPUBLICATION *ppObj) PURE;
  7274.     STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  7275.  
  7276.     //*** SQLDMO standard collection methods
  7277.     STDMETHOD(Add)(THIS_ LPSQLDMOMERGEPUBLICATION Object) PURE;
  7278.     STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  7279.     STDMETHOD(RemoveByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  7280.     STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  7281.  
  7282.     //*** Collection specific methods
  7283.     STDMETHOD(Script)(THIS_ SQLDMO_REPSCRIPT_TYPE ScriptType CPPDEFAULT(= SQLDMORepScript_Default), SQLDMO_LPCSTR ScriptFilePath CPPDEFAULT(= NULL), SQLDMO_LPBSTR ScriptText CPPDEFAULT(= NULL)) PURE;
  7284. };
  7285.  
  7286. #undef INTERFACE
  7287. #define INTERFACE ISQLDMOMergePublication
  7288. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  7289. {
  7290.    //*** IUnknown methods
  7291.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  7292.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  7293.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  7294.  
  7295.     //*** SQLDMO standard object properties.
  7296.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  7297.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  7298.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  7299.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  7300.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  7301.  
  7302.     //*** properties
  7303.     STDMETHOD(GetName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  7304.     STDMETHOD(SetName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  7305.     STDMETHOD(GetID)(THIS_ long FAR* pRetVal) PURE;
  7306.     STDMETHOD(GetDescription)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  7307.     STDMETHOD(SetDescription)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  7308.     STDMETHOD(GetEnabled)(THIS_ LPBOOL pRetVal) PURE;
  7309.     STDMETHOD(SetEnabled)(THIS_ BOOL NewValue) PURE;
  7310.     STDMETHOD(GetRetentionPeriod)(THIS_ LPDWORD pRetVal) PURE;
  7311.     STDMETHOD(SetRetentionPeriod)(THIS_ DWORD NewValue) PURE;
  7312.     STDMETHOD(GetSnapshotMethod)(THIS_ SQLDMO_INITIALSYNC_TYPE *pRetVal) PURE;
  7313.     STDMETHOD(SetSnapshotMethod)(THIS_ SQLDMO_INITIALSYNC_TYPE NewValue) PURE;
  7314.     STDMETHOD(GetSnapshotAvailable)(THIS_ LPBOOL pRetVal) PURE;
  7315.     STDMETHOD(SetSnapshotAvailable)(THIS_ BOOL NewValue) PURE;
  7316.     STDMETHOD(GetSnapshotSchedule)(THIS_ LPSQLDMOSCHEDULE *ppSchedule) PURE;
  7317.     STDMETHOD(GetSnapshotJobID)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  7318.     STDMETHOD(GetPublicationAttributes)(THIS_ SQLDMO_PUBATTRIB_TYPE *pRetVal) PURE;
  7319.     STDMETHOD(SetPublicationAttributes)(THIS_ SQLDMO_PUBATTRIB_TYPE NewValue) PURE;
  7320.     STDMETHOD(GetHasSubscription)(THIS_ LPBOOL pRetVal) PURE;
  7321.  
  7322.     STDMETHOD(GetCentralizedConflicts)(THIS_ LPBOOL pRetVal) PURE;
  7323.     STDMETHOD(SetCentralizedConflicts)(THIS_ BOOL NewValue) PURE;
  7324.     STDMETHOD(GetPriority)(THIS_ float *pRetVal) PURE;
  7325.     STDMETHOD(GetDynamicFilters)(THIS_ LPBOOL pRetVal) PURE;
  7326.     STDMETHOD(SetDynamicFilters)(THIS_ BOOL NewValue) PURE;
  7327.  
  7328.     //*** Collection properties
  7329.     STDMETHOD(GetMergeArticles)(THIS_ LPSQLDMOMERGEARTICLES * ppMergeArticles) PURE;
  7330.     STDMETHOD(GetMergeArticleByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOMERGEARTICLE *ppMergeArticle) PURE;
  7331.     STDMETHOD(GetMergeArticleByOrd)(THIS_ long lOrdinal, LPSQLDMOMERGEARTICLE *ppMergeArticle) PURE;
  7332.     STDMETHOD(RemoveMergeArticleByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  7333.     STDMETHOD(RemoveMergeArticleByOrd)(THIS_ long lOrdinal) PURE;
  7334.     STDMETHOD(AddMergeArticle)(THIS_ LPSQLDMOMERGEARTICLE pMergeArticle) PURE;
  7335.     STDMETHOD(GetMergeArticleCount)(THIS_ LPLONG plCount) PURE;
  7336.  
  7337.     STDMETHOD(GetMergeSubscriptions)(THIS_ LPSQLDMOMERGESUBSCRIPTIONS * ppMergeSubscriptions) PURE;
  7338.     STDMETHOD(GetMergeSubscriptionByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOMERGESUBSCRIPTION *ppMergeSubscription) PURE;
  7339.     STDMETHOD(GetMergeSubscriptionByOrd)(THIS_ long lOrdinal, LPSQLDMOMERGESUBSCRIPTION *ppMergeSubscription) PURE;
  7340.     STDMETHOD(RemoveMergeSubscriptionByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  7341.     STDMETHOD(RemoveMergeSubscriptionByOrd)(THIS_ long lOrdinal) PURE;
  7342.     STDMETHOD(AddMergeSubscription)(THIS_ LPSQLDMOMERGESUBSCRIPTION pMergeSubscription) PURE;
  7343.     STDMETHOD(GetMergeSubscriptionCount)(THIS_ LPLONG plCount) PURE;
  7344.  
  7345.  
  7346.     //*** methods
  7347.     STDMETHOD(Remove)(THIS) PURE;
  7348.     STDMETHOD(BeginAlter)(THIS) PURE;
  7349.     STDMETHOD(DoAlter)(THIS) PURE;
  7350.     STDMETHOD(CancelAlter)(THIS) PURE;
  7351.     STDMETHOD(Script)(THIS_ SQLDMO_REPSCRIPT_TYPE ScriptType CPPDEFAULT(= SQLDMORepScript_Default), SQLDMO_LPCSTR ScriptFilePath CPPDEFAULT(= NULL), SQLDMO_LPBSTR ScriptText CPPDEFAULT(= NULL)) PURE;
  7352.     STDMETHOD(EnumSubscriptions)(THIS_ LPSQLDMOQUERYRESULTS *ppResults) PURE;
  7353.     STDMETHOD(RefreshChildren)(THIS) PURE;
  7354.     STDMETHOD(EnumPublicationReferences)(THIS_ LPSQLDMOQUERYRESULTS *ppResults) PURE;
  7355.     STDMETHOD(ReInitializeAllSubscriptions)(THIS) PURE;
  7356.     STDMETHOD(EnumPublicationAccesses)(THIS_ LPSQLDMOQUERYRESULTS *ppResults, BOOL bReturnGranted CPPDEFAULT(= TRUE)) PURE;
  7357.     STDMETHOD(GrantPublicationAccess)(THIS_ SQLDMO_LPCSTR szLoginName) PURE;
  7358.     STDMETHOD(RevokePublicationAccess)(THIS_ SQLDMO_LPCSTR szLoginName) PURE;
  7359.     STDMETHOD(GenerateFilters)(THIS) PURE;
  7360.     STDMETHOD(EnumGeneratedSubsetFilters)(THIS_ LPSQLDMOQUERYRESULTS *ppResults, SQLDMO_LPCSTR szArticle, SQLDMO_LPCSTR szSubsetFilterClause) PURE;
  7361.     STDMETHOD(EnumAllSubsetFilters)(THIS_ LPSQLDMOQUERYRESULTS *ppResults) PURE;
  7362. };
  7363.  
  7364. ////////////////////////////////////////////////////////////////////////////////////
  7365. ////////////////////////////////////////////////////////////////////////////////////
  7366.  
  7367. #undef INTERFACE
  7368. #define INTERFACE ISQLDMOMergeArticles
  7369. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  7370. {
  7371.    //*** IUnknown methods
  7372.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  7373.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  7374.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  7375.  
  7376.     //*** SQLDMO standard object properties.
  7377.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  7378.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  7379.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  7380.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  7381.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  7382.  
  7383.     //*** SQLDMO standard enumeration properties
  7384.     STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLDMOMERGEARTICLE *ppObj) PURE;
  7385.     STDMETHOD(GetItemByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOMERGEARTICLE *ppObj) PURE;
  7386.     STDMETHOD(GetItemByID)(THIS_ long lID, LPSQLDMOMERGEARTICLE *ppObj) PURE;
  7387.     STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  7388.  
  7389.     //*** SQLDMO standard collection methods
  7390.     STDMETHOD(Add)(THIS_ LPSQLDMOMERGEARTICLE Object) PURE;
  7391.     STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  7392.     STDMETHOD(RemoveByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  7393.     STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  7394. };
  7395.  
  7396. #undef INTERFACE
  7397. #define INTERFACE ISQLDMOMergeArticle
  7398. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  7399. {
  7400.    //*** IUnknown methods
  7401.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  7402.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  7403.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  7404.  
  7405.     //*** SQLDMO standard object properties.
  7406.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  7407.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  7408.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  7409.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  7410.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  7411.  
  7412.     //*** properties
  7413.     STDMETHOD(GetName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  7414.     STDMETHOD(SetName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  7415.     STDMETHOD(GetID)(THIS_ LPLONG pRetVal) PURE;
  7416.     STDMETHOD(GetSourceObjectOwner)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  7417.     STDMETHOD(SetSourceObjectOwner)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  7418.     STDMETHOD(GetSourceObjectName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  7419.     STDMETHOD(SetSourceObjectName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  7420.     STDMETHOD(GetStatus)(THIS_ SQLDMO_ARTSTATUS_TYPE *pRetVal) PURE;
  7421.     STDMETHOD(SetStatus)(THIS_ SQLDMO_ARTSTATUS_TYPE NewValue) PURE;
  7422.     STDMETHOD(GetDescription)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  7423.     STDMETHOD(SetDescription)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  7424.     STDMETHOD(GetConflictTable)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  7425.     STDMETHOD(GetArticleResolver)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  7426.     STDMETHOD(SetArticleResolver)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  7427.     STDMETHOD(GetSubsetFilterClause)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  7428.     STDMETHOD(SetSubsetFilterClause)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  7429.     STDMETHOD(GetPreCreationMethod)(THIS_ SQLDMO_PREARTICLE_TYPE FAR* pRetVal) PURE;
  7430.     STDMETHOD(SetPreCreationMethod)(THIS_ SQLDMO_PREARTICLE_TYPE NewValue) PURE;
  7431.     STDMETHOD(GetCreationScriptOptions)(THIS_ SQLDMO_CREATIONSCRIPT_TYPE FAR * pRetVal) PURE;
  7432.     STDMETHOD(SetCreationScriptOptions)(THIS_ SQLDMO_CREATIONSCRIPT_TYPE NewValue) PURE;
  7433.     STDMETHOD(GetArticleType)(THIS_ SQLDMO_ARTICLE_TYPE *pRetVal) PURE;
  7434.     STDMETHOD(SetArticleType)(THIS_ SQLDMO_ARTICLE_TYPE NewValue) PURE;
  7435.     STDMETHOD(GetColumnTracking)(THIS_ LPBOOL pRetVal) PURE;
  7436.     STDMETHOD(SetColumnTracking)(THIS_ BOOL NewValue) PURE;
  7437.     STDMETHOD(GetCreationScriptPath)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  7438.     STDMETHOD(SetCreationScriptPath)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  7439.     STDMETHOD(GetSnapshotObjectOwner)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  7440.     STDMETHOD(GetSnapshotObjectName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  7441.     STDMETHOD(GetResolverInfo)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  7442.     STDMETHOD(SetResolverInfo)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  7443.  
  7444.     //*** Collection Properties
  7445.     STDMETHOD(GetMergeSubsetFilters)(THIS_ LPSQLDMOMERGESUBSETFILTERS * ppMergeSubsetFilters) PURE;
  7446.     STDMETHOD(GetMergeSubsetFilterByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOMERGESUBSETFILTER *ppMergeSubsetFilter) PURE;
  7447.     STDMETHOD(GetMergeSubsetFilterByOrd)(THIS_ long lOrdinal, LPSQLDMOMERGESUBSETFILTER *ppMergeSubsetFilter) PURE;
  7448.     STDMETHOD(RemoveMergeSubsetFilterByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  7449.     STDMETHOD(RemoveMergeSubsetFilterByOrd)(THIS_ long lOrdinal) PURE;
  7450.     STDMETHOD(AddMergeSubsetFilter)(THIS_ LPSQLDMOMERGESUBSETFILTER pMergeSubsetFilter) PURE;
  7451.     STDMETHOD(GetMergeSubsetFilterCount)(THIS_ LPLONG plCount) PURE;
  7452.  
  7453.     //*** methods
  7454.     STDMETHOD(Remove)(THIS) PURE;
  7455.     STDMETHOD(BeginAlter)(THIS) PURE;
  7456.     STDMETHOD(DoAlter)(THIS) PURE;
  7457.     STDMETHOD(CancelAlter)(THIS) PURE;
  7458.     STDMETHOD(Script)(THIS_ SQLDMO_REPSCRIPT_TYPE ScriptType CPPDEFAULT(= SQLDMORepScript_Default), SQLDMO_LPCSTR ScriptFilePath CPPDEFAULT(= NULL), SQLDMO_LPBSTR ScriptText CPPDEFAULT(= NULL)) PURE;
  7459.     STDMETHOD(ScriptDestinationObject)(THIS_ SQLDMO_SCRIPT_TYPE ScriptType CPPDEFAULT(= SQLDMOScript_Default), SQLDMO_LPCSTR ScriptFilePath CPPDEFAULT(= NULL), SQLDMO_LPBSTR ScriptText CPPDEFAULT(= NULL), SQLDMO_SCRIPT2_TYPE Script2Type CPPDEFAULT(= SQLDMOScript2_Default)) PURE;
  7460.     
  7461. };
  7462.  
  7463. ////////////////////////////////////////////////////////////////////////////////////
  7464. ////////////////////////////////////////////////////////////////////////////////////
  7465.  
  7466. #undef INTERFACE
  7467. #define INTERFACE ISQLDMOMergeSubscriptions
  7468. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  7469. {
  7470.    //*** IUnknown methods
  7471.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  7472.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  7473.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  7474.  
  7475.     //*** SQLDMO standard object properties.
  7476.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  7477.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  7478.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  7479.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  7480.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  7481.  
  7482.     //*** SQLDMO standard enumeration properties
  7483.     STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLDMOMERGESUBSCRIPTION *ppObj) PURE;
  7484.     STDMETHOD(GetItemByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOMERGESUBSCRIPTION *ppObj) PURE;
  7485.     STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  7486.  
  7487.     //*** SQLDMO standard collection methods
  7488.     STDMETHOD(Add)(THIS_ LPSQLDMOMERGESUBSCRIPTION Object) PURE;
  7489.     STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  7490.     STDMETHOD(RemoveByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  7491.     STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  7492.  
  7493.     //*** Collection specific methods
  7494.     STDMETHOD(Script)(THIS_ SQLDMO_REPSCRIPT_TYPE ScriptType CPPDEFAULT(= SQLDMORepScript_Default), SQLDMO_LPCSTR ScriptFilePath CPPDEFAULT(= NULL), SQLDMO_LPBSTR ScriptText CPPDEFAULT(= NULL)) PURE;
  7495. };
  7496.  
  7497. #undef INTERFACE
  7498. #define INTERFACE ISQLDMOMergeSubscription
  7499. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  7500. {
  7501.    //*** IUnknown methods
  7502.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  7503.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  7504.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  7505.  
  7506.     //*** SQLDMO standard object properties.
  7507.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  7508.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  7509.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  7510.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  7511.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  7512.  
  7513.     //*** properties
  7514.     STDMETHOD(GetName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  7515.     STDMETHOD(GetSubscriber)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  7516.     STDMETHOD(SetSubscriber)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  7517.     STDMETHOD(GetSubscriptionDB)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  7518.     STDMETHOD(SetSubscriptionDB)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  7519.     STDMETHOD(GetStatus)(THIS_ SQLDMO_SUBSTATUS_TYPE *pRetVal) PURE;
  7520.     STDMETHOD(SetStatus)(THIS_ SQLDMO_SUBSTATUS_TYPE NewValue) PURE;
  7521.     STDMETHOD(GetSubscriberType)(THIS_ SQLDMO_MERGESUBSCRIBER_TYPE *pRetVal) PURE;
  7522.     STDMETHOD(SetSubscriberType)(THIS_ SQLDMO_MERGESUBSCRIBER_TYPE NewValue) PURE;
  7523.     STDMETHOD(GetPriority)(THIS_ float *pRetVal) PURE;
  7524.     STDMETHOD(SetPriority)(THIS_ float NewValue) PURE;
  7525.     STDMETHOD(GetMergeSchedule)(THIS_ LPSQLDMOSCHEDULE *ppSchedule) PURE;
  7526.     STDMETHOD(GetSyncType)(THIS_ SQLDMO_SUBSYNC_TYPE *pRetVal) PURE;
  7527.     STDMETHOD(SetSyncType)(THIS_ SQLDMO_SUBSYNC_TYPE NewValue) PURE;
  7528.     STDMETHOD(GetSubscriptionType)(THIS_ SQLDMO_SUBSCRIPTION_TYPE *pRetVal) PURE;
  7529.     STDMETHOD(GetMergeJobID)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  7530.     STDMETHOD(GetDescription)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  7531.     STDMETHOD(SetDescription)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  7532.     STDMETHOD(SetEnabledForSyncMgr)(THIS_ BOOL NewValue) PURE;
  7533.  
  7534.     //*** methods
  7535.     STDMETHOD(Remove)(THIS) PURE;
  7536.     STDMETHOD(BeginAlter)(THIS) PURE;
  7537.     STDMETHOD(DoAlter)(THIS) PURE;
  7538.     STDMETHOD(CancelAlter)(THIS) PURE;
  7539.     STDMETHOD(Script)(THIS_ SQLDMO_REPSCRIPT_TYPE ScriptType CPPDEFAULT(= SQLDMORepScript_Default), SQLDMO_LPCSTR ScriptFilePath CPPDEFAULT(= NULL), SQLDMO_LPBSTR ScriptText CPPDEFAULT(= NULL)) PURE;
  7540.  
  7541.     STDMETHOD(ReInitialize)(THIS) PURE;
  7542. };
  7543.  
  7544. ////////////////////////////////////////////////////////////////////////////////////
  7545. ////////////////////////////////////////////////////////////////////////////////////
  7546.  
  7547. #undef INTERFACE
  7548. #define INTERFACE ISQLDMOMergePullSubscriptions
  7549. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  7550. {
  7551.    //*** IUnknown methods
  7552.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  7553.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  7554.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  7555.  
  7556.     //*** SQLDMO standard object properties.
  7557.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  7558.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  7559.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  7560.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  7561.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  7562.  
  7563.     //*** SQLDMO standard enumeration properties
  7564.     STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLDMOMERGEPULLSUBSCRIPTION *ppObj) PURE;
  7565.     STDMETHOD(GetItemByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOMERGEPULLSUBSCRIPTION *ppObj) PURE;
  7566.     STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  7567.  
  7568.     //*** SQLDMO standard collection methods
  7569.     STDMETHOD(Add)(THIS_ LPSQLDMOMERGEPULLSUBSCRIPTION Object) PURE;
  7570.     STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  7571.     STDMETHOD(RemoveByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  7572.     STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  7573.  
  7574.     //*** Collection specific methods
  7575.     STDMETHOD(Script)(THIS_ SQLDMO_REPSCRIPT_TYPE ScriptType CPPDEFAULT(= SQLDMORepScript_Default), SQLDMO_LPCSTR ScriptFilePath CPPDEFAULT(= NULL), SQLDMO_LPBSTR ScriptText CPPDEFAULT(= NULL)) PURE;
  7576. };
  7577.  
  7578. #undef INTERFACE
  7579. #define INTERFACE ISQLDMOMergePullSubscription
  7580. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  7581. {
  7582.    //*** IUnknown methods
  7583.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  7584.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  7585.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  7586.  
  7587.     //*** SQLDMO standard object properties.
  7588.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  7589.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  7590.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  7591.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  7592.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  7593.  
  7594.     //*** properties
  7595.     STDMETHOD(GetName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  7596.     STDMETHOD(GetPublisher)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  7597.     STDMETHOD(SetPublisher)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  7598.     STDMETHOD(GetPublicationDB)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  7599.     STDMETHOD(SetPublicationDB)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  7600.     STDMETHOD(GetPublication)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  7601.     STDMETHOD(SetPublication)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  7602.     STDMETHOD(GetDescription)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  7603.     STDMETHOD(SetDescription)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  7604.     STDMETHOD(GetSubscriptionType)(THIS_ SQLDMO_SUBSCRIPTION_TYPE *pRetVal) PURE;
  7605.     STDMETHOD(SetSubscriptionType)(THIS_ SQLDMO_SUBSCRIPTION_TYPE NewValue) PURE;
  7606.     STDMETHOD(GetSubscriberType)(THIS_ SQLDMO_MERGESUBSCRIBER_TYPE *pRetVal) PURE;
  7607.     STDMETHOD(SetSubscriberType)(THIS_ SQLDMO_MERGESUBSCRIBER_TYPE NewValue) PURE;
  7608.     STDMETHOD(GetDistributor)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  7609.     STDMETHOD(SetDistributor)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  7610.     STDMETHOD(GetPublisherSecurity)(THIS_ LPSQLDMOREPLICATIONSECURITY *ppPublisherSecurity) PURE;
  7611.     STDMETHOD(GetDistributorSecurity)(THIS_ LPSQLDMOREPLICATIONSECURITY *ppDistributorSecurity) PURE;
  7612.     STDMETHOD(SetSubscriberSecurityMode)(THIS_ SQLDMO_SECURITY_TYPE NewValue) PURE;
  7613.     STDMETHOD(SetSubscriberLogin)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  7614.     STDMETHOD(SetSubscriberPassword)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  7615.     STDMETHOD(GetEnabledForSyncMgr)(THIS_ LPBOOL pRetVal) PURE;
  7616.     STDMETHOD(SetEnabledForSyncMgr)(THIS_ BOOL NewValue) PURE;
  7617.     STDMETHOD(GetFTPAddress)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  7618.     STDMETHOD(SetFTPAddress)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  7619.     STDMETHOD(GetFTPPort)(THIS_ LPDWORD pRetVal) PURE;
  7620.     STDMETHOD(SetFTPPort)(THIS_ DWORD NewValue) PURE;
  7621.     STDMETHOD(GetFTPLogin)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  7622.     STDMETHOD(SetFTPLogin)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  7623.     STDMETHOD(SetFTPPassword)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  7624.  
  7625.     STDMETHOD(GetMergeSchedule)(THIS_ LPSQLDMOSCHEDULE *ppMergeSchedule) PURE;
  7626.     STDMETHOD(GetMergeJobID)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  7627.     STDMETHOD(GetSyncType)(THIS_ SQLDMO_SUBSYNC_TYPE *pRetVal) PURE;
  7628.     STDMETHOD(SetSyncType)(THIS_ SQLDMO_SUBSYNC_TYPE NewValue) PURE;
  7629.     STDMETHOD(GetPriority)(THIS_ float *pRetVal) PURE;
  7630.     STDMETHOD(SetPriority)(THIS_ float NewValue) PURE;
  7631.  
  7632.     //*** methods
  7633.     STDMETHOD(Remove)(THIS) PURE;
  7634.     STDMETHOD(BeginAlter)(THIS) PURE;
  7635.     STDMETHOD(DoAlter)(THIS) PURE;
  7636.     STDMETHOD(CancelAlter)(THIS) PURE;
  7637.     STDMETHOD(Script)(THIS_ SQLDMO_REPSCRIPT_TYPE ScriptType CPPDEFAULT(= SQLDMORepScript_Default), SQLDMO_LPCSTR ScriptFilePath CPPDEFAULT(= NULL), SQLDMO_LPBSTR ScriptText CPPDEFAULT(= NULL)) PURE;
  7638.     STDMETHOD(EnumJobInfo)(THIS_ LPSQLDMOQUERYRESULTS *ppResults) PURE;
  7639.     STDMETHOD(ReInitialize)(THIS) PURE;
  7640. };
  7641.  
  7642. ////////////////////////////////////////////////////////////////////////////////////
  7643. ////////////////////////////////////////////////////////////////////////////////////
  7644.  
  7645. #undef INTERFACE
  7646. #define INTERFACE ISQLDMOMergeSubsetFilters
  7647. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  7648. {
  7649.    //*** IUnknown methods
  7650.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  7651.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  7652.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  7653.  
  7654.     //*** SQLDMO standard object properties.
  7655.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  7656.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  7657.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  7658.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  7659.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  7660.  
  7661.     //*** SQLDMO standard enumeration properties
  7662.     STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLDMOMERGESUBSETFILTER *ppObj) PURE;
  7663.     STDMETHOD(GetItemByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOMERGESUBSETFILTER *ppObj) PURE;
  7664.     STDMETHOD(GetItemByID)(THIS_ long lID, LPSQLDMOMERGESUBSETFILTER *ppObj) PURE;
  7665.     STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  7666.  
  7667.     //*** SQLDMO standard collection methods
  7668.     STDMETHOD(Add)(THIS_ LPSQLDMOMERGESUBSETFILTER Object) PURE;
  7669.     STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  7670.     STDMETHOD(RemoveByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  7671.     STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  7672.  
  7673. };
  7674.  
  7675. #undef INTERFACE
  7676. #define INTERFACE ISQLDMOMergeSubsetFilter
  7677. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  7678. {
  7679.    //*** IUnknown methods
  7680.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  7681.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  7682.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  7683.  
  7684.     //*** SQLDMO standard object properties.
  7685.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  7686.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  7687.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  7688.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  7689.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  7690.  
  7691.     //*** properties
  7692.     STDMETHOD(GetName)(THIS_ LPBSTR pRetVal) PURE;
  7693.     STDMETHOD(SetName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  7694.     STDMETHOD(GetJoinArticleName)(THIS_ LPBSTR pRetVal) PURE;
  7695.     STDMETHOD(SetJoinArticleName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  7696.     STDMETHOD(GetJoinFilterClause)(THIS_ LPBSTR pRetVal) PURE;
  7697.     STDMETHOD(SetJoinFilterClause)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  7698.     STDMETHOD(GetID)(THIS_ LPLONG pRetVal) PURE;
  7699.     STDMETHOD(GetJoinUniqueKey)(THIS_ LPBOOL pRetVal) PURE;
  7700.     STDMETHOD(SetJoinUniqueKey)(THIS_ BOOL NewValue) PURE;
  7701.  
  7702.     //*** methods
  7703.     STDMETHOD(Remove)(THIS) PURE;
  7704.     STDMETHOD(BeginAlter)(THIS) PURE;
  7705.     STDMETHOD(DoAlter)(THIS) PURE;
  7706.     STDMETHOD(CancelAlter)(THIS) PURE;
  7707. };
  7708.  
  7709.  
  7710. ////////////////////////////////////////////////////////////////////////////////////
  7711. ////////////////////////////////////////////////////////////////////////////////////
  7712.  
  7713. #undef INTERFACE
  7714. #define INTERFACE ISQLDMODistributionPublishers
  7715. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  7716. {
  7717.    //*** IUnknown methods
  7718.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  7719.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  7720.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  7721.  
  7722.     //*** SQLDMO standard object properties.
  7723.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  7724.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  7725.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  7726.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  7727.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  7728.  
  7729.     //*** SQLDMO standard enumeration properties
  7730.     STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLDMODISTRIBUTIONPUBLISHER *ppObj) PURE;
  7731.     STDMETHOD(GetItemByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMODISTRIBUTIONPUBLISHER *ppObj) PURE;
  7732.     STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  7733.  
  7734.     //*** SQLDMO standard collection methods
  7735.     STDMETHOD(Add)(THIS_ LPSQLDMODISTRIBUTIONPUBLISHER Object) PURE;
  7736.     STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  7737.     STDMETHOD(RemoveByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  7738.     STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  7739.  
  7740.     //*** Collection specific methods
  7741.     STDMETHOD(Script)(THIS_ SQLDMO_REPSCRIPT_TYPE ScriptType CPPDEFAULT(= SQLDMORepScript_Default), SQLDMO_LPCSTR ScriptFilePath CPPDEFAULT(= NULL), SQLDMO_LPBSTR ScriptText CPPDEFAULT(= NULL)) PURE;
  7742. };
  7743.  
  7744. #undef INTERFACE
  7745. #define INTERFACE ISQLDMODistributionPublisher
  7746. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  7747. {
  7748.    //*** IUnknown methods
  7749.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  7750.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  7751.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  7752.  
  7753.     //*** SQLDMO standard object properties.
  7754.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  7755.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  7756.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  7757.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  7758.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  7759.  
  7760.     //*** properties
  7761.     STDMETHOD(GetName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  7762.     STDMETHOD(SetName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  7763.     STDMETHOD(GetDistributionDatabase)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  7764.     STDMETHOD(SetDistributionDatabase)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  7765.     STDMETHOD(GetPublisherSecurity)(THIS_ LPSQLDMOREPLICATIONSECURITY *ppPublisherSecurity) PURE;
  7766.     STDMETHOD(GetEnabled)(THIS_ LPBOOL pRetVal) PURE;
  7767.     STDMETHOD(GetDistributionWorkingDirectory)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  7768.     STDMETHOD(SetDistributionWorkingDirectory)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  7769.     STDMETHOD(GetTrustedDistributorConnection)(THIS_ LPBOOL pRetVal) PURE;
  7770.     STDMETHOD(SetTrustedDistributorConnection)(THIS_ BOOL NewValue) PURE;
  7771.     STDMETHOD(GetThirdParty)(THIS_ LPBOOL pRetVal) PURE;
  7772.     STDMETHOD(SetThirdParty)(THIS_ BOOL NewValue) PURE;
  7773.  
  7774.     //*** collection properties
  7775.     STDMETHOD(GetDistributionPublications)(THIS_ LPSQLDMODISTRIBUTIONPUBLICATIONS * ppDistributionPublications) PURE;
  7776.     STDMETHOD(GetDistributionPublicationByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMODISTRIBUTIONPUBLICATION *ppDistributionPublication, SQLDMO_LPCSTR szPubDB CPPDEFAULT(= NULL)) PURE;
  7777.     STDMETHOD(GetDistributionPublicationByOrd)(THIS_ long lOrdinal, LPSQLDMODISTRIBUTIONPUBLICATION *ppDistributionPublication) PURE;
  7778.     STDMETHOD(RemoveDistributionPublicationByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  7779.     STDMETHOD(RemoveDistributionPublicationByOrd)(THIS_ long lOrdinal) PURE;
  7780.     STDMETHOD(AddDistributionPublication)(THIS_ LPSQLDMODISTRIBUTIONPUBLICATION pDistributionPublication) PURE;
  7781.     STDMETHOD(GetDistributionPublicationCount)(THIS_ LPLONG plCount) PURE;
  7782.  
  7783.     //*** Collection properties
  7784.     STDMETHOD(GetRegisteredSubscribers)(THIS_ LPSQLDMOREGISTEREDSUBSCRIBERS * ppRegisteredSubscribers) PURE;
  7785.     STDMETHOD(GetRegisteredSubscriberByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOREGISTEREDSUBSCRIBER *ppRegisteredSubscriber) PURE;
  7786.     STDMETHOD(GetRegisteredSubscriberByOrd)(THIS_ long lOrdinal, LPSQLDMOREGISTEREDSUBSCRIBER *ppRegisteredSubscriber) PURE;
  7787.     STDMETHOD(RemoveRegisteredSubscriberByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  7788.     STDMETHOD(RemoveRegisteredSubscriberByOrd)(THIS_ long lOrdinal) PURE;
  7789.     STDMETHOD(AddRegisteredSubscriber)(THIS_ LPSQLDMOREGISTEREDSUBSCRIBER pRegisteredSubscriber) PURE;
  7790.     STDMETHOD(GetRegisteredSubscriberCount)(THIS_ LPLONG plCount) PURE;
  7791.  
  7792.     //*** methods
  7793.     STDMETHOD(Remove)(THIS) PURE;
  7794.     STDMETHOD(Refresh)(THIS) PURE;
  7795.     STDMETHOD(BeginAlter)(THIS) PURE;
  7796.     STDMETHOD(DoAlter)(THIS) PURE;
  7797.     STDMETHOD(CancelAlter)(THIS) PURE;
  7798.     STDMETHOD(Script)(THIS_ SQLDMO_REPSCRIPT_TYPE ScriptType CPPDEFAULT(= SQLDMORepScript_Default), SQLDMO_LPCSTR ScriptFilePath CPPDEFAULT(= NULL), SQLDMO_LPBSTR ScriptText CPPDEFAULT(= NULL)) PURE;
  7799.  
  7800.     /* Monitoring methods */
  7801.     STDMETHOD(EnumSnapshotAgentSessions)(THIS_ SQLDMO_LPCSTR AgentName, SQLDMO_SESSION_TYPE SessionType,  long SessionDuration, LPSQLDMOQUERYRESULTS *ppResults) PURE;
  7802.     STDMETHOD(EnumLogReaderAgentSessions)(THIS_ SQLDMO_LPCSTR AgentName, SQLDMO_SESSION_TYPE SessionType,  long SessionDuration, LPSQLDMOQUERYRESULTS *ppResults) PURE;
  7803.     STDMETHOD(EnumDistributionAgentSessions)(THIS_ SQLDMO_LPCSTR AgentName, SQLDMO_SESSION_TYPE SessionType,  long SessionDuration, LPSQLDMOQUERYRESULTS *ppResults) PURE;
  7804.     STDMETHOD(EnumMergeAgentSessions)(THIS_ SQLDMO_LPCSTR AgentName, SQLDMO_SESSION_TYPE SessionType,  long SessionDuration, LPSQLDMOQUERYRESULTS *ppResults) PURE;
  7805.     STDMETHOD(EnumSnapshotAgentSessionDetails)(THIS_ SQLDMO_LPCSTR AgentName, SQLDMO_LPCSTR SessionID, LPSQLDMOQUERYRESULTS *ppResults) PURE;
  7806.     STDMETHOD(EnumLogReaderAgentSessionDetails)(THIS_ SQLDMO_LPCSTR AgentName, SQLDMO_LPCSTR SessionID,  LPSQLDMOQUERYRESULTS *ppResults) PURE;
  7807.     STDMETHOD(EnumDistributionAgentSessionDetails)(THIS_ SQLDMO_LPCSTR AgentName,  SQLDMO_LPCSTR SessionID, LPSQLDMOQUERYRESULTS *ppResults) PURE;
  7808.     STDMETHOD(EnumMergeAgentSessionDetails)(THIS_ SQLDMO_LPCSTR AgentName,  SQLDMO_LPCSTR SessionID, LPSQLDMOQUERYRESULTS *ppResults) PURE;
  7809.     STDMETHOD(EnumAgentErrorRecords)(THIS_ LONG ErrorID, LPSQLDMOQUERYRESULTS *ppResults) PURE;
  7810.     STDMETHOD(GetAgentsStatus)(THIS_ SQLDMO_TASKSTATUS_TYPE *pRetVal, SQLDMO_LPBSTR pRetValTimeStamp CPPDEFAULT(= NULL)) PURE;    
  7811. };
  7812.  
  7813. ////////////////////////////////////////////////////////////////////////////////////
  7814. ////////////////////////////////////////////////////////////////////////////////////
  7815.  
  7816. #undef INTERFACE
  7817. #define INTERFACE ISQLDMORegisteredSubscribers
  7818. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  7819. {
  7820.    //*** IUnknown methods
  7821.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  7822.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  7823.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  7824.  
  7825.     //*** SQLDMO standard object properties.
  7826.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  7827.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  7828.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  7829.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  7830.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  7831.  
  7832.     //*** SQLDMO standard enumeration properties
  7833.     STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLDMOREGISTEREDSUBSCRIBER *ppObj) PURE;
  7834.     STDMETHOD(GetItemByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOREGISTEREDSUBSCRIBER *ppObj) PURE;
  7835.     STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  7836.  
  7837.     //*** SQLDMO standard collection methods
  7838.     STDMETHOD(Add)(THIS_ LPSQLDMOREGISTEREDSUBSCRIBER Object) PURE;
  7839.     STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  7840.     STDMETHOD(RemoveByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  7841.     STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  7842.  
  7843.     //*** Collection specific methods
  7844.     STDMETHOD(Script)(THIS_ SQLDMO_REPSCRIPT_TYPE ScriptType CPPDEFAULT(= SQLDMORepScript_Default), SQLDMO_LPCSTR ScriptFilePath CPPDEFAULT(= NULL), SQLDMO_LPBSTR ScriptText CPPDEFAULT(= NULL)) PURE;
  7845. };
  7846.  
  7847. #undef INTERFACE
  7848. #define INTERFACE ISQLDMORegisteredSubscriber
  7849. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  7850. {
  7851.    //*** IUnknown methods
  7852.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  7853.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  7854.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  7855.  
  7856.     //*** SQLDMO standard object properties.
  7857.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  7858.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  7859.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  7860.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  7861.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  7862.  
  7863.     //*** properties
  7864.     STDMETHOD(GetName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  7865.     STDMETHOD(SetName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  7866.     STDMETHOD(GetType)(THIS_ SQLDMO_SUBSCRIBER_TYPE *pRetVal) PURE;
  7867.     STDMETHOD(SetType)(THIS_ SQLDMO_SUBSCRIBER_TYPE NewValue) PURE;
  7868.     STDMETHOD(GetDescription)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  7869.     STDMETHOD(SetDescription)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  7870.     STDMETHOD(GetReplicationSecurity)(THIS_ LPSQLDMOREPLICATIONSECURITY *ppReplicationSecurity) PURE;
  7871.     STDMETHOD(GetDefaultDistributionSchedule)(THIS_ LPSQLDMOSCHEDULE *ppDistributionSchedule) PURE;
  7872.     STDMETHOD(GetDefaultMergeSchedule)(THIS_ LPSQLDMOSCHEDULE *ppMergeSchedule) PURE;
  7873.  
  7874.     //*** methods
  7875.     STDMETHOD(Remove)(THIS) PURE;
  7876.     STDMETHOD(Refresh)(THIS) PURE;
  7877.     STDMETHOD(BeginAlter)(THIS) PURE;
  7878.     STDMETHOD(DoAlter)(THIS) PURE;
  7879.     STDMETHOD(CancelAlter)(THIS) PURE;
  7880.     STDMETHOD(Script)(THIS_ SQLDMO_REPSCRIPT_TYPE ScriptType CPPDEFAULT(= SQLDMORepScript_Default), SQLDMO_LPCSTR ScriptFilePath CPPDEFAULT(= NULL), SQLDMO_LPBSTR ScriptText CPPDEFAULT(= NULL)) PURE;
  7881.  
  7882. };
  7883.  
  7884. ////////////////////////////////////////////////////////////////////////////////////
  7885. ////////////////////////////////////////////////////////////////////////////////////
  7886.  
  7887. #undef INTERFACE
  7888. #define INTERFACE ISQLDMOReplicationDatabases
  7889. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  7890. {
  7891.    //*** IUnknown methods
  7892.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  7893.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  7894.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  7895.  
  7896.     //*** SQLDMO standard object properties.
  7897.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  7898.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  7899.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  7900.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  7901.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  7902.  
  7903.     //*** SQLDMO standard enumeration properties
  7904.     STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLDMOREPLICATIONDATABASE *ppObj) PURE;
  7905.     STDMETHOD(GetItemByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOREPLICATIONDATABASE *ppObj) PURE;
  7906.     STDMETHOD(GetItemByID)(THIS_ long lID, LPSQLDMOREPLICATIONDATABASE *ppObj) PURE;
  7907.     STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  7908.  
  7909.     //*** SQLDMO standard collection methods 
  7910.     STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  7911.  
  7912.     //*** Collection specific methods
  7913.     STDMETHOD(Script)(THIS_ SQLDMO_REPSCRIPT_TYPE ScriptType CPPDEFAULT(= SQLDMORepScript_Default), SQLDMO_LPCSTR ScriptFilePath CPPDEFAULT(= NULL), SQLDMO_LPBSTR ScriptText CPPDEFAULT(= NULL)) PURE;
  7914. };
  7915.  
  7916. #undef INTERFACE
  7917. #define INTERFACE ISQLDMOReplicationDatabase
  7918. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  7919. {
  7920.    //*** IUnknown methods
  7921.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  7922.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  7923.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  7924.  
  7925.     //*** SQLDMO standard object properties.
  7926.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  7927.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  7928.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  7929.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  7930.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  7931.  
  7932.     //*** properties
  7933.     STDMETHOD(GetName)(THIS_ SQLDMO_LPBSTR pbstrName) PURE;
  7934.     STDMETHOD(GetEnableTransPublishing)(THIS_ LPBOOL pRetVal) PURE;
  7935.     STDMETHOD(SetEnableTransPublishing)(THIS_ BOOL NewValue) PURE;
  7936.     STDMETHOD(GetEnableMergePublishing)(THIS_ LPBOOL pRetVal) PURE;
  7937.     STDMETHOD(SetEnableMergePublishing)(THIS_ BOOL NewValue) PURE;
  7938.     STDMETHOD(GetDBOwner)(THIS_ LPBOOL pRetVal) PURE;
  7939.     STDMETHOD(GetAllowMergePublication)(THIS_ LPBOOL pRetVal) PURE;
  7940.  
  7941.     //*** Collection properties
  7942.     STDMETHOD(GetReplicationTables)(THIS_ LPSQLDMOREPLICATIONTABLES * ppReplicationTables) PURE;
  7943.     STDMETHOD(GetReplicationTableByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOREPLICATIONTABLE *ppReplicationTable, SQLDMO_LPCSTR szOwner CPPDEFAULT(= NULL)) PURE;
  7944.     STDMETHOD(GetReplicationTableByOrd)(THIS_ long lOrdinal, LPSQLDMOREPLICATIONTABLE *ppReplicationTable) PURE;
  7945.     STDMETHOD(GetReplicationTableCount)(THIS_ LPLONG plCount) PURE;
  7946.  
  7947.     STDMETHOD(GetReplicationStoredProcedures)(THIS_ LPSQLDMOREPLICATIONSTOREDPROCEDURES * ppReplicationStoredProcedures) PURE;
  7948.     STDMETHOD(GetReplicationStoredProcedureByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOREPLICATIONSTOREDPROCEDURE *ppReplicationStoredProcedure, SQLDMO_LPCSTR szOwner CPPDEFAULT(= NULL)) PURE;
  7949.     STDMETHOD(GetReplicationStoredProcedureByOrd)(THIS_ long lOrdinal, LPSQLDMOREPLICATIONSTOREDPROCEDURE *ppReplicationStoredProcedure) PURE;
  7950.     STDMETHOD(GetReplicationStoredProcedureCount)(THIS_ LPLONG plCount) PURE;
  7951.  
  7952.     STDMETHOD(GetTransPublications)(THIS_ LPSQLDMOTRANSPUBLICATIONS * ppTransPublications) PURE;
  7953.     STDMETHOD(GetTransPublicationByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOTRANSPUBLICATION *ppTransPublication) PURE;
  7954.     STDMETHOD(GetTransPublicationByOrd)(THIS_ long lOrdinal, LPSQLDMOTRANSPUBLICATION *ppTransPublication) PURE;
  7955.     STDMETHOD(RemoveTransPublicationByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  7956.     STDMETHOD(RemoveTransPublicationByOrd)(THIS_ long lOrdinal) PURE;
  7957.     STDMETHOD(AddTransPublication)(THIS_ LPSQLDMOTRANSPUBLICATION pTransPublication) PURE;
  7958.     STDMETHOD(GetTransPublicationCount)(THIS_ LPLONG plCount) PURE;
  7959.  
  7960.     STDMETHOD(GetMergePublications)(THIS_ LPSQLDMOMERGEPUBLICATIONS * ppMergePublications) PURE;
  7961.     STDMETHOD(GetMergePublicationByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOMERGEPUBLICATION *ppMergePublication) PURE;
  7962.     STDMETHOD(GetMergePublicationByOrd)(THIS_ long lOrdinal, LPSQLDMOMERGEPUBLICATION *ppMergePublication) PURE;
  7963.     STDMETHOD(RemoveMergePublicationByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  7964.     STDMETHOD(RemoveMergePublicationByOrd)(THIS_ long lOrdinal) PURE;
  7965.     STDMETHOD(AddMergePublication)(THIS_ LPSQLDMOMERGEPUBLICATION pMergePublication) PURE;
  7966.     STDMETHOD(GetMergePublicationCount)(THIS_ LPLONG plCount) PURE;
  7967.  
  7968.     STDMETHOD(GetTransPullSubscriptions)(THIS_ LPSQLDMOTRANSPULLSUBSCRIPTIONS * ppTransPullSubscriptions) PURE;
  7969.     STDMETHOD(GetTransPullSubscriptionByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOTRANSPULLSUBSCRIPTION *ppTransPullSubscription) PURE;
  7970.     STDMETHOD(GetTransPullSubscriptionByOrd)(THIS_ long lOrdinal, LPSQLDMOTRANSPULLSUBSCRIPTION *ppTransPullSubscription) PURE;
  7971.     STDMETHOD(RemoveTransPullSubscriptionByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  7972.     STDMETHOD(RemoveTransPullSubscriptionByOrd)(THIS_ long lOrdinal) PURE;
  7973.     STDMETHOD(AddTransPullSubscription)(THIS_ LPSQLDMOTRANSPULLSUBSCRIPTION pTransPullSubscription) PURE;
  7974.     STDMETHOD(GetTransPullSubscriptionCount)(THIS_ LPLONG plCount) PURE;
  7975.  
  7976.     STDMETHOD(GetMergePullSubscriptions)(THIS_ LPSQLDMOMERGEPULLSUBSCRIPTIONS * ppMergePullSubscriptions) PURE;
  7977.     STDMETHOD(GetMergePullSubscriptionByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOMERGEPULLSUBSCRIPTION *ppMergePullSubscription) PURE;
  7978.     STDMETHOD(GetMergePullSubscriptionByOrd)(THIS_ long lOrdinal, LPSQLDMOMERGEPULLSUBSCRIPTION *ppMergePullSubscription) PURE;
  7979.     STDMETHOD(RemoveMergePullSubscriptionByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  7980.     STDMETHOD(RemoveMergePullSubscriptionByOrd)(THIS_ long lOrdinal) PURE;
  7981.     STDMETHOD(AddMergePullSubscription)(THIS_ LPSQLDMOMERGEPULLSUBSCRIPTION pMergePullSubscription) PURE;
  7982.     STDMETHOD(GetMergePullSubscriptionCount)(THIS_ LPLONG plCount) PURE;
  7983.  
  7984.     //*** Methods
  7985.  
  7986.     //*** Used to setup the publisher side handshake for PULL subscriptions
  7987.     STDMETHOD(EnableTransSubscription)(SQLDMO_LPCSTR Subscriber, SQLDMO_LPCSTR SubscriptionDatabase,
  7988.         SQLDMO_LPCSTR Publication, SQLDMO_SUBSCRIPTION_TYPE SubscriptionType CPPDEFAULT(= SQLDMOSubscription_Pull), 
  7989.         SQLDMO_SUBSYNC_TYPE SyncType CPPDEFAULT(= SQLDMOSubSync_Auto), 
  7990.         SQLDMO_TRANSUBSCRIBER_TYPE SubscriberType CPPDEFAULT(= SQLDMOTranSubscriber_ReadOnly)) PURE;
  7991.     STDMETHOD(DisableTransSubscription)(SQLDMO_LPCSTR Subscriber, SQLDMO_LPCSTR SubscriptionDatabase, SQLDMO_LPCSTR Publication) PURE;
  7992.     STDMETHOD(EnableMergeSubscription)(SQLDMO_LPCSTR Subscriber, SQLDMO_LPCSTR SubscriptionDatabase,
  7993.         SQLDMO_LPCSTR Publication, SQLDMO_SUBSCRIPTION_TYPE SubscriptionType CPPDEFAULT(= SQLDMOSubscription_Pull), 
  7994.         SQLDMO_SUBSYNC_TYPE SyncType CPPDEFAULT(= SQLDMOSubSync_Auto), 
  7995.         SQLDMO_MERGESUBSCRIBER_TYPE SubscriberType CPPDEFAULT(= SQLDMOMergeSubscriber_Local), 
  7996.         float SubscriptionPriority CPPDEFAULT(= 0.0)) PURE;
  7997.     STDMETHOD(DisableMergeSubscription)(SQLDMO_LPCSTR Subscriber, SQLDMO_LPCSTR SubscriptionDatabase, SQLDMO_LPCSTR Publication) PURE;
  7998.     STDMETHOD(Script)(THIS_ SQLDMO_REPSCRIPT_TYPE ScriptType CPPDEFAULT(= SQLDMORepScript_Default), SQLDMO_LPCSTR ScriptFilePath CPPDEFAULT(= NULL), SQLDMO_LPBSTR ScriptText CPPDEFAULT(= NULL)) PURE;
  7999.     STDMETHOD(RefreshChildren)(THIS) PURE;
  8000.     STDMETHOD(EnumConflictTables)(THIS_ LPSQLDMOQUERYRESULTS *ppResults, SQLDMO_LPCSTR Publication CPPDEFAULT(= NULL)) PURE;
  8001.     STDMETHOD(EnumInitialAccesses)(THIS_ LPSQLDMOQUERYRESULTS *ppResults) PURE;
  8002. };
  8003.  
  8004. #undef INTERFACE
  8005. #define INTERFACE ISQLDMODistributionDatabases
  8006. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  8007. {
  8008.    //*** IUnknown methods
  8009.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  8010.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  8011.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  8012.  
  8013.     //*** SQLDMO standard object properties.
  8014.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  8015.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  8016.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  8017.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  8018.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  8019.  
  8020.     //*** SQLDMO standard enumeration properties
  8021.     STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLDMODISTRIBUTIONDATABASE *ppObj) PURE;
  8022.     STDMETHOD(GetItemByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMODISTRIBUTIONDATABASE *ppObj) PURE;
  8023.     STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  8024.  
  8025.     //*** SQLDMO standard collection methods
  8026.     STDMETHOD(Add)(THIS_ LPSQLDMODISTRIBUTIONDATABASE Object) PURE;
  8027.     STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  8028.     STDMETHOD(RemoveByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  8029.     STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  8030.  
  8031.     //*** Collection specific methods
  8032.     STDMETHOD(Script)(THIS_ SQLDMO_REPSCRIPT_TYPE ScriptType CPPDEFAULT(= SQLDMORepScript_Default), SQLDMO_LPCSTR ScriptFilePath CPPDEFAULT(= NULL), SQLDMO_LPBSTR ScriptText CPPDEFAULT(= NULL)) PURE;
  8033. };
  8034.  
  8035. #undef INTERFACE
  8036. #define INTERFACE ISQLDMODistributionDatabase
  8037. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  8038. {
  8039.    //*** IUnknown methods
  8040.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  8041.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  8042.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  8043.  
  8044.     //*** SQLDMO standard object properties.
  8045.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  8046.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  8047.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  8048.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  8049.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  8050.  
  8051.     //*** properties
  8052.     STDMETHOD(GetName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  8053.     STDMETHOD(SetName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  8054.     STDMETHOD(GetMinDistributionRetention)(THIS_ LPDWORD pRetVal) PURE;
  8055.     STDMETHOD(SetMinDistributionRetention)(THIS_ DWORD NewValue) PURE;
  8056.     STDMETHOD(GetMaxDistributionRetention)(THIS_ LPDWORD pRetVal) PURE;
  8057.     STDMETHOD(SetMaxDistributionRetention)(THIS_ DWORD NewValue) PURE;
  8058.     STDMETHOD(GetHistoryRetention)(THIS_ LPDWORD pRetVal) PURE;
  8059.     STDMETHOD(SetHistoryRetention)(THIS_ DWORD NewValue) PURE;
  8060.     STDMETHOD(GetHistoryCleanupTaskName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  8061.     STDMETHOD(GetDistributionCleanupTaskName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  8062.     STDMETHOD(GetAgentsStatus)(THIS_ SQLDMO_TASKSTATUS_TYPE *pRetVal) PURE;
  8063.     STDMETHOD(GetDataFolder)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  8064.     STDMETHOD(SetDataFolder)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  8065.     STDMETHOD(GetDataFile)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  8066.     STDMETHOD(SetDataFile)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  8067.     STDMETHOD(GetDataFileSize)(THIS_ LPDWORD pRetVal) PURE;
  8068.     STDMETHOD(SetDataFileSize)(THIS_ DWORD NewValue) PURE;
  8069.     STDMETHOD(GetLogFolder)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  8070.     STDMETHOD(SetLogFolder)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  8071.     STDMETHOD(GetLogFile)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  8072.     STDMETHOD(SetLogFile)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  8073.     STDMETHOD(GetLogFileSize)(THIS_ LPDWORD pRetVal) PURE;
  8074.     STDMETHOD(SetLogFileSize)(THIS_ DWORD NewValue) PURE;
  8075.     STDMETHOD(SetSecurityMode)(THIS_ SQLDMO_SECURITY_TYPE NewValue) PURE;
  8076.     STDMETHOD(SetStandardLogin)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  8077.     STDMETHOD(SetStandardPassword)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  8078.  
  8079.     //*** methods
  8080.     STDMETHOD(Remove)(THIS) PURE;
  8081.     STDMETHOD(Refresh)(THIS) PURE;
  8082.     STDMETHOD(BeginAlter)(THIS) PURE;
  8083.     STDMETHOD(DoAlter)(THIS) PURE;
  8084.     STDMETHOD(CancelAlter)(THIS) PURE;
  8085.     STDMETHOD(Script)(THIS_ SQLDMO_REPSCRIPT_TYPE ScriptType CPPDEFAULT(= SQLDMORepScript_Default), SQLDMO_LPCSTR ScriptFilePath CPPDEFAULT(= NULL), SQLDMO_LPBSTR ScriptText CPPDEFAULT(= NULL)) PURE;
  8086. };
  8087.  
  8088. ////////////////////////////////////////////////////////////////////////////////////
  8089. ////////////////////////////////////////////////////////////////////////////////////
  8090.  
  8091. #undef INTERFACE
  8092. #define INTERFACE ISQLDMOReplication
  8093. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  8094. {
  8095.    //*** IUnknown methods
  8096.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  8097.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  8098.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  8099.  
  8100.     //*** SQLDMO standard object properties.
  8101.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  8102.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  8103.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  8104.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  8105.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  8106.  
  8107.     //*** properties
  8108.     STDMETHOD(GetPublisher)(THIS_ LPSQLDMOPUBLISHER *pPublisher) PURE;
  8109.     STDMETHOD(GetSubscriber)(THIS_ LPSQLDMOSUBSCRIBER *pSubscriber) PURE;
  8110.     STDMETHOD(GetDistributor)(THIS_ LPSQLDMODISTRIBUTOR *pDistributor) PURE;
  8111.  
  8112.     //*** Collection properties
  8113.     STDMETHOD(GetReplicationDatabases)(THIS_ LPSQLDMOREPLICATIONDATABASES * ppReplicationDatabases) PURE;
  8114.     STDMETHOD(GetReplicationDatabaseByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOREPLICATIONDATABASE *ppReplicationDatabase) PURE;
  8115.     STDMETHOD(GetReplicationDatabaseByOrd)(THIS_ long lOrdinal, LPSQLDMOREPLICATIONDATABASE *ppReplicationDatabase) PURE;
  8116.     STDMETHOD(GetReplicationDatabaseCount)(THIS_ LPLONG plCount) PURE;
  8117.  
  8118.        //*** methods
  8119.     STDMETHOD(Script)(THIS_ SQLDMO_REPSCRIPT_TYPE ScriptType CPPDEFAULT(= SQLDMORepScript_Default), SQLDMO_LPCSTR ScriptFilePath CPPDEFAULT(= NULL), SQLDMO_LPBSTR ScriptText CPPDEFAULT(= NULL)) PURE;
  8120.     STDMETHOD(EnumDataSourceNames)(THIS_ LPSQLDMOQUERYRESULTS *ppResults) PURE;
  8121.     STDMETHOD(Uninstall)(THIS_ BOOL bIgnoreDistributor CPPDEFAULT(= FALSE)) PURE;
  8122.     STDMETHOD(EnumCustomResolvers)(THIS_ SQLDMO_LPCSTR Distributor, LPSQLDMOQUERYRESULTS *ppResults) PURE;
  8123.     STDMETHOD(ValidateDataSource)(THIS_ SQLDMO_LPCSTR DataSourceName, SQLDMO_LPCSTR Login, SQLDMO_LPCSTR Password, SQLDMO_SUBSCRIBER_TYPE SubscriberType CPPDEFAULT(= SQLDMOSubInfo_ODBCDatasource)) PURE;
  8124. };
  8125.  
  8126. ////////////////////////////////////////////////////////////////////////////////////
  8127. ////////////////////////////////////////////////////////////////////////////////////
  8128.  
  8129. #undef INTERFACE
  8130. #define INTERFACE ISQLDMOPublisher
  8131. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  8132. {
  8133.    //*** IUnknown methods
  8134.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  8135.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  8136.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  8137.  
  8138.     //*** SQLDMO standard object properties.
  8139.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  8140.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  8141.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  8142.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  8143.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  8144.  
  8145.     //*** Collection properties
  8146.     STDMETHOD(GetRegisteredSubscribers)(THIS_ LPSQLDMOREGISTEREDSUBSCRIBERS * ppRegisteredSubscribers) PURE;
  8147.     STDMETHOD(GetRegisteredSubscriberByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOREGISTEREDSUBSCRIBER *ppRegisteredSubscriber) PURE;
  8148.     STDMETHOD(GetRegisteredSubscriberByOrd)(THIS_ long lOrdinal, LPSQLDMOREGISTEREDSUBSCRIBER *ppRegisteredSubscriber) PURE;
  8149.     STDMETHOD(RemoveRegisteredSubscriberByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  8150.     STDMETHOD(RemoveRegisteredSubscriberByOrd)(THIS_ long lOrdinal) PURE;
  8151.     STDMETHOD(AddRegisteredSubscriber)(THIS_ LPSQLDMOREGISTEREDSUBSCRIBER pRegisteredSubscriber) PURE;
  8152.     STDMETHOD(GetRegisteredSubscriberCount)(THIS_ LPLONG plCount) PURE;
  8153.  
  8154.        //*** methods
  8155.     STDMETHOD(Script)(THIS_ SQLDMO_REPSCRIPT_TYPE ScriptType CPPDEFAULT(= SQLDMORepScript_Default), SQLDMO_LPCSTR ScriptFilePath CPPDEFAULT(= NULL), SQLDMO_LPBSTR ScriptText CPPDEFAULT(= NULL)) PURE;
  8156.     STDMETHOD(Uninstall)(THIS) PURE;
  8157.     STDMETHOD(EnumPublications)(THIS_ LPSQLDMOQUERYRESULTS *ppResults, SQLDMO_REPLICATION_TYPE ReplicationType CPPDEFAULT(= SQLDMORepType_TransactionalMerge), SQLDMO_LPCSTR DatabaseName CPPDEFAULT(= NULL), SQLDMO_LPCSTR AgentLogin CPPDEFAULT(= NULL), BOOL bSecurityCheck CPPDEFAULT(= FALSE)) PURE;
  8158. };
  8159.  
  8160. ////////////////////////////////////////////////////////////////////////////////////
  8161. ////////////////////////////////////////////////////////////////////////////////////
  8162.  
  8163. #undef INTERFACE
  8164. #define INTERFACE ISQLDMOSubscriber
  8165. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  8166. {
  8167.    //*** IUnknown methods
  8168.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  8169.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  8170.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  8171.  
  8172.     //*** SQLDMO standard object properties.
  8173.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  8174.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  8175.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  8176.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  8177.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  8178.  
  8179.     //*** methods
  8180.     STDMETHOD(Script)(THIS_ SQLDMO_REPSCRIPT_TYPE ScriptType CPPDEFAULT(= SQLDMORepScript_Default), SQLDMO_LPCSTR ScriptFilePath CPPDEFAULT(= NULL), SQLDMO_LPBSTR ScriptText CPPDEFAULT(= NULL)) PURE;
  8181. };
  8182.  
  8183. ////////////////////////////////////////////////////////////////////////////////////
  8184. ////////////////////////////////////////////////////////////////////////////////////
  8185.  
  8186. #undef INTERFACE
  8187. #define INTERFACE ISQLDMODistributor
  8188. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  8189. {
  8190.    //*** IUnknown methods
  8191.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  8192.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  8193.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  8194.  
  8195.     //*** SQLDMO standard object properties.
  8196.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  8197.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  8198.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  8199.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  8200.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  8201.  
  8202.     //*** properties
  8203.     STDMETHOD(GetDistributorInstalled)(THIS_ LPBOOL pbDistributorInstalled) PURE;
  8204.     STDMETHOD(GetDistributorAvailable)(THIS_ LPBOOL pbDistributorAvailable) PURE;
  8205.     STDMETHOD(GetDistributorLocal)(THIS_ LPBOOL pbDistributorLocal) PURE;
  8206.     STDMETHOD(GetDistributionServer)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  8207.     STDMETHOD(SetDistributionServer)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  8208.     STDMETHOD(GetDistributionDatabase)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  8209.     STDMETHOD(GetAgentCheckupInterval)(THIS_ LPLONG pRetVal) PURE;
  8210.     STDMETHOD(SetAgentCheckupInterval)(THIS_ long lVal) PURE;
  8211.     STDMETHOD(GetIsDistributionPublisher)(THIS_ LPBOOL pIsDistributionPublisher) PURE;
  8212.     STDMETHOD(GetHasRemoteDistributionPublisher)(THIS_ LPBOOL pHasRemoteDistributionPublisher) PURE;
  8213.  
  8214.     //*** Collection properties
  8215.     STDMETHOD(GetDistributionPublishers)(THIS_ LPSQLDMODISTRIBUTIONPUBLISHERS * ppDistributionPublishers) PURE;
  8216.     STDMETHOD(GetDistributionPublisherByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMODISTRIBUTIONPUBLISHER *ppDistributionPublisher) PURE;
  8217.     STDMETHOD(GetDistributionPublisherByOrd)(THIS_ long lOrdinal, LPSQLDMODISTRIBUTIONPUBLISHER *ppDistributionPublisher) PURE;
  8218.     STDMETHOD(RemoveDistributionPublisherByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  8219.     STDMETHOD(RemoveDistributionPublisherByOrd)(THIS_ long lOrdinal) PURE;
  8220.     STDMETHOD(AddDistributionPublisher)(THIS_ LPSQLDMODISTRIBUTIONPUBLISHER pDistributionPublisher) PURE;
  8221.     STDMETHOD(GetDistributionPublisherCount)(THIS_ LPLONG plCount) PURE;
  8222.  
  8223.     STDMETHOD(GetDistributionDatabases)(THIS_ LPSQLDMODISTRIBUTIONDATABASES * ppDistributionDatabases) PURE;
  8224.     STDMETHOD(GetDistributionDatabaseByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMODISTRIBUTIONDATABASE *ppDistributionDatabase) PURE;
  8225.     STDMETHOD(GetDistributionDatabaseByOrd)(THIS_ long lOrdinal, LPSQLDMODISTRIBUTIONDATABASE *ppDistributionDatabase) PURE;
  8226.     STDMETHOD(RemoveDistributionDatabaseByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  8227.     STDMETHOD(RemoveDistributionDatabaseByOrd)(THIS_ long lOrdinal) PURE;
  8228.     STDMETHOD(AddDistributionDatabase)(THIS_ LPSQLDMODISTRIBUTIONDATABASE pDistributionDatabase) PURE;
  8229.     STDMETHOD(GetDistributionDatabaseCount)(THIS_ LPLONG plCount) PURE;
  8230.  
  8231.        //*** methods
  8232.     STDMETHOD(Refresh)(THIS) PURE;
  8233.     STDMETHOD(Install)(THIS) PURE;
  8234.     STDMETHOD(Uninstall)(THIS) PURE;
  8235.     STDMETHOD(Script)(THIS_ SQLDMO_REPSCRIPT_TYPE ScriptType CPPDEFAULT(= SQLDMORepScript_InstallDistributor), SQLDMO_LPCSTR ScriptFilePath CPPDEFAULT(= NULL), SQLDMO_LPBSTR ScriptText CPPDEFAULT(= NULL)) PURE;
  8236.  
  8237.     STDMETHOD(EnumSnapshotAgentViews)(THIS_ LPSQLDMOQUERYRESULTS *ppResults) PURE;
  8238.     STDMETHOD(EnumLogReaderAgentViews)(THIS_ LPSQLDMOQUERYRESULTS *ppResults) PURE;
  8239.     STDMETHOD(EnumDistributionAgentViews)(THIS_ LPSQLDMOQUERYRESULTS *ppResults) PURE;
  8240.     STDMETHOD(EnumMergeAgentViews)(THIS_ LPSQLDMOQUERYRESULTS *ppResults) PURE;
  8241.     STDMETHOD(EnumMiscellaneousAgentViews)(THIS_ LPSQLDMOQUERYRESULTS *ppResults) PURE;
  8242.     STDMETHOD(CreateAgentProfile)(THIS_ SQLDMO_LPCSTR szName, SQLDMO_LPCSTR szDescription, SQLDMO_REPLAGENT_TYPE AgentType, long *plProfileID) PURE;
  8243.     STDMETHOD(DeleteAgentProfile)(THIS_ long lProfileID) PURE;
  8244.     STDMETHOD(ChangeAgentProfile)(THIS_ long lProfileID, SQLDMO_LPCSTR szDescription) PURE;
  8245.     STDMETHOD(EnumAgentProfiles)(THIS_ LPSQLDMOQUERYRESULTS *ppResults, SQLDMO_REPLAGENT_TYPE AgentType CPPDEFAULT(= SQLDMOReplAgent_All)) PURE;
  8246.     STDMETHOD(ChangeAgentParameter)(THIS_ long lProfileID, SQLDMO_LPCSTR szParameterName, SQLDMO_LPCSTR szParameterValue) PURE;
  8247.     STDMETHOD(EnumAgentParameters)(THIS_ LPSQLDMOQUERYRESULTS *ppResults, long lProfileID) PURE;
  8248.     STDMETHOD(UpdateAgentProfile)(THIS_ SQLDMO_LPCSTR DistributionDBName, SQLDMO_REPLAGENT_TYPE AgentType, long lAgentID, long lProfileID) PURE;
  8249.     STDMETHOD(UpdateDefaultAgentProfile)(THIS_ long lProfileID) PURE;
  8250.     STDMETHOD(GetAgentsStatus)(THIS_ SQLDMO_REPLAGENT_TYPE AgentType, SQLDMO_TASKSTATUS_TYPE *pRetValStatus, SQLDMO_LPBSTR pRetValTimeStamp CPPDEFAULT(= NULL)) PURE;
  8251.     STDMETHOD(CleanUpDistributionPublisherByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  8252.     STDMETHOD(SetUpDistributorPassword)(THIS_ SQLDMO_LPCSTR pszPassword) PURE;
  8253.     STDMETHOD(EnumThirdPartyPublications)(THIS_ LPSQLDMOQUERYRESULTS *ppResults, LPCTSTR DistributionDBName CPPDEFAULT(= NULL)) PURE;
  8254. };
  8255.  
  8256. ////////////////////////////////////////////////////////////////////////////////////
  8257. ////////////////////////////////////////////////////////////////////////////////////
  8258.  
  8259. #undef INTERFACE
  8260. #define INTERFACE ISQLDMOReplicationSecurity
  8261. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  8262. {
  8263.     STDMETHOD(GetSecurityMode)(THIS_ SQLDMO_REPLSECURITY_TYPE *pRetVal) PURE;
  8264.     STDMETHOD(SetSecurityMode)(THIS_ SQLDMO_REPLSECURITY_TYPE NewValue) PURE;
  8265.     STDMETHOD(GetStandardLogin)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  8266.     STDMETHOD(SetStandardLogin)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  8267.     STDMETHOD(GetStandardPassword)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  8268.     STDMETHOD(SetStandardPassword)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  8269. };
  8270.  
  8271. ////////////////////////////////////////////////////////////////////////////////////
  8272. ////////////////////////////////////////////////////////////////////////////////////
  8273.  
  8274. #undef INTERFACE
  8275. #define INTERFACE ISQLDMOReplicationTables
  8276. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  8277. {
  8278.    //*** IUnknown methods
  8279.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  8280.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  8281.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  8282.  
  8283.     //*** SQLDMO standard object properties.
  8284.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  8285.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  8286.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  8287.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  8288.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  8289.  
  8290.     //*** SQLDMO standard enumeration properties
  8291.     STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLDMOREPLICATIONTABLE *ppObj) PURE;
  8292.     STDMETHOD(GetItemByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOREPLICATIONTABLE *ppObj, SQLDMO_LPCSTR szOwner CPPDEFAULT(= NULL)) PURE;
  8293.     STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  8294.  
  8295.     //*** SQLDMO standard collection methods
  8296.     STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  8297. };
  8298.  
  8299. #undef INTERFACE
  8300.  
  8301. #define INTERFACE ISQLDMOReplicationTable
  8302. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  8303. {
  8304.    //*** IUnknown methods
  8305.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  8306.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  8307.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  8308.  
  8309.     //*** SQLDMO standard object properties.
  8310.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  8311.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  8312.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  8313.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  8314.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  8315.  
  8316.     //*** properties
  8317.     STDMETHOD(GetName)(THIS_ SQLDMO_LPBSTR pbstrName) PURE;
  8318.     STDMETHOD(GetOwner)(THIS_ SQLDMO_LPBSTR pbstrOwner) PURE;
  8319.     STDMETHOD(GetHasPrimaryKey)(THIS_ LPBOOL pRetVal) PURE;
  8320.     STDMETHOD(GetHasGuidColumn)(THIS_ LPBOOL pRetVal) PURE;
  8321.     STDMETHOD(GetHasTimeStampColumn)(THIS_ LPBOOL pRetVal) PURE;
  8322.  
  8323.     //*** Collection properties
  8324.     STDMETHOD(GetColumns)(THIS_ LPSQLDMOCOLUMNS * ppColumns) PURE;
  8325.     STDMETHOD(GetColumnByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOCOLUMN *ppColumn) PURE;
  8326.     STDMETHOD(GetColumnByOrd)(THIS_ long lOrdinal, LPSQLDMOCOLUMN *ppColumn) PURE;
  8327.     STDMETHOD(GetColumnCount)(THIS_ LPLONG plCount) PURE;
  8328.  
  8329.     STDMETHOD(EnumPublicationArticles)(THIS_ LPSQLDMOQUERYRESULTS *ppResults CPPDEFAULT(= NULL)) PURE;
  8330.  
  8331. };
  8332.  
  8333. ////////////////////////////////////////////////////////////////////////////////////
  8334. ////////////////////////////////////////////////////////////////////////////////////
  8335.  
  8336. #undef INTERFACE
  8337. #define INTERFACE ISQLDMOReplicationStoredProcedures
  8338. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  8339. {
  8340.    //*** IUnknown methods
  8341.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  8342.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  8343.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  8344.  
  8345.     //*** SQLDMO standard object properties.
  8346.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  8347.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  8348.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  8349.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  8350.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  8351.  
  8352.     //*** SQLDMO standard enumeration properties
  8353.     STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLDMOREPLICATIONSTOREDPROCEDURE *ppObj) PURE;
  8354.     STDMETHOD(GetItemByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOREPLICATIONSTOREDPROCEDURE *ppObj, SQLDMO_LPCSTR szOwner CPPDEFAULT(= NULL)) PURE;
  8355.     STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  8356.  
  8357.     //*** SQLDMO standard collection methods
  8358.     STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  8359. };
  8360.  
  8361. #undef INTERFACE
  8362.  
  8363. #define INTERFACE ISQLDMOReplicationStoredProcedure
  8364. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  8365. {
  8366.    //*** IUnknown methods
  8367.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  8368.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  8369.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  8370.  
  8371.     //*** SQLDMO standard object properties.
  8372.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  8373.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  8374.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  8375.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  8376.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  8377.  
  8378.     //*** properties
  8379.     STDMETHOD(GetName)(THIS_ SQLDMO_LPBSTR pbstrName) PURE;
  8380.     STDMETHOD(GetSystemObject)(THIS_ LPBOOL pRetVal) PURE;
  8381.     STDMETHOD(GetOwner)(THIS_ SQLDMO_LPBSTR pbstrOwner) PURE;
  8382.  
  8383.        STDMETHOD(EnumPublicationArticles)(THIS_ LPSQLDMOQUERYRESULTS *ppResults CPPDEFAULT(= NULL)) PURE;
  8384.     STDMETHOD(EnumDependencies)(THIS_ LPSQLDMOQUERYRESULTS *ppResults, SQLDMO_DEPENDENCY_TYPE DependencyType CPPDEFAULT(= SQLDMODep_Parents)) PURE;
  8385.  
  8386. };
  8387.  
  8388. ////////////////////////////////////////////////////////////////////////////////////
  8389. ////////////////////////////////////////////////////////////////////////////////////
  8390.  
  8391. #undef INTERFACE
  8392.  
  8393. #define INTERFACE ISQLDMODistributionPublications
  8394. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  8395. {
  8396.    //*** IUnknown methods
  8397.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  8398.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  8399.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  8400.  
  8401.     //*** SQLDMO standard object properties.
  8402.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  8403.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  8404.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  8405.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  8406.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  8407.  
  8408.     //*** SQLDMO standard enumeration properties
  8409.     STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLDMODISTRIBUTIONPUBLICATION *ppObj) PURE;
  8410.     STDMETHOD(GetItemByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMODISTRIBUTIONPUBLICATION *ppObj, SQLDMO_LPCSTR szPubDB CPPDEFAULT(= NULL)) PURE;
  8411.     STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  8412.  
  8413.     //*** SQLDMO standard collection methods
  8414.     STDMETHOD(Add)(THIS_ LPSQLDMODISTRIBUTIONPUBLICATION Object) PURE;
  8415.     STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  8416.     STDMETHOD(RemoveByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  8417.     STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  8418. };
  8419.  
  8420. #undef INTERFACE
  8421.  
  8422. #define INTERFACE ISQLDMODistributionPublication
  8423. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  8424. {
  8425.    //*** IUnknown methods
  8426.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  8427.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  8428.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  8429.  
  8430.     //*** SQLDMO standard object properties.
  8431.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  8432.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  8433.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  8434.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  8435.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  8436.  
  8437.     //*** Object properties
  8438.     STDMETHOD(GetName)(THIS_ LPBSTR pRetVal) PURE;
  8439.     STDMETHOD(SetName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  8440.     STDMETHOD(GetID)(THIS_ LPLONG pRetVal) PURE;
  8441.     STDMETHOD(GetPublicationDB)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  8442.     STDMETHOD(SetPublicationDB)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  8443.     STDMETHOD(GetPublicationType)(THIS_ SQLDMO_PUBLICATION_TYPE FAR* pRetVal) PURE;
  8444.     STDMETHOD(SetPublicationType)(THIS_ SQLDMO_PUBLICATION_TYPE NewValue) PURE;
  8445.     STDMETHOD(GetPublicationAttributes)(THIS_ SQLDMO_PUBATTRIB_TYPE *pRetVal) PURE;
  8446.     STDMETHOD(SetPublicationAttributes)(THIS_ SQLDMO_PUBATTRIB_TYPE NewValue) PURE;
  8447.     STDMETHOD(GetSnapshotAgent)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  8448.     STDMETHOD(SetSnapshotAgent)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  8449.     STDMETHOD(GetLogReaderAgent)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  8450.     STDMETHOD(SetLogReaderAgent)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  8451.     STDMETHOD(GetDescription)(THIS_ LPBSTR pRetVal) PURE;
  8452.     STDMETHOD(SetDescription)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  8453.     STDMETHOD(GetVendorName)(THIS_ LPBSTR pRetVal) PURE;
  8454.     STDMETHOD(SetVendorName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  8455.  
  8456.     //*** Collection properties
  8457.     STDMETHOD(GetDistributionArticles)(THIS_ LPSQLDMODISTRIBUTIONARTICLES * ppDistributionArticles) PURE;
  8458.     STDMETHOD(GetDistributionArticleByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMODISTRIBUTIONARTICLE *ppDistributionArticle) PURE;
  8459.     STDMETHOD(GetDistributionArticleByOrd)(THIS_ long lOrdinal, LPSQLDMODISTRIBUTIONARTICLE *ppDistributionArticle) PURE;
  8460.     STDMETHOD(RemoveDistributionArticleByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  8461.     STDMETHOD(RemoveDistributionArticleByOrd)(THIS_ long lOrdinal) PURE;
  8462.     STDMETHOD(AddDistributionArticle)(THIS_ LPSQLDMODISTRIBUTIONARTICLE pDistributionArticle) PURE;
  8463.     STDMETHOD(GetDistributionArticleCount)(THIS_ LPLONG plCount) PURE;
  8464.  
  8465.     STDMETHOD(GetDistributionSubscriptions)(THIS_ LPSQLDMODISTRIBUTIONSUBSCRIPTIONS * ppDistributionSubscriptions) PURE;
  8466.     STDMETHOD(GetDistributionSubscriptionByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMODISTRIBUTIONSUBSCRIPTION *ppDistributionSubscription) PURE;
  8467.     STDMETHOD(GetDistributionSubscriptionByOrd)(THIS_ long lOrdinal, LPSQLDMODISTRIBUTIONSUBSCRIPTION *ppDistributionSubscription) PURE;
  8468.     STDMETHOD(RemoveDistributionSubscriptionByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  8469.     STDMETHOD(RemoveDistributionSubscriptionByOrd)(THIS_ long lOrdinal) PURE;
  8470.     STDMETHOD(AddDistributionSubscription)(THIS_ LPSQLDMODISTRIBUTIONSUBSCRIPTION pDistributionSubscription) PURE;
  8471.     STDMETHOD(GetDistributionSubscriptionCount)(THIS_ LPLONG plCount) PURE;
  8472.  
  8473.     //*** methods
  8474.     STDMETHOD(Remove)(THIS) PURE;
  8475.     STDMETHOD(BeginAlter)(THIS) PURE;
  8476.     STDMETHOD(DoAlter)(THIS) PURE;
  8477.     STDMETHOD(CancelAlter)(THIS) PURE;
  8478.     STDMETHOD(EnumSubscriptionViews)(THIS_ LPSQLDMOQUERYRESULTS *ppResults) PURE;
  8479.     STDMETHOD(EnumSnapshotAgentView)(THIS_ LPSQLDMOQUERYRESULTS *ppResults) PURE;
  8480.     STDMETHOD(EnumLogReaderAgentView)(THIS_ LPSQLDMOQUERYRESULTS *ppResults) PURE;
  8481.     STDMETHOD(GetAgentsStatus)(THIS_ SQLDMO_TASKSTATUS_TYPE FAR* pRetValStatus, SQLDMO_LPBSTR pRetValTimeStamp CPPDEFAULT(= NULL)) PURE;
  8482. };
  8483.  
  8484. ////////////////////////////////////////////////////////////////////////////////////
  8485. ////////////////////////////////////////////////////////////////////////////////////
  8486.  
  8487. #undef INTERFACE
  8488. #define INTERFACE ISQLDMODistributionArticles
  8489. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  8490. {
  8491.    //*** IUnknown methods
  8492.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  8493.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  8494.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  8495.  
  8496.     //*** SQLDMO standard object properties.
  8497.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  8498.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  8499.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  8500.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  8501.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  8502.  
  8503.     //*** SQLDMO standard enumeration properties
  8504.     STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLDMODISTRIBUTIONARTICLE *ppObj) PURE;
  8505.     STDMETHOD(GetItemByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMODISTRIBUTIONARTICLE *ppObj) PURE;
  8506.     STDMETHOD(GetItemByID)(THIS_ long lID, LPSQLDMODISTRIBUTIONARTICLE *ppObj) PURE;
  8507.     STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  8508.  
  8509.     //*** SQLDMO standard collection methods
  8510.     STDMETHOD(Add)(THIS_ LPSQLDMODISTRIBUTIONARTICLE Object) PURE;
  8511.     STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  8512.     STDMETHOD(RemoveByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  8513.     STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  8514. };
  8515.  
  8516. #undef INTERFACE
  8517. #define INTERFACE ISQLDMODistributionArticle
  8518. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  8519. {
  8520.    //*** IUnknown methods
  8521.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  8522.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  8523.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  8524.  
  8525.     //*** SQLDMO standard object properties.
  8526.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  8527.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  8528.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  8529.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  8530.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  8531.  
  8532.     //*** properties
  8533.     STDMETHOD(GetName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  8534.     STDMETHOD(SetName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  8535.     STDMETHOD(GetID)(THIS_ LPLONG pRetVal) PURE;
  8536.     STDMETHOD(GetSourceObjectOwner)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  8537.     STDMETHOD(SetSourceObjectOwner)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  8538.     STDMETHOD(GetSourceObjectName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  8539.     STDMETHOD(SetSourceObjectName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  8540.     STDMETHOD(GetDescription)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  8541.     STDMETHOD(SetDescription)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  8542.  
  8543.     //*** methods
  8544.     STDMETHOD(Remove)(THIS) PURE;
  8545.     STDMETHOD(BeginAlter)(THIS) PURE;
  8546.     STDMETHOD(DoAlter)(THIS) PURE;
  8547.     STDMETHOD(CancelAlter)(THIS) PURE;
  8548.  
  8549. };
  8550.  
  8551. #undef INTERFACE
  8552. #define INTERFACE ISQLDMODistributionSubscriptions
  8553. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  8554. {
  8555.    //*** IUnknown methods
  8556.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  8557.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  8558.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  8559.  
  8560.     //*** SQLDMO standard object properties.
  8561.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  8562.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  8563.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  8564.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  8565.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  8566.  
  8567.     //*** SQLDMO standard enumeration properties
  8568.     STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLDMODISTRIBUTIONSUBSCRIPTION *ppObj) PURE;
  8569.     STDMETHOD(GetItemByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMODISTRIBUTIONSUBSCRIPTION *ppObj) PURE;
  8570.     STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  8571.  
  8572.     //*** SQLDMO standard collection methods
  8573.     STDMETHOD(Add)(THIS_ LPSQLDMODISTRIBUTIONSUBSCRIPTION Object) PURE;
  8574.     STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  8575.     STDMETHOD(RemoveByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  8576.     STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  8577.  
  8578. };
  8579.  
  8580. #undef INTERFACE
  8581. #define INTERFACE ISQLDMODistributionSubscription
  8582. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  8583. {
  8584.    //*** IUnknown methods
  8585.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  8586.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  8587.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  8588.  
  8589.     //*** SQLDMO standard object properties.
  8590.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  8591.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  8592.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  8593.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  8594.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  8595.  
  8596.     //*** properties
  8597.     STDMETHOD(GetName)(THIS_ LPBSTR pRetVal) PURE;
  8598.     STDMETHOD(GetSubscriber)(THIS_ LPBSTR pRetVal) PURE;
  8599.     STDMETHOD(SetSubscriber)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  8600.     STDMETHOD(GetSubscriptionDB)(THIS_ LPBSTR pRetVal) PURE;
  8601.     STDMETHOD(SetSubscriptionDB)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  8602.     STDMETHOD(GetStatus)(THIS_ SQLDMO_SUBSTATUS_TYPE FAR* pRetVal) PURE;
  8603.     STDMETHOD(SetStatus)(THIS_ SQLDMO_SUBSTATUS_TYPE NewValue) PURE;
  8604.     STDMETHOD(GetSyncType)(THIS_ SQLDMO_SUBSYNC_TYPE FAR* pRetVal) PURE;
  8605.     STDMETHOD(SetSyncType)(THIS_ SQLDMO_SUBSYNC_TYPE NewValue) PURE;
  8606.     STDMETHOD(GetSubscriptionType)(THIS_ SQLDMO_SUBSCRIPTION_TYPE *pRetVal) PURE;
  8607.     STDMETHOD(SetSubscriptionType)(THIS_ SQLDMO_SUBSCRIPTION_TYPE NewValue) PURE;
  8608.     STDMETHOD(GetDistributionSchedule)(THIS_ LPSQLDMOSCHEDULE *ppDistributionSchedule) PURE;
  8609.     STDMETHOD(GetDistributionAgent)(THIS_ LPBSTR pRetVal) PURE;
  8610.  
  8611.     //*** methods
  8612.     STDMETHOD(Remove)(THIS) PURE;
  8613.     STDMETHOD(BeginAlter)(THIS) PURE;
  8614.     STDMETHOD(DoAlter)(THIS) PURE;
  8615.     STDMETHOD(CancelAlter)(THIS) PURE;
  8616. };
  8617.  
  8618.  
  8619. #undef INTERFACE
  8620. #define INTERFACE ISQLDMOReplicationSink
  8621. DECLARE_INTERFACE_(INTERFACE, IUnknown)
  8622. {
  8623.    //*** IUnknown methods
  8624.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  8625.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  8626.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  8627.  
  8628.         //*** Sink properties and methods.
  8629.     STDMETHOD(StatusMessage)(THIS_ SQLDMO_LPCSTR szMessage) PURE;
  8630.     STDMETHOD(PercentComplete)(THIS_ SQLDMO_LPCSTR szMessage, long Percent) PURE;
  8631. };
  8632.  
  8633.  
  8634.  
  8635.  
  8636.  
  8637.  
  8638.  
  8639.  
  8640.  
  8641.  
  8642.  
  8643.  
  8644. ////////////////////////////////////////////////////////////////////////////////////
  8645. ////////////////////////////////////////////////////////////////////////////////////
  8646.  
  8647. #undef INTERFACE
  8648. #define INTERFACE ISQLDMOJobServer
  8649. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  8650. {
  8651.     //*** IUnknown methods
  8652.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  8653.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  8654.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  8655.  
  8656.     //*** SQLDMO standard object properties.
  8657.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  8658.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  8659.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  8660.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  8661.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  8662.  
  8663.     //*** properties
  8664.     STDMETHOD(GetStatus)(THIS_ SQLDMO_SVCSTATUS_TYPE *pRetVal) PURE;
  8665.     STDMETHOD(GetAutoStart)(THIS_ LPBOOL pRetVal) PURE;
  8666.     STDMETHOD(SetAutoStart)(THIS_ BOOL NewValue) PURE;
  8667. //    STDMETHOD(GetSQLServerRestart)(THIS_ LPBOOL pRetVal) PURE;
  8668. //    STDMETHOD(SetSQLServerRestart)(THIS_ BOOL NewValue) PURE;
  8669. //    STDMETHOD(GetSQLServerRestartInterval)(THIS_ LPLONG pRetVal) PURE;
  8670. //    STDMETHOD(SetSQLServerRestartInterval)(THIS_ long NewValue) PURE;
  8671. //    STDMETHOD(GetJobHistoryMaxRows)(THIS_ LPLONG pRetVal) PURE;
  8672. //    STDMETHOD(SetJobHistoryMaxRows)(THIS_ long NewValue) PURE;
  8673.     STDMETHOD(GetAlertSystem)(THIS_ LPSQLDMOALERTSYSTEM * ppAlertSystem) PURE;
  8674.     STDMETHOD(GetJobFilter)(THIS_ LPSQLDMOJOBFILTER * ppJobFilter) PURE;
  8675.     STDMETHOD(GetJobHistoryFilter)(THIS_ LPSQLDMOJOBHISTORYFILTER * ppJobHistoryFilter) PURE;
  8676.     STDMETHOD(GetMSXServerName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  8677.     STDMETHOD(GetType)(THIS_ SQLDMO_JOBSERVER_TYPE * pRetVal) PURE;
  8678.     STDMETHOD(GetStartupAccount)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  8679.  
  8680.     //*** Collection properties
  8681.     STDMETHOD(GetAlerts)(THIS_ LPSQLDMOALERTS *ppAlerts) PURE;
  8682.     STDMETHOD(GetAlertByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOALERT *ppAlert) PURE;
  8683.     STDMETHOD(GetAlertByOrd)(THIS_ long lOrdinal, LPSQLDMOALERT *ppAlert) PURE;
  8684.     STDMETHOD(RemoveAlertByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  8685.     STDMETHOD(RemoveAlertByOrd)(THIS_ long lOrdinal) PURE;
  8686.     STDMETHOD(AddAlert)(THIS_ LPSQLDMOALERT pAlert) PURE;
  8687.     STDMETHOD(GetAlertCount)(THIS_ LPLONG plCount) PURE;
  8688.  
  8689.     STDMETHOD(GetOperators)(THIS_ LPSQLDMOOPERATORS *ppOperators) PURE;
  8690.     STDMETHOD(GetOperatorByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOOPERATOR *ppOperator) PURE;
  8691.     STDMETHOD(GetOperatorByOrd)(THIS_ long lOrdinal, LPSQLDMOOPERATOR *ppOperator) PURE;
  8692.     STDMETHOD(RemoveOperatorByName)(THIS_ SQLDMO_LPCSTR szName, SQLDMO_LPCSTR szReassignName CPPDEFAULT(= NULL)) PURE;
  8693.     STDMETHOD(RemoveOperatorByOrd)(THIS_ long lOrdinal, SQLDMO_LPCSTR szReassignName CPPDEFAULT(= NULL)) PURE;
  8694.     STDMETHOD(AddOperator)(THIS_ LPSQLDMOOPERATOR pOperator) PURE;
  8695.     STDMETHOD(GetOperatorCount)(THIS_ LPLONG plCount) PURE;
  8696.  
  8697.     STDMETHOD(GetJobs)(THIS_ LPSQLDMOJOBS * ppJobs) PURE;
  8698.     STDMETHOD(GetJobByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOJOB *ppJob) PURE;
  8699.     STDMETHOD(GetJobByOrd)(THIS_ long lOrdinal, LPSQLDMOJOB *ppJob) PURE;
  8700.     STDMETHOD(RemoveJobByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  8701.     STDMETHOD(RemoveJobByOrd)(THIS_ long lOrdinal) PURE;
  8702.     STDMETHOD(AddJob)(THIS_ LPSQLDMOJOB pJob) PURE;
  8703.     STDMETHOD(GetJobCount)(THIS_ LPLONG plCount) PURE;
  8704.  
  8705.     STDMETHOD(GetTargetServers)(THIS_ LPSQLDMOTARGETSERVERS * ppTargetServers) PURE;
  8706.     STDMETHOD(GetTargetServerByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOTARGETSERVER *ppTargetServer) PURE;
  8707.     STDMETHOD(GetTargetServerByOrd)(THIS_ long lOrdinal, LPSQLDMOTARGETSERVER *ppTargetServer) PURE;
  8708.     STDMETHOD(RemoveTargetServerByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  8709.     STDMETHOD(RemoveTargetServerByOrd)(THIS_ long lOrdinal) PURE;
  8710.     STDMETHOD(AddTargetServer)(THIS_ LPSQLDMOTARGETSERVER pTargetServer) PURE;
  8711.     STDMETHOD(GetTargetServerCount)(THIS_ LPLONG plCount) PURE;
  8712.  
  8713.     STDMETHOD(GetTargetServerGroups)(THIS_ LPSQLDMOTARGETSERVERGROUPS * ppTargetServerGroups) PURE;
  8714.     STDMETHOD(GetTargetServerGroupByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOTARGETSERVERGROUP *ppTargetServerGroup) PURE;
  8715.     STDMETHOD(GetTargetServerGroupByOrd)(THIS_ long lOrdinal, LPSQLDMOTARGETSERVERGROUP *ppTargetServerGroup) PURE;
  8716.     STDMETHOD(RemoveTargetServerGroupByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  8717.     STDMETHOD(RemoveTargetServerGroupByOrd)(THIS_ long lOrdinal) PURE;
  8718.     STDMETHOD(AddTargetServerGroup)(THIS_ LPSQLDMOTARGETSERVERGROUP pTargetServerGroup) PURE;
  8719.     STDMETHOD(GetTargetServerGroupCount)(THIS_ LPLONG plCount) PURE;
  8720.  
  8721.     STDMETHOD(GetJobCategories)(THIS_ LPSQLDMOJOBCATEGORIES * ppJobCategories) PURE;
  8722.     STDMETHOD(GetJobCategoryByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOCATEGORY *ppCategory) PURE;
  8723.     STDMETHOD(GetJobCategoryByOrd)(THIS_ long lOrdinal, LPSQLDMOCATEGORY *ppCategory) PURE;
  8724.     STDMETHOD(RemoveJobCategoryByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  8725.     STDMETHOD(RemoveJobCategoryByOrd)(THIS_ long lOrdinal) PURE;
  8726.     STDMETHOD(AddJobCategory)(THIS_ LPSQLDMOCATEGORY pCategory) PURE;
  8727.     STDMETHOD(GetJobCategoryCount)(THIS_ LPLONG plCount) PURE;
  8728.  
  8729.     STDMETHOD(GetAlertCategories)(THIS_ LPSQLDMOALERTCATEGORIES * ppAlertCategories) PURE;
  8730.     STDMETHOD(GetAlertCategoryByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOCATEGORY *ppCategory) PURE;
  8731.     STDMETHOD(GetAlertCategoryByOrd)(THIS_ long lOrdinal, LPSQLDMOCATEGORY *ppCategory) PURE;
  8732.     STDMETHOD(RemoveAlertCategoryByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  8733.     STDMETHOD(RemoveAlertCategoryByOrd)(THIS_ long lOrdinal) PURE;
  8734.     STDMETHOD(AddAlertCategory)(THIS_ LPSQLDMOCATEGORY pCategory) PURE;
  8735.     STDMETHOD(GetAlertCategoryCount)(THIS_ LPLONG plCount) PURE;
  8736.  
  8737.     STDMETHOD(GetOperatorCategories)(THIS_ LPSQLDMOOPERATORCATEGORIES * ppOperatorCategories) PURE;
  8738.     STDMETHOD(GetOperatorCategoryByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOCATEGORY *ppCategory) PURE;
  8739.     STDMETHOD(GetOperatorCategoryByOrd)(THIS_ long lOrdinal, LPSQLDMOCATEGORY *ppCategory) PURE;
  8740.     STDMETHOD(RemoveOperatorCategoryByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  8741.     STDMETHOD(RemoveOperatorCategoryByOrd)(THIS_ long lOrdinal) PURE;
  8742.     STDMETHOD(AddOperatorCategory)(THIS_ LPSQLDMOCATEGORY pCategory) PURE;
  8743.     STDMETHOD(GetOperatorCategoryCount)(THIS_ LPLONG plCount) PURE;
  8744.  
  8745.     //*** methods
  8746.     STDMETHOD(Stop)(THIS) PURE;
  8747.     STDMETHOD(Start)(THIS) PURE;
  8748.     STDMETHOD(EnumSubSystems)(THIS_ LPSQLDMOQUERYRESULTS *ppResults) PURE;
  8749.     STDMETHOD(ReAssignJobsByLogin)(THIS_ SQLDMO_LPCSTR szOldLogin, SQLDMO_LPCSTR szNewLogin) PURE;
  8750.     STDMETHOD(RemoveJobsByLogin)(THIS_ SQLDMO_LPCSTR szLogin) PURE;
  8751.     STDMETHOD(Refresh)(THIS) PURE;
  8752.     STDMETHOD(BeginAlter)(THIS) PURE;
  8753.     STDMETHOD(DoAlter)(THIS) PURE;
  8754.     STDMETHOD(CancelAlter)(THIS) PURE;
  8755.     STDMETHOD(EnumJobHistory)(THIS_ LPSQLDMOQUERYRESULTS *ppResults, LPSQLDMOJOBHISTORYFILTER pFilter CPPDEFAULT(= NULL)) PURE;
  8756.     STDMETHOD(PurgeJobHistory)(THIS_ LPSQLDMOJOBHISTORYFILTER pFilter CPPDEFAULT(= NULL)) PURE;
  8757.     STDMETHOD(EnumJobs)(THIS_ LPSQLDMOQUERYRESULTS *ppRetVal, LPSQLDMOJOBFILTER pJobFilter CPPDEFAULT(= NULL)) PURE;
  8758.     STDMETHOD(RemoveJobsByServer)(THIS_ SQLDMO_LPCSTR szServer) PURE;
  8759.     STDMETHOD(MSXEnlist)(THIS_ SQLDMO_LPCSTR szServer, SQLDMO_LPCSTR szLocation) PURE;
  8760.     STDMETHOD(MSXDefect)(THIS) PURE;
  8761.     STDMETHOD(RemoveJobByID)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  8762.     STDMETHOD(StartMonitor)(THIS_ SQLDMO_LPCSTR szNetSendAddress, long lRestartAttempts) PURE;
  8763.     STDMETHOD(StopMonitor)(THIS) PURE;
  8764.     STDMETHOD(GetJobByID)(THIS_ SQLDMO_LPCSTR NewValue, LPSQLDMOJOB *ppJob, BOOL bFlag CPPDEFAULT(= FALSE)) PURE;
  8765.  
  8766.     // Post-6.0 additions
  8767. //    STDMETHOD(GetJobHistoryMaxRowsPerJob)(THIS_ LPLONG pRetVal) PURE;
  8768. //    STDMETHOD(SetJobHistoryMaxRowsPerJob)(THIS_ long NewValue) PURE;
  8769. };
  8770.  
  8771. ////////////////////////////////////////////////////////////////////////////////////
  8772. ////////////////////////////////////////////////////////////////////////////////////
  8773.  
  8774. #undef INTERFACE
  8775. #define INTERFACE ISQLDMOAlerts
  8776. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  8777. {
  8778.    //*** IUnknown methods
  8779.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  8780.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  8781.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  8782.  
  8783.         //*** SQLDMO standard object properties.
  8784.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  8785.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  8786.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  8787.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  8788.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  8789.  
  8790.     //*** SQLDMO standard enumeration properties
  8791.     STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLDMOALERT *ppObj) PURE;
  8792.     STDMETHOD(GetItemByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOALERT *ppObj) PURE;
  8793.     STDMETHOD(GetItemByID)(THIS_ long lID, LPSQLDMOALERT *ppObj) PURE;
  8794.     STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  8795.  
  8796.     //*** SQLDMO standard collection methods
  8797.     STDMETHOD(Add)(THIS_ LPSQLDMOALERT Object) PURE;
  8798.     STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  8799.     STDMETHOD(RemoveByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  8800.     STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  8801.     // 7.0
  8802.     STDMETHOD(Script)(THIS_ SQLDMO_SCRIPT_TYPE ScriptType CPPDEFAULT(= SQLDMOScript_Default), SQLDMO_LPCSTR ScriptFilePath CPPDEFAULT(= NULL), SQLDMO_LPBSTR ScriptText CPPDEFAULT(= NULL), SQLDMO_SCRIPT2_TYPE Script2Type CPPDEFAULT(= SQLDMOScript2_Default)) PURE;
  8803. };
  8804.  
  8805. #undef INTERFACE
  8806. #define INTERFACE ISQLDMOAlert
  8807. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  8808. {
  8809.    //*** IUnknown methods
  8810.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  8811.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  8812.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  8813.  
  8814.     //*** SQLDMO standard object properties.
  8815.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  8816.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  8817.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  8818.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  8819.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  8820.  
  8821.     //*** properties
  8822.     STDMETHOD(GetName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  8823.     STDMETHOD(SetName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  8824.     STDMETHOD(GetID)(THIS_ LPLONG pRetVal) PURE;
  8825.     STDMETHOD(GetEventSource)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  8826.     STDMETHOD(GetEventCategoryID)(THIS_ LPLONG pRetVal) PURE;
  8827.     STDMETHOD(GetEventID)(THIS_ LPLONG pRetVal) PURE;
  8828.     STDMETHOD(GetMessageID)(THIS_ LPLONG pRetVal) PURE;
  8829.     STDMETHOD(SetMessageID)(THIS_ long NewValue) PURE;
  8830.     STDMETHOD(GetSeverity)(THIS_ LPLONG pRetVal) PURE;
  8831.     STDMETHOD(SetSeverity)(THIS_ long NewValue) PURE;
  8832.     STDMETHOD(GetEnabled)(THIS_ LPBOOL pRetVal) PURE;
  8833.     STDMETHOD(SetEnabled)(THIS_ BOOL NewValue) PURE;
  8834.     STDMETHOD(GetDelayBetweenResponses)(THIS_ LPLONG pRetVal) PURE;
  8835.     STDMETHOD(SetDelayBetweenResponses)(THIS_ long NewValue) PURE;
  8836.     STDMETHOD(GetLastOccurrenceDate)(THIS_ LPLONG pRetVal) PURE;
  8837.     STDMETHOD(SetLastOccurrenceDate)(THIS_ long NewValue) PURE;
  8838.     STDMETHOD(GetLastOccurrenceTime)(THIS_ LPLONG pRetVal) PURE;
  8839.     STDMETHOD(SetLastOccurrenceTime)(THIS_ long NewValue) PURE;
  8840.     STDMETHOD(GetLastResponseDate)(THIS_ LPLONG pRetVal) PURE;
  8841.     STDMETHOD(SetLastResponseDate)(THIS_ long NewValue) PURE;
  8842.     STDMETHOD(GetLastResponseTime)(THIS_ LPLONG pRetVal) PURE;
  8843.     STDMETHOD(SetLastResponseTime)(THIS_ long NewValue) PURE;
  8844.     STDMETHOD(GetNotificationMessage)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  8845.     STDMETHOD(SetNotificationMessage)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  8846.     STDMETHOD(GetIncludeEventDescription)(THIS_ SQLDMO_NOTIFY_TYPE *pRetVal) PURE;
  8847.     STDMETHOD(SetIncludeEventDescription)(THIS_ SQLDMO_NOTIFY_TYPE NewValue) PURE;
  8848.     STDMETHOD(GetDatabaseName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  8849.     STDMETHOD(SetDatabaseName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  8850.     STDMETHOD(GetEventDescriptionKeyword)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  8851.     STDMETHOD(SetEventDescriptionKeyword)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  8852.     STDMETHOD(GetOccurrenceCount)(THIS_ LPLONG pRetVal) PURE;
  8853.     STDMETHOD(GetCountResetDate)(THIS_ LPLONG pRetVal) PURE;
  8854.     STDMETHOD(GetCountResetTime)(THIS_ LPLONG pRetVal) PURE;
  8855.     STDMETHOD(GetJobName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  8856.     STDMETHOD(GetHasNotification)(THIS_ LPLONG pRetVal) PURE;
  8857.  
  8858.     //*** methods
  8859.     STDMETHOD(AddNotification)(THIS_ SQLDMO_LPCSTR OperatorName, SQLDMO_NOTIFY_TYPE NotifyMethod) PURE;
  8860.     STDMETHOD(UpdateNotification)(THIS_ SQLDMO_LPCSTR OperatorName, SQLDMO_NOTIFY_TYPE NotifyMethod) PURE;
  8861.     STDMETHOD(RemoveNotification)(THIS_ SQLDMO_LPCSTR OperatorName) PURE;
  8862.     STDMETHOD(EnumNotifications)(THIS_ SQLDMO_NOTIFY_TYPE NotifyMethod, SQLDMO_ENUMNOTIFY_TYPE EnumNotifyType, LPSQLDMOQUERYRESULTS *ppResults, SQLDMO_LPCSTR OperatorName CPPDEFAULT(= NULL)) PURE;
  8863.     STDMETHOD(Remove)(THIS) PURE;
  8864.     STDMETHOD(BeginAlter)(THIS) PURE;
  8865.     STDMETHOD(DoAlter)(THIS) PURE;
  8866.     STDMETHOD(CancelAlter)(THIS) PURE;
  8867.     STDMETHOD(Refresh)(THIS) PURE;
  8868.  
  8869.     // Post-6.0 additions.
  8870.     STDMETHOD(GetRaiseSNMPTrap)(THIS_ LPBOOL pRetVal) PURE;
  8871.     STDMETHOD(SetRaiseSNMPTrap)(THIS_ BOOL NewValue) PURE;
  8872.  
  8873.     // 7.0
  8874.     STDMETHOD(GetPerformanceCondition)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  8875.     STDMETHOD(SetPerformanceCondition)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  8876.     STDMETHOD(GetJobID)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  8877.     STDMETHOD(SetJobID)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  8878.     STDMETHOD(GetCategory)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  8879.     STDMETHOD(SetCategory)(THIS_ SQLDMO_LPCSTR NewVal) PURE;
  8880.     STDMETHOD(GetType)(THIS_ SQLDMO_ALERT_TYPE *pRetVal) PURE;
  8881.     STDMETHOD(ResetOccurrenceCount)(THIS) PURE;
  8882.     STDMETHOD(Script)(THIS_ SQLDMO_SCRIPT_TYPE ScriptType CPPDEFAULT(= SQLDMOScript_Default), SQLDMO_LPCSTR ScriptFilePath CPPDEFAULT(= NULL), SQLDMO_LPBSTR ScriptText CPPDEFAULT(= NULL), SQLDMO_SCRIPT2_TYPE Script2Type CPPDEFAULT(= SQLDMOScript2_Default)) PURE;
  8883. };
  8884.  
  8885. ////////////////////////////////////////////////////////////////////////////////////
  8886. ////////////////////////////////////////////////////////////////////////////////////
  8887.  
  8888. #undef INTERFACE
  8889. #define INTERFACE ISQLDMOOperators
  8890. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  8891. {
  8892.    //*** IUnknown methods
  8893.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  8894.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  8895.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  8896.  
  8897.     //*** SQLDMO standard object properties.
  8898.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  8899.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  8900.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  8901.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  8902.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  8903.  
  8904.     //*** SQLDMO standard enumeration properties
  8905.     STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLDMOOPERATOR *ppObj) PURE;
  8906.     STDMETHOD(GetItemByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOOPERATOR *ppObj) PURE;
  8907.     STDMETHOD(GetItemByID)(THIS_ long lID, LPSQLDMOOPERATOR *ppObj) PURE;
  8908.     STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  8909.  
  8910.     //*** SQLDMO standard collection methods
  8911.     STDMETHOD(Add)(THIS_ LPSQLDMOOPERATOR Object) PURE;
  8912.     STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal, SQLDMO_LPCSTR NewName CPPDEFAULT(= NULL)) PURE;
  8913.     STDMETHOD(RemoveByName)(THIS_ SQLDMO_LPCSTR szName, SQLDMO_LPCSTR NewName CPPDEFAULT(= NULL)) PURE;
  8914.     STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  8915.     // 7.0
  8916.     STDMETHOD(Script)(THIS_ SQLDMO_SCRIPT_TYPE ScriptType CPPDEFAULT(= SQLDMOScript_Default), SQLDMO_LPCSTR ScriptFilePath CPPDEFAULT(= NULL), SQLDMO_LPBSTR ScriptText CPPDEFAULT(= NULL), SQLDMO_SCRIPT2_TYPE Script2Type CPPDEFAULT(= SQLDMOScript2_Default)) PURE;
  8917. };
  8918.  
  8919. #undef INTERFACE
  8920. #define INTERFACE ISQLDMOOperator
  8921. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  8922. {
  8923.    //*** IUnknown methods
  8924.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  8925.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  8926.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  8927.  
  8928.     //*** SQLDMO standard object properties.
  8929.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  8930.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  8931.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  8932.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  8933.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  8934.  
  8935.     //*** properties
  8936.     STDMETHOD(GetName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  8937.     STDMETHOD(SetName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  8938.     STDMETHOD(GetID)(THIS_ LPLONG pRetVal) PURE;
  8939.     STDMETHOD(GetEnabled)(THIS_ LPBOOL pRetVal) PURE;
  8940.     STDMETHOD(SetEnabled)(THIS_ BOOL NewValue) PURE;
  8941.     STDMETHOD(GetEmailAddress)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  8942.     STDMETHOD(SetEmailAddress)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  8943.     STDMETHOD(GetLastEmailDate)(THIS_ LPLONG pRetVal) PURE;
  8944.     STDMETHOD(GetLastEmailTime)(THIS_ LPLONG pRetVal) PURE;
  8945.     STDMETHOD(GetPagerAddress)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  8946.     STDMETHOD(SetPagerAddress)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  8947.     STDMETHOD(GetLastPageDate)(THIS_ LPLONG pRetVal) PURE;
  8948.     STDMETHOD(GetLastPageTime)(THIS_ LPLONG pRetVal) PURE;
  8949.     STDMETHOD(GetWeekdayPagerStartTime)(THIS_ LPLONG pRetVal) PURE;
  8950.     STDMETHOD(SetWeekdayPagerStartTime)(THIS_ long NewValue) PURE;
  8951.     STDMETHOD(GetWeekdayPagerEndTime)(THIS_ LPLONG pRetVal) PURE;
  8952.     STDMETHOD(SetWeekdayPagerEndTime)(THIS_ long NewValue) PURE;
  8953.     STDMETHOD(GetSaturdayPagerStartTime)(THIS_ LPLONG pRetVal) PURE;
  8954.     STDMETHOD(SetSaturdayPagerStartTime)(THIS_ long NewValue) PURE;
  8955.     STDMETHOD(GetSaturdayPagerEndTime)(THIS_ LPLONG pRetVal) PURE;
  8956.     STDMETHOD(SetSaturdayPagerEndTime)(THIS_ long NewValue) PURE;
  8957.     STDMETHOD(GetSundayPagerStartTime)(THIS_ LPLONG pRetVal) PURE;
  8958.     STDMETHOD(SetSundayPagerStartTime)(THIS_ long NewValue) PURE;
  8959.     STDMETHOD(GetSundayPagerEndTime)(THIS_ LPLONG pRetVal) PURE;
  8960.     STDMETHOD(SetSundayPagerEndTime)(THIS_ long NewValue) PURE;
  8961.     STDMETHOD(GetPagerDays)(THIS_ SQLDMO_WEEKDAY_TYPE *pRetVal) PURE;
  8962.     STDMETHOD(SetPagerDays)(THIS_ SQLDMO_WEEKDAY_TYPE NewValue) PURE;
  8963.     STDMETHOD(GetCategory)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  8964.     STDMETHOD(SetCategory)(THIS_ SQLDMO_LPCSTR NewVal) PURE;
  8965.     STDMETHOD(GetNetSendAddress)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  8966.     STDMETHOD(SetNetSendAddress)(THIS_ SQLDMO_LPCSTR NewVal) PURE;
  8967.     STDMETHOD(GetLastNetSendDate)(THIS_ LPLONG pRetVal) PURE;
  8968.     STDMETHOD(GetLastNetSendTime)(THIS_ LPLONG pRetVal) PURE;
  8969.  
  8970.     //*** methods
  8971.     STDMETHOD(AddNotification)(THIS_ SQLDMO_LPCSTR AlertName, SQLDMO_NOTIFY_TYPE NotifyMethod) PURE;
  8972.     STDMETHOD(UpdateNotification)(THIS_ SQLDMO_LPCSTR AlertName, SQLDMO_NOTIFY_TYPE NotifyMethod) PURE;
  8973.     STDMETHOD(RemoveNotification)(THIS_ SQLDMO_LPCSTR AlertName) PURE;
  8974.     STDMETHOD(EnumNotifications)(THIS_ SQLDMO_NOTIFY_TYPE NotifyMethod, SQLDMO_ENUMNOTIFY_TYPE EnumNotifyType, LPSQLDMOQUERYRESULTS *ppResults, SQLDMO_LPCSTR AlertName CPPDEFAULT(= NULL)) PURE;
  8975.     STDMETHOD(Remove)(THIS_ SQLDMO_LPCSTR NewName CPPDEFAULT(= NULL)) PURE;
  8976.     STDMETHOD(BeginAlter)(THIS) PURE;
  8977.     STDMETHOD(DoAlter)(THIS) PURE;
  8978.     STDMETHOD(CancelAlter)(THIS) PURE;
  8979.     STDMETHOD(Refresh)(THIS) PURE;
  8980.     // 7.0
  8981.     STDMETHOD(Script)(THIS_ SQLDMO_SCRIPT_TYPE ScriptType CPPDEFAULT(= SQLDMOScript_Default), SQLDMO_LPCSTR ScriptFilePath CPPDEFAULT(= NULL), SQLDMO_LPBSTR ScriptText CPPDEFAULT(= NULL), SQLDMO_SCRIPT2_TYPE Script2Type CPPDEFAULT(= SQLDMOScript2_Default)) PURE;
  8982.     STDMETHOD(EnumJobNotifications)(THIS_ LPSQLDMOQUERYRESULTS *ppResults) PURE;
  8983. };
  8984.  
  8985. ////////////////////////////////////////////////////////////////////////////////////
  8986. ////////////////////////////////////////////////////////////////////////////////////
  8987.  
  8988. #undef INTERFACE
  8989. #define INTERFACE ISQLDMOAlertSystem
  8990. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  8991. {
  8992.     //*** IUnknown methods
  8993.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  8994.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  8995.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  8996.  
  8997.     //*** SQLDMO standard object properties.
  8998.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  8999.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  9000.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  9001.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  9002.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  9003.  
  9004.     //*** properties
  9005.     STDMETHOD(GetFailSafeOperator)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  9006.     STDMETHOD(SetFailSafeOperator)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  9007.     STDMETHOD(GetNotificationMethod)(THIS_ SQLDMO_NOTIFY_TYPE *pRetVal) PURE;
  9008.     STDMETHOD(SetNotificationMethod)(THIS_ SQLDMO_NOTIFY_TYPE NewValue) PURE;
  9009.     STDMETHOD(GetForwardingServer)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  9010.     STDMETHOD(SetForwardingServer)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  9011.     STDMETHOD(GetForwardingSeverity)(THIS_ LPLONG pRetVal) PURE;
  9012.     STDMETHOD(SetForwardingSeverity)(THIS_ long NewValue) PURE;
  9013.     STDMETHOD(GetPagerToTemplate)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  9014.     STDMETHOD(SetPagerToTemplate)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  9015.     STDMETHOD(GetPagerCCTemplate)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  9016.     STDMETHOD(SetPagerCCTemplate)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  9017.     STDMETHOD(GetPagerSubjectTemplate)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  9018.     STDMETHOD(SetPagerSubjectTemplate)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  9019.     STDMETHOD(GetPagerSendSubjectOnly)(THIS_ LPBOOL pRetVal) PURE;
  9020.     STDMETHOD(SetPagerSendSubjectOnly)(THIS_ BOOL NewValue) PURE;
  9021.  
  9022.     // 7.0
  9023.     STDMETHOD(GetForwardAlways)(THIS_ LPBOOL pRetVal) PURE;
  9024.     STDMETHOD(SetForwardAlways)(THIS_ BOOL NewValue) PURE;
  9025.  
  9026.     //*** methods
  9027.     STDMETHOD(Refresh)(THIS) PURE;
  9028.     STDMETHOD(BeginAlter)(THIS) PURE;
  9029.     STDMETHOD(DoAlter)(THIS) PURE;
  9030.     STDMETHOD(CancelAlter)(THIS) PURE;
  9031. };
  9032.  
  9033. ////////////////////////////////////////////////////////////////////////////////////
  9034. ////////////////////////////////////////////////////////////////////////////////////
  9035.  
  9036. #undef INTERFACE
  9037. #define INTERFACE ISQLDMOJobHistoryFilter
  9038. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  9039. {
  9040.    //*** IUnknown methods
  9041.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  9042.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  9043.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  9044.  
  9045.     //*** SQLDMO standard object properties.
  9046.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  9047.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  9048.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  9049.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  9050.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  9051.  
  9052.     //*** properties
  9053.     STDMETHOD(GetJobName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  9054.     STDMETHOD(SetJobName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  9055.     STDMETHOD(GetStartRunDate)(THIS_ LPLONG pRetVal) PURE;
  9056.     STDMETHOD(SetStartRunDate)(THIS_ long NewValue) PURE;
  9057.     STDMETHOD(GetStartRunTime)(THIS_ LPLONG pRetVal) PURE;
  9058.     STDMETHOD(SetStartRunTime)(THIS_ long NewValue) PURE;
  9059.     STDMETHOD(GetOutcomeTypes)(THIS_ SQLDMO_JOBOUTCOME_TYPE *pRetVal) PURE;
  9060.     STDMETHOD(SetOutcomeTypes)(THIS_ SQLDMO_JOBOUTCOME_TYPE NewValue) PURE;
  9061.     STDMETHOD(GetSQLMessageID)(THIS_ LPLONG pRetVal) PURE;
  9062.     STDMETHOD(SetSQLMessageID)(THIS_ long NewValue) PURE;
  9063.     STDMETHOD(GetSQLSeverity)(THIS_ LPLONG pRetVal) PURE;
  9064.     STDMETHOD(SetSQLSeverity)(THIS_ long NewValue) PURE;
  9065.     STDMETHOD(GetMinimumRunDuration)(THIS_ LPLONG pRetVal) PURE;
  9066.     STDMETHOD(SetMinimumRunDuration)(THIS_ long NewValue) PURE;
  9067.     STDMETHOD(GetMinimumRetries)(THIS_ LPLONG pRetVal) PURE;
  9068.     STDMETHOD(SetMinimumRetries)(THIS_ long NewValue) PURE;
  9069.     STDMETHOD(GetOldestFirst)(THIS_ LPBOOL pRetVal) PURE;
  9070.     STDMETHOD(SetOldestFirst)(THIS_ BOOL NewValue) PURE;
  9071.     STDMETHOD(GetEndRunDate)(THIS_ LPLONG pRetVal) PURE;
  9072.     STDMETHOD(SetEndRunDate)(THIS_ long NewValue) PURE;
  9073.     STDMETHOD(GetEndRunTime)(THIS_ LPLONG pRetVal) PURE;
  9074.     STDMETHOD(SetEndRunTime)(THIS_ long NewValue) PURE;
  9075.     STDMETHOD(GetJobID)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  9076.     STDMETHOD(SetJobID)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  9077. };
  9078.  
  9079. ////////////////////////////////////////////////////////////////////////////////////
  9080. ////////////////////////////////////////////////////////////////////////////////////
  9081.  
  9082. #undef INTERFACE
  9083. #define INTERFACE ISQLDMOJobs
  9084. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  9085. {
  9086.     //*** IUnknown methods
  9087.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  9088.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  9089.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  9090.  
  9091.     //*** SQLDMO standard object properties.
  9092.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  9093.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  9094.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  9095.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  9096.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  9097.  
  9098.     //*** SQLDMO standard enumeration properties
  9099.     STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLDMOJOB *ppObj) PURE;
  9100.     STDMETHOD(GetItemByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOJOB *ppObj) PURE;
  9101.     STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  9102.  
  9103.     //*** SQLDMO standard collection methods
  9104.     STDMETHOD(Add)(THIS_ LPSQLDMOJOB Object) PURE;
  9105.     STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  9106.     STDMETHOD(RemoveByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  9107.     STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  9108.     // 7.0
  9109.     STDMETHOD(Script)(THIS_ SQLDMO_SCRIPT_TYPE ScriptType CPPDEFAULT(= SQLDMOScript_Default), SQLDMO_LPCSTR ScriptFilePath CPPDEFAULT(= NULL), SQLDMO_LPBSTR ScriptText CPPDEFAULT(= NULL), SQLDMO_SCRIPT2_TYPE Script2Type CPPDEFAULT(= SQLDMOScript2_Default)) PURE;
  9110.      // Collection method
  9111. };
  9112.  
  9113. #undef INTERFACE
  9114. #define INTERFACE ISQLDMOJob
  9115. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  9116. {
  9117.    //*** IUnknown methods
  9118.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  9119.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  9120.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  9121.  
  9122.     //*** SQLDMO standard object properties.
  9123.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  9124.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  9125.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  9126.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  9127.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  9128.  
  9129.     //*** properties
  9130.     STDMETHOD(GetName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  9131.     STDMETHOD(SetName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  9132.     STDMETHOD(GetEnabled)(THIS_ LPBOOL pRetVal) PURE;
  9133.     STDMETHOD(SetEnabled)(THIS_ BOOL NewValue) PURE;
  9134.     STDMETHOD(GetJobID)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  9135.     STDMETHOD(GetOriginatingServer)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  9136.     STDMETHOD(GetStartStepID)(THIS_ LPLONG pRetVal) PURE;
  9137.     STDMETHOD(SetStartStepID)(THIS_ LONG NewVal) PURE;
  9138.     STDMETHOD(GetDescription)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  9139.     STDMETHOD(SetDescription)(THIS_ SQLDMO_LPCSTR NewVal) PURE;
  9140.     STDMETHOD(GetCategory)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  9141.     STDMETHOD(SetCategory)(THIS_ SQLDMO_LPCSTR NewVal) PURE;
  9142.     STDMETHOD(GetOwner)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  9143.     STDMETHOD(SetOwner)(THIS_ SQLDMO_LPCSTR NewVal) PURE;
  9144.     STDMETHOD(GetEventlogLevel)(THIS_ SQLDMO_COMPLETION_TYPE *pRetVal) PURE;
  9145.     STDMETHOD(SetEventlogLevel)(THIS_ SQLDMO_COMPLETION_TYPE NewVal) PURE;
  9146.     STDMETHOD(GetEmailLevel)(THIS_ SQLDMO_COMPLETION_TYPE *pRetVal) PURE;
  9147.     STDMETHOD(SetEmailLevel)(THIS_ SQLDMO_COMPLETION_TYPE NewVal) PURE;
  9148.     STDMETHOD(GetOperatorToEmail)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  9149.     STDMETHOD(SetOperatorToEmail)(THIS_ SQLDMO_LPCSTR NewVal) PURE;
  9150.     STDMETHOD(GetDateCreated)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  9151.     STDMETHOD(GetDateLastModified)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  9152.     STDMETHOD(GetLastRunDate)(THIS_ LPLONG pRetVal) PURE;
  9153.     STDMETHOD(GetLastRunTime)(THIS_ LPLONG pRetVal) PURE;
  9154.     STDMETHOD(GetLastRunOutcome)(THIS_ SQLDMO_JOBOUTCOME_TYPE *pRetVal) PURE;
  9155.     STDMETHOD(GetCurrentRunStatus)(THIS_ SQLDMO_JOBEXECUTION_STATUS *pRetVal) PURE;
  9156.     STDMETHOD(GetCurrentRunStep)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  9157.     STDMETHOD(GetNetSendLevel)(THIS_ SQLDMO_COMPLETION_TYPE *pRetVal) PURE;
  9158.     STDMETHOD(SetNetSendLevel)(THIS_ SQLDMO_COMPLETION_TYPE NewVal) PURE;
  9159.     STDMETHOD(GetDeleteLevel)(THIS_ SQLDMO_COMPLETION_TYPE *pRetVal) PURE;
  9160.     STDMETHOD(SetDeleteLevel)(THIS_ SQLDMO_COMPLETION_TYPE NewVal) PURE;
  9161.     STDMETHOD(GetHasStep)(THIS_ LPBOOL pRetVal) PURE;
  9162.     STDMETHOD(GetHasServer)(THIS_ LPBOOL pRetVal) PURE;
  9163.     STDMETHOD(GetType)(THIS_ SQLDMO_JOB_TYPE *pRetVal) PURE;
  9164.     STDMETHOD(GetHasSchedule)(THIS_ LPBOOL pRetVal) PURE;
  9165.     STDMETHOD(GetVersionNumber)(THIS_ LPLONG pRetVal) PURE;
  9166.     STDMETHOD(GetNextRunDate)(THIS_ LPLONG pRetVal) PURE;
  9167.     STDMETHOD(GetNextRunTime)(THIS_ LPLONG pRetVal) PURE;
  9168.     STDMETHOD(GetCurrentRunRetryAttempt)(THIS_ LPLONG pRetVal) PURE;
  9169.     STDMETHOD(GetNextRunScheduleID)(THIS_ LPLONG pRetVal) PURE;
  9170.  
  9171.     //*** Collection properties
  9172.     STDMETHOD(GetJobSteps)(THIS_ LPSQLDMOJOBSTEPS *ppJobSteps) PURE;
  9173.     STDMETHOD(GetJobStepByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOJOBSTEP *ppJobStep) PURE;
  9174.     STDMETHOD(GetJobStepByOrd)(THIS_ long lOrdinal, LPSQLDMOJOBSTEP *ppJobStep) PURE;
  9175.     STDMETHOD(RemoveJobStepByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  9176.     STDMETHOD(RemoveJobStepByOrd)(THIS_ long lOrdinal) PURE;
  9177.     STDMETHOD(AddJobStep)(THIS_ LPSQLDMOJOBSTEP pJobStep) PURE;
  9178.     STDMETHOD(GetJobStepCount)(THIS_ LPLONG plCount) PURE;
  9179.  
  9180.     STDMETHOD(GetJobSchedules)(THIS_ LPSQLDMOJOBSCHEDULES *ppJobSchedules) PURE;
  9181.     STDMETHOD(GetJobScheduleByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOJOBSCHEDULE *ppJobSchedule) PURE;
  9182.     STDMETHOD(GetJobScheduleByOrd)(THIS_ long lOrdinal, LPSQLDMOJOBSCHEDULE *ppJobSchedule) PURE;
  9183.     STDMETHOD(RemoveJobScheduleByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  9184.     STDMETHOD(RemoveJobScheduleByOrd)(THIS_ long lOrdinal) PURE;
  9185.     STDMETHOD(AddJobSchedule)(THIS_ LPSQLDMOJOBSCHEDULE pJobSchedule) PURE;
  9186.     STDMETHOD(GetJobScheduleCount)(THIS_ LPLONG plCount) PURE;
  9187.  
  9188.     //*** methods
  9189.     STDMETHOD(Remove)(THIS) PURE;
  9190.     STDMETHOD(BeginAlter)(THIS) PURE;
  9191.     STDMETHOD(DoAlter)(THIS) PURE;
  9192.     STDMETHOD(CancelAlter)(THIS) PURE;
  9193.     STDMETHOD(Refresh)(THIS) PURE;
  9194.     STDMETHOD(ApplyToTargetServer)(THIS_ SQLDMO_LPCSTR NewVal) PURE;
  9195.     STDMETHOD(RemoveFromTargetServer)(THIS_ SQLDMO_LPCSTR NewVal) PURE;
  9196.     STDMETHOD(EnumTargetServers)(THIS_ LPSQLDMOQUERYRESULTS *ppRetVal) PURE;
  9197.     STDMETHOD(ApplyToTargetServerGroup)(THIS_ SQLDMO_LPCSTR NewVal) PURE;
  9198.     STDMETHOD(EnumHistory)(THIS_ LPSQLDMOQUERYRESULTS *ppRetVal, LPSQLDMOJOBHISTORYFILTER pJobHistoryFilter CPPDEFAULT(= NULL)) PURE;
  9199.     STDMETHOD(PurgeHistory)(THIS) PURE;
  9200.     STDMETHOD(Invoke)(THIS) PURE;
  9201.     STDMETHOD(AddStepToJob)(THIS_ LPSQLDMOJOBSTEP pJobStep) PURE;
  9202.     STDMETHOD(RemoveFromTargetServerGroup)(THIS_ SQLDMO_LPCSTR NewVal) PURE;
  9203.     STDMETHOD(RemoveAllJobSteps)(THIS) PURE;
  9204.     STDMETHOD(Start)(THIS_ SQLDMO_LPCSTR NewVal CPPDEFAULT(= NULL)) PURE;
  9205.     STDMETHOD(Stop)(THIS) PURE;
  9206.     STDMETHOD(RemoveAllJobSchedules)(THIS) PURE;
  9207.  
  9208.     // 7.0 After Beta 1
  9209.     STDMETHOD(GetPageLevel)(THIS_ SQLDMO_COMPLETION_TYPE *pRetVal) PURE;
  9210.     STDMETHOD(SetPageLevel)(THIS_ SQLDMO_COMPLETION_TYPE NewVal) PURE;
  9211.     STDMETHOD(GetOperatorToNetSend)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  9212.     STDMETHOD(SetOperatorToNetSend)(THIS_ SQLDMO_LPCSTR NewVal) PURE;
  9213.     STDMETHOD(GetOperatorToPage)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  9214.     STDMETHOD(SetOperatorToPage)(THIS_ SQLDMO_LPCSTR NewVal) PURE;
  9215.     STDMETHOD(EnumAlerts)(THIS_ LPSQLDMOQUERYRESULTS *ppRetVal) PURE;
  9216.     // 7.0 after Beta 3
  9217.     STDMETHOD(Script)(THIS_ SQLDMO_SCRIPT_TYPE ScriptType CPPDEFAULT(= SQLDMOScript_Default), SQLDMO_LPCSTR ScriptFilePath CPPDEFAULT(= NULL), SQLDMO_LPBSTR ScriptText CPPDEFAULT(= NULL), SQLDMO_SCRIPT2_TYPE Script2Type CPPDEFAULT(= SQLDMOScript2_Default)) PURE;
  9218. };
  9219.  
  9220. ////////////////////////////////////////////////////////////////////////////////////
  9221. ////////////////////////////////////////////////////////////////////////////////////
  9222.  
  9223. #undef INTERFACE
  9224. #define INTERFACE ISQLDMOJobSteps
  9225. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  9226. {
  9227.     //*** IUnknown methods
  9228.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  9229.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  9230.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  9231.  
  9232.     //*** SQLDMO standard object properties.
  9233.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  9234.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  9235.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  9236.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  9237.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  9238.  
  9239.     //*** SQLDMO standard enumeration properties
  9240.     STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLDMOJOBSTEP *ppObj) PURE;
  9241.     STDMETHOD(GetItemByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOJOBSTEP *ppObj) PURE;
  9242.     STDMETHOD(GetItemByID)(THIS_ long lID, LPSQLDMOJOBSTEP *ppObj) PURE;
  9243.     STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  9244.  
  9245.     //*** SQLDMO standard collection methods
  9246.     STDMETHOD(Add)(THIS_ LPSQLDMOJOBSTEP Object) PURE;
  9247.     STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  9248.     STDMETHOD(RemoveByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  9249.     STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  9250. };
  9251.  
  9252. #undef INTERFACE
  9253. #define INTERFACE ISQLDMOJobStep
  9254. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  9255. {
  9256.    //*** IUnknown methods
  9257.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  9258.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  9259.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  9260.  
  9261.     //*** SQLDMO standard object properties.
  9262.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  9263.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  9264.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  9265.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  9266.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  9267.  
  9268.     //*** properties
  9269.     STDMETHOD(GetStepID)(THIS_ LPLONG pRetVal) PURE;
  9270.     STDMETHOD(SetStepID)(THIS_ LONG lNewVal) PURE;
  9271.     STDMETHOD(GetName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  9272.     STDMETHOD(SetName)(THIS_ SQLDMO_LPCSTR NewVal) PURE;
  9273.     STDMETHOD(GetSubSystem)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  9274.     STDMETHOD(SetSubSystem)(THIS_ SQLDMO_LPCSTR NewVal) PURE;
  9275.     STDMETHOD(GetCommand)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  9276.     STDMETHOD(SetCommand)(THIS_ SQLDMO_LPCSTR NewVal) PURE;
  9277.     STDMETHOD(GetFlags)(THIS_ LPLONG pRetVal) PURE;
  9278.     STDMETHOD(SetFlags)(THIS_ LONG lNewVal) PURE;
  9279.     STDMETHOD(GetAdditionalParameters)(THIS_ SQLDMO_LPBSTR RetVal) PURE;
  9280.     STDMETHOD(SetAdditionalParameters)(THIS_ SQLDMO_LPCSTR NewVal) PURE;
  9281.     STDMETHOD(GetCmdExecSuccessCode)(THIS_ LPLONG pRetVal) PURE;
  9282.     STDMETHOD(SetCmdExecSuccessCode)(THIS_ LONG lNewVal) PURE;
  9283.     STDMETHOD(GetOnSuccessAction)(THIS_ SQLDMO_JOBSTEPACTION_TYPE *pRetVal) PURE;
  9284.     STDMETHOD(SetOnSuccessAction)(THIS_ SQLDMO_JOBSTEPACTION_TYPE NewValue) PURE;
  9285.     STDMETHOD(GetOnSuccessStep)(THIS_ LPLONG pRetVal) PURE;
  9286.     STDMETHOD(SetOnSuccessStep)(THIS_ LONG lNewVal) PURE;
  9287.     STDMETHOD(GetOnFailAction)(THIS_ SQLDMO_JOBSTEPACTION_TYPE *pRetVal) PURE;
  9288.     STDMETHOD(SetOnFailAction)(THIS_ SQLDMO_JOBSTEPACTION_TYPE NewValue) PURE;
  9289.     STDMETHOD(GetOnFailStep)(THIS_ LPLONG pRetVal) PURE;
  9290.     STDMETHOD(SetOnFailStep)(THIS_ LONG lNewVal) PURE;
  9291.     STDMETHOD(GetServer)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  9292.     STDMETHOD(SetServer)(THIS_ SQLDMO_LPCSTR NewVal) PURE;
  9293.     STDMETHOD(GetDatabaseName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  9294.     STDMETHOD(SetDatabaseName)(THIS_ SQLDMO_LPCSTR NewVal) PURE;
  9295.     STDMETHOD(GetDatabaseUserName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  9296.     STDMETHOD(SetDatabaseUserName)(THIS_ SQLDMO_LPCSTR NewVal) PURE;
  9297.     STDMETHOD(GetRetryAttempts)(THIS_ LPLONG pRetVal) PURE;
  9298.     STDMETHOD(SetRetryAttempts)(THIS_ LONG lNewVal) PURE;
  9299.     STDMETHOD(GetRetryInterval)(THIS_ LPLONG pRetVal) PURE;
  9300.     STDMETHOD(SetRetryInterval)(THIS_ LONG lNewVal) PURE;
  9301.     STDMETHOD(GetOSRunPriority)(THIS_ SQLDMO_RUNPRIORITY_TYPE *pRetVal) PURE;
  9302.     STDMETHOD(SetOSRunPriority)(THIS_ SQLDMO_RUNPRIORITY_TYPE NewValue) PURE;
  9303.     STDMETHOD(GetLastRunOutcome)(THIS_ SQLDMO_JOBOUTCOME_TYPE *pRetVal) PURE;
  9304.     STDMETHOD(GetLastRunDuration)(THIS_ LPLONG pRetVal) PURE;
  9305.     STDMETHOD(GetLastRunRetries)(THIS_ LPLONG pRetVal) PURE;
  9306.     STDMETHOD(GetLastRunDate)(THIS_ LPLONG pRetVal) PURE;
  9307.     STDMETHOD(GetLastRunTime)(THIS_ LPLONG pRetVal) PURE;
  9308.     STDMETHOD(GetOutputFileName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  9309.     STDMETHOD(SetOutputFileName)(THIS_ SQLDMO_LPCSTR NewVal) PURE;
  9310.  
  9311.     //*** methods
  9312.     STDMETHOD(Remove)(THIS) PURE;
  9313.     STDMETHOD(BeginAlter)(THIS) PURE;
  9314.     STDMETHOD(DoAlter)(THIS) PURE;
  9315.     STDMETHOD(CancelAlter)(THIS) PURE;
  9316.     STDMETHOD(Refresh)(THIS) PURE;
  9317. };
  9318.  
  9319. ////////////////////////////////////////////////////////////////////////////////////
  9320. ////////////////////////////////////////////////////////////////////////////////////
  9321.  
  9322. #undef INTERFACE
  9323. #define INTERFACE ISQLDMOTargetServers
  9324. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  9325. {
  9326.     //*** IUnknown methods
  9327.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  9328.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  9329.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  9330.  
  9331.     //*** SQLDMO standard object properties.
  9332.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  9333.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  9334.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  9335.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  9336.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  9337.  
  9338.     //*** SQLDMO standard enumeration properties
  9339.     STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLDMOTARGETSERVER *ppObj) PURE;
  9340.     STDMETHOD(GetItemByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOTARGETSERVER *ppObj) PURE;
  9341.     STDMETHOD(GetItemByID)(THIS_ long lID, LPSQLDMOTARGETSERVER *ppObj) PURE;
  9342.         STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  9343.  
  9344.     //*** SQLDMO standard collection methods
  9345.     STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  9346.     STDMETHOD(RemoveByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  9347.     STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  9348. };
  9349.  
  9350. #undef INTERFACE
  9351. #define INTERFACE ISQLDMOTargetServer
  9352. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  9353. {
  9354.     //*** IUnknown methods
  9355.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  9356.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  9357.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  9358.  
  9359.     //*** SQLDMO standard object properties.
  9360.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  9361.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  9362.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  9363.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  9364.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  9365.  
  9366.     //*** properties
  9367.     STDMETHOD(GetServerID)(THIS_ LPLONG pRetVal) PURE;
  9368.     STDMETHOD(GetServerName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  9369.     STDMETHOD(GetEnlistDate)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  9370.     STDMETHOD(GetLastPollDate)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  9371.     STDMETHOD(GetStatus)(THIS_ LPLONG pRetVal) PURE;
  9372.     STDMETHOD(GetLocation)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  9373.     STDMETHOD(SetLocation)(THIS_ SQLDMO_LPCSTR NewVal) PURE;
  9374.     STDMETHOD(GetTimeZoneAdjustment)(THIS_ LPLONG pRetVal) PURE;
  9375.     STDMETHOD(GetPendingInstructions)(THIS_ LPLONG pRetVal) PURE;
  9376.     STDMETHOD(GetLocalTime)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  9377.     STDMETHOD(GetPollingInterval)(THIS_ LPLONG pRetVal) PURE;
  9378.  
  9379.     //*** methods
  9380.     STDMETHOD(Refresh)(THIS) PURE;
  9381. };
  9382.  
  9383.  
  9384. ////////////////////////////////////////////////////////////////////////////////////
  9385. ////////////////////////////////////////////////////////////////////////////////////
  9386.  
  9387. #undef INTERFACE
  9388. #define INTERFACE ISQLDMOTargetServerGroups
  9389. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  9390. {
  9391.     //*** IUnknown methods
  9392.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  9393.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  9394.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  9395.  
  9396.     //*** SQLDMO standard object properties.
  9397.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  9398.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  9399.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  9400.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  9401.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  9402.  
  9403.     //*** SQLDMO standard enumeration properties
  9404.     STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLDMOTARGETSERVERGROUP *ppObj) PURE;
  9405.     STDMETHOD(GetItemByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOTARGETSERVERGROUP *ppObj) PURE;
  9406.     STDMETHOD(GetItemByID)(THIS_ long lID, LPSQLDMOTARGETSERVERGROUP *ppObj) PURE;
  9407.     STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  9408.  
  9409.     //*** SQLDMO standard collection methods
  9410.     STDMETHOD(Add)(THIS_ LPSQLDMOTARGETSERVERGROUP Object) PURE;
  9411.     STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  9412.     STDMETHOD(RemoveByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  9413.     STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  9414. };
  9415.  
  9416. #undef INTERFACE
  9417. #define INTERFACE ISQLDMOTargetServerGroup
  9418. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  9419. {
  9420.     //*** IUnknown methods
  9421.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  9422.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  9423.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  9424.  
  9425.     //*** SQLDMO standard object properties.
  9426.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  9427.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  9428.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  9429.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  9430.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  9431.  
  9432.     //*** properties
  9433.     STDMETHOD(GetGroupID)(THIS_ LPLONG pRetVal) PURE;
  9434.     STDMETHOD(GetName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  9435.     STDMETHOD(SetName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  9436.  
  9437.     //*** methods
  9438.     STDMETHOD(Remove)(THIS) PURE;
  9439.     STDMETHOD(BeginAlter)(THIS) PURE;
  9440.     STDMETHOD(DoAlter)(THIS) PURE;
  9441.     STDMETHOD(CancelAlter)(THIS) PURE;
  9442.     STDMETHOD(Refresh)(THIS) PURE;
  9443.     STDMETHOD(AddMemberServer)(THIS_ SQLDMO_LPCSTR Value) PURE;
  9444.     STDMETHOD(RemoveMemberServer)(THIS_ SQLDMO_LPCSTR Value) PURE;
  9445.  
  9446.     //*** List methods
  9447.     STDMETHOD(ListMemberServers)(THIS_ LPSQLDMONAMELIST * ppList) PURE;
  9448. };
  9449.  
  9450. ////////////////////////////////////////////////////////////////////////////////////
  9451. ////////////////////////////////////////////////////////////////////////////////////
  9452.  
  9453. #undef INTERFACE
  9454. #define INTERFACE ISQLDMOJobCategories
  9455. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  9456. {
  9457.     //*** IUnknown methods
  9458.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  9459.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  9460.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  9461.  
  9462.     //*** SQLDMO standard object properties.
  9463.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  9464.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  9465.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  9466.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  9467.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  9468.  
  9469.     //*** SQLDMO standard enumeration properties
  9470.     STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLDMOCATEGORY *ppObj) PURE;
  9471.     STDMETHOD(GetItemByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOCATEGORY *ppObj) PURE;
  9472.     STDMETHOD(GetItemByID)(THIS_ long lID, LPSQLDMOCATEGORY *ppObj) PURE;
  9473.     STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  9474.  
  9475.     //*** SQLDMO standard collection methods
  9476.     STDMETHOD(Add)(THIS_ LPSQLDMOCATEGORY Object) PURE;
  9477.     STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  9478.     STDMETHOD(RemoveByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  9479.     STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  9480.      // Collection method
  9481. };
  9482.  
  9483. #undef INTERFACE
  9484. #define INTERFACE ISQLDMOAlertCategories
  9485. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  9486. {
  9487.     //*** IUnknown methods
  9488.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  9489.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  9490.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  9491.  
  9492.     //*** SQLDMO standard object properties.
  9493.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  9494.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  9495.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  9496.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  9497.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  9498.  
  9499.     //*** SQLDMO standard enumeration properties
  9500.     STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLDMOCATEGORY *ppObj) PURE;
  9501.     STDMETHOD(GetItemByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOCATEGORY *ppObj) PURE;
  9502.     STDMETHOD(GetItemByID)(THIS_ long lID, LPSQLDMOCATEGORY *ppObj) PURE;
  9503.     STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  9504.  
  9505.     //*** SQLDMO standard collection methods
  9506.     STDMETHOD(Add)(THIS_ LPSQLDMOCATEGORY Object) PURE;
  9507.     STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  9508.     STDMETHOD(RemoveByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  9509.     STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  9510. };
  9511.  
  9512. #undef INTERFACE
  9513. #define INTERFACE ISQLDMOOperatorCategories
  9514. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  9515. {
  9516.     //*** IUnknown methods
  9517.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  9518.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  9519.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  9520.  
  9521.     //*** SQLDMO standard object properties.
  9522.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  9523.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  9524.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  9525.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  9526.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  9527.  
  9528.     //*** SQLDMO standard enumeration properties
  9529.     STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLDMOCATEGORY *ppObj) PURE;
  9530.     STDMETHOD(GetItemByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOCATEGORY *ppObj) PURE;
  9531.     STDMETHOD(GetItemByID)(THIS_ long lID, LPSQLDMOCATEGORY *ppObj) PURE;
  9532.     STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  9533.  
  9534.     //*** SQLDMO standard collection methods
  9535.     STDMETHOD(Add)(THIS_ LPSQLDMOCATEGORY Object) PURE;
  9536.     STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  9537.     STDMETHOD(RemoveByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  9538.     STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  9539. };
  9540.  
  9541. #undef INTERFACE
  9542. #define INTERFACE ISQLDMOCategory
  9543. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  9544. {
  9545.     //*** IUnknown methods
  9546.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  9547.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  9548.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  9549.  
  9550.     //*** SQLDMO standard object properties.
  9551.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  9552.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  9553.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  9554.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  9555.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  9556.  
  9557.     //*** properties
  9558.     STDMETHOD(GetID)(THIS_ LPLONG pRetVal) PURE;
  9559.     STDMETHOD(GetType)(THIS_ SQLDMO_CATEGORYTYPE_TYPE FAR* pRetVal) PURE;
  9560.     STDMETHOD(SetType)(THIS_ SQLDMO_CATEGORYTYPE_TYPE NewValue) PURE;
  9561.     STDMETHOD(GetName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  9562.     STDMETHOD(SetName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  9563.  
  9564.     //*** methods
  9565.     STDMETHOD(Remove)(THIS) PURE;
  9566.     STDMETHOD(BeginAlter)(THIS) PURE;
  9567.     STDMETHOD(DoAlter)(THIS) PURE;
  9568.     STDMETHOD(CancelAlter)(THIS) PURE;
  9569.     STDMETHOD(Refresh)(THIS) PURE;
  9570. };
  9571.  
  9572. ////////////////////////////////////////////////////////////////////////////////////
  9573. ////////////////////////////////////////////////////////////////////////////////////
  9574.  
  9575. #undef INTERFACE
  9576. #define INTERFACE ISQLDMOJobSchedules
  9577. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  9578. {
  9579.     //*** IUnknown methods
  9580.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  9581.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  9582.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  9583.  
  9584.     //*** SQLDMO standard object properties.
  9585.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  9586.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  9587.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  9588.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  9589.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  9590.  
  9591.     //*** SQLDMO standard enumeration properties
  9592.     STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLDMOJOBSCHEDULE *ppObj) PURE;
  9593.     STDMETHOD(GetItemByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOJOBSCHEDULE *ppObj) PURE;
  9594.     STDMETHOD(GetItemByID)(THIS_ long lID, LPSQLDMOJOBSCHEDULE *ppObj) PURE;
  9595.     STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  9596.  
  9597.     //*** SQLDMO standard collection methods
  9598.     STDMETHOD(Add)(THIS_ LPSQLDMOJOBSCHEDULE Object) PURE;
  9599.     STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  9600.     STDMETHOD(RemoveByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  9601.     STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  9602. };
  9603.  
  9604. #undef INTERFACE
  9605. #define INTERFACE ISQLDMOJobSchedule
  9606. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  9607. {
  9608.    //*** IUnknown methods
  9609.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  9610.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  9611.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  9612.  
  9613.     //*** SQLDMO standard object properties.
  9614.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  9615.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  9616.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  9617.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  9618.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  9619.  
  9620.     //*** properties
  9621.     STDMETHOD(GetName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  9622.     STDMETHOD(SetName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  9623.     STDMETHOD(GetEnabled)(THIS_ LPBOOL pRetVal) PURE;
  9624.     STDMETHOD(SetEnabled)(THIS_ BOOL NewValue) PURE;
  9625.     STDMETHOD(GetSchedule)(THIS_ LPSQLDMOSCHEDULE * ppSchedule) PURE;
  9626.     STDMETHOD(GetDateCreated)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  9627.     STDMETHOD(GetScheduleID)(THIS_ LPLONG pRetVal) PURE;
  9628.  
  9629.     //*** methods
  9630.     STDMETHOD(Remove)(THIS) PURE;
  9631.     STDMETHOD(BeginAlter)(THIS) PURE;
  9632.     STDMETHOD(DoAlter)(THIS) PURE;
  9633.     STDMETHOD(CancelAlter)(THIS) PURE;
  9634.     STDMETHOD(Refresh)(THIS) PURE;
  9635. };
  9636.  
  9637. ////////////////////////////////////////////////////////////////////////////////////
  9638. ////////////////////////////////////////////////////////////////////////////////////
  9639.  
  9640. #undef INTERFACE
  9641. #define INTERFACE ISQLDMOSchedule
  9642. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  9643. {
  9644.     //*** IUnknown methods
  9645.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  9646.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  9647.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  9648.  
  9649.     //*** SQLDMO standard object properties.
  9650.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  9651.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  9652.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  9653.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  9654.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  9655.  
  9656.     //*** properties
  9657.     STDMETHOD(GetFrequencyType)(THIS_ SQLDMO_FREQUENCY_TYPE *pRetVal) PURE;
  9658.     STDMETHOD(SetFrequencyType)(THIS_ SQLDMO_FREQUENCY_TYPE NewValue) PURE;
  9659.     STDMETHOD(GetFrequencyInterval)(THIS_ LPLONG pRetVal) PURE;
  9660.     STDMETHOD(SetFrequencyInterval)(THIS_ long NewValue) PURE;
  9661.     STDMETHOD(GetFrequencySubDay)(THIS_ SQLDMO_FREQSUB_TYPE *pRetVal) PURE;
  9662.     STDMETHOD(SetFrequencySubDay)(THIS_ SQLDMO_FREQSUB_TYPE NewValue) PURE;
  9663.     STDMETHOD(GetFrequencySubDayInterval)(THIS_ LPLONG pRetVal) PURE;
  9664.     STDMETHOD(SetFrequencySubDayInterval)(THIS_ long NewValue) PURE;
  9665.     STDMETHOD(GetFrequencyRelativeInterval)(THIS_ SQLDMO_FREQRELATIVE_TYPE *pRetVal) PURE;
  9666.     STDMETHOD(SetFrequencyRelativeInterval)(THIS_ SQLDMO_FREQRELATIVE_TYPE NewValue) PURE;
  9667.     STDMETHOD(GetFrequencyRecurrenceFactor)(THIS_ LPLONG pRetVal) PURE;
  9668.     STDMETHOD(SetFrequencyRecurrenceFactor)(THIS_ long NewValue) PURE;
  9669.     STDMETHOD(GetActiveStartDate)(THIS_ LPLONG pRetVal) PURE;
  9670.     STDMETHOD(SetActiveStartDate)(THIS_ long NewValue) PURE;
  9671.     STDMETHOD(GetActiveEndDate)(THIS_ LPLONG pRetVal) PURE;
  9672.     STDMETHOD(SetActiveEndDate)(THIS_ long NewValue) PURE;
  9673.     STDMETHOD(GetActiveStartTimeOfDay)(THIS_ LPLONG pRetVal) PURE;
  9674.     STDMETHOD(SetActiveStartTimeOfDay)(THIS_ long NewValue) PURE;
  9675.     STDMETHOD(GetActiveEndTimeOfDay)(THIS_ LPLONG pRetVal) PURE;
  9676.     STDMETHOD(SetActiveEndTimeOfDay)(THIS_ long NewValue) PURE;
  9677.  
  9678.     //*** methods
  9679.     STDMETHOD(Refresh)(THIS) PURE;
  9680.     STDMETHOD(BeginAlter)(THIS) PURE;
  9681.     STDMETHOD(DoAlter)(THIS) PURE;
  9682.     STDMETHOD(CancelAlter)(THIS) PURE;
  9683. };
  9684.  
  9685. ////////////////////////////////////////////////////////////////////////////////////
  9686. ////////////////////////////////////////////////////////////////////////////////////
  9687.  
  9688. #undef INTERFACE
  9689. #define INTERFACE ISQLDMOJobFilter
  9690. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  9691. {
  9692.     //*** IUnknown methods
  9693.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  9694.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  9695.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  9696.  
  9697.     //*** SQLDMO standard object properties.
  9698.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  9699.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  9700.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  9701.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  9702.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  9703.  
  9704.     //*** properties
  9705.     STDMETHOD(GetCurrentExecutionStatus)(THIS_ SQLDMO_JOBEXECUTION_STATUS *pRetVal) PURE;
  9706.     STDMETHOD(SetCurrentExecutionStatus)(THIS_ SQLDMO_JOBEXECUTION_STATUS NewValue) PURE;
  9707.     STDMETHOD(GetEnabled)(THIS_ LPBOOL pRetVal) PURE;
  9708.     STDMETHOD(SetEnabled)(THIS_ BOOL NewValue) PURE;
  9709.     STDMETHOD(GetCategory)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  9710.     STDMETHOD(SetCategory)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  9711.     STDMETHOD(GetOwner)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  9712.     STDMETHOD(SetOwner)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  9713.     STDMETHOD(GetStepSubsystem)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  9714.     STDMETHOD(SetStepSubsystem)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  9715.     STDMETHOD(GetDateJobCreated)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  9716.     STDMETHOD(SetDateJobCreated)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  9717.     STDMETHOD(GetDateJobLastModified)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  9718.     STDMETHOD(SetDateJobLastModified)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  9719.     STDMETHOD(GetDateFindOperand)(THIS_ SQLDMO_FIND_OPERAND *pRetVal) PURE;
  9720.     STDMETHOD(SetDateFindOperand)(THIS_ SQLDMO_FIND_OPERAND NewValue) PURE;
  9721.     STDMETHOD(GetType)(THIS_ SQLDMO_JOB_TYPE *pRetVal) PURE;
  9722.     STDMETHOD(SetType)(THIS_ SQLDMO_JOB_TYPE NewValue) PURE;
  9723.  
  9724.     //*** methods
  9725. };
  9726.  
  9727.  
  9728.  
  9729.  
  9730.  
  9731. /////////////////////////////////////////////////////////////////////////////
  9732. //        SQLDMO Connection Point Sink Interfaces
  9733. /////////////////////////////////////////////////////////////////////////////
  9734.  
  9735. #ifdef _SQLDMO_INTERNAL_
  9736. #endif
  9737.  
  9738. #endif    // !_SQLDMO_ODL_
  9739. #pragma option pop /*P_O_Pop*/
  9740. #endif    // _SQLDMO_H_
  9741.