home *** CD-ROM | disk | FTP | other *** search
/ io Programmo 32 / IOPROG_32.ISO / SOFT / SqlEval7 / devtools / include / SQLDMO.h < prev    next >
Encoding:
C/C++ Source or Header  |  1998-11-12  |  487.9 KB  |  9,739 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. #define _SQLDMO_H_
  9.  
  10. // SQLDMO versions supported for this header file.
  11. #define SQLDMOVERSION_700        0x07000000
  12.  
  13. // Current version of SQLDMO for this header file (matches sp_MSSQLDMO_version).
  14. #define SQLDMOVERSION_CURRENT    SQLDMOVERSION_700
  15.  
  16. /////////////////////////////////////////////////////////////////////////////////////////
  17. // Constant enumerations.
  18. /////////////////////////////////////////////////////////////////////////////////////////
  19. #ifndef _SQLDMO_CONSTANTS_
  20. #define _SQLDMO_CONSTANTS_
  21.  
  22. #ifdef _SQLDMO_ODL_        // Generate helpids if in ODL file.
  23. #define SQLDMO_HELPID(id) [helpcontext(H_##id)]
  24. #else
  25. #define SQLDMO_HELPID(id)
  26. #endif
  27.  
  28.  
  29. typedef SQLDMO_HELPID(SQLDMO_OBJECT_TYPE) enum {
  30.     SQLDMOObj_Unknown = 16384,        // Make it the only bit set
  31.     SQLDMOObj_Application = 0,
  32.  
  33.     // Database objects, value is power(2, sysobjects.sysstat & 0x0f), plus UDDTs in 0.
  34.     // These values can be bitmasked together for object listings.
  35.     SQLDMOObj_UserDefinedDatatype =           0x00000001,    // 1
  36.     SQLDMOObj_SystemTable =                   0x00000002,    // 2
  37.     SQLDMOObj_View =                          0x00000004,    // 4
  38.     SQLDMOObj_UserTable =                     0x00000008,    // 8
  39.     SQLDMOObj_StoredProcedure =               0x00000010,    // 16
  40.     SQLDMOObj_Default =                       0x00000040,    // 64
  41.     SQLDMOObj_Rule =                          0x00000080,    // 128
  42.     SQLDMOObj_Trigger =                       0x00000100,    // 256
  43.     SQLDMOObj_AllDatabaseUserObjects =        0x000001fd,    // All but system tables
  44.     SQLDMOObj_AllDatabaseObjects =            0x000001ff,    // All including system tables
  45.  
  46.  
  47.  
  48.  
  49.         // Other Database objects (not in sysobjects)
  50.         SQLDMOObj_SystemDatatype =                0x00001000,
  51.         SQLDMOObj_User =                          0x00002000,
  52.         SQLDMOObj_Group =                         0x00003000,
  53.         SQLDMOObj_Index =                         0x00004000,
  54.         SQLDMOObj_Key =                           0x00005000,
  55.         SQLDMOObj_Column =                        0x00006000,
  56.         SQLDMOObj_DBObject =                      0x00007000,
  57.         SQLDMOObj_DBOption =                      0x00008000,
  58.         SQLDMOObj_ProcedureParameter =            0x00009000,
  59.         SQLDMOObj_Permission =                    0x0000A000,
  60.         SQLDMOObj_IntegratedSecurity =            0x0000B000,
  61.         SQLDMOObj_Check =                         0x0000C000,
  62.         SQLDMOObj_DRIDefault =                    0x0000D000,
  63.  
  64.         // Objects not in databases.
  65.         SQLDMOObj_SQLServer =                     0x00020000,
  66.         SQLDMOObj_Database =                      0x00021000,
  67.         SQLDMOObj_BackupDevice =                  0x00022000,
  68.         SQLDMOObj_Login =                         0x00023000,
  69.         SQLDMOObj_Language =                      0x00024000,
  70.         SQLDMOObj_RemoteServer =                  0x00025000,
  71.         SQLDMOObj_RemoteLogin =                   0x00026000,
  72.         SQLDMOObj_Configuration =                 0x00027000,
  73.         SQLDMOObj_ConfigValue =                   0x00028000,
  74.         SQLDMOObj_QueryResults =                  0x00029000,
  75.         SQLDMOObj_TransactionLog =                0x0002A000,
  76.         SQLDMOObj_Registry =                      0x0002B000,
  77.         SQLDMOObj_Transfer =                      0x0002C000,
  78.         SQLDMOObj_Backup =                        0x0002D000,
  79.         SQLDMOObj_AutoProperty =                  0x0002E000,
  80.         SQLDMOObj_ServerGroup =                   0x0002F000,
  81.         SQLDMOObj_RegisteredServer =              0x00031000,
  82.         SQLDMOObj_BulkCopy =                      0x00032000,
  83.         SQLDMOObj_FileGroup =                     0x00033000,
  84.         SQLDMOObj_DBFile =                        0x00034000,
  85.         SQLDMOObj_LogFile =                       0x00035000,
  86.         SQLDMOObj_ServerRole =                    0x00036000,
  87.         SQLDMOObj_DatabaseRole =                  0x00037000,
  88.         SQLDMOObj_Restore =                       0x00038000,
  89.         SQLDMOObj_LinkedServer =                  0x00039000,
  90.         SQLDMOObj_LinkedServerLogin =             0x00040000,
  91.         SQLDMOObj_FullTextCatalog =               0x00041000,
  92.         SQLDMOObj_FullTextService =               0x00042000,
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.    // Replication Objects
  102.     SQLDMOObj_TransPublication =              0x00101000,
  103.     SQLDMOObj_TransArticle =                  0x00102000,
  104.     SQLDMOObj_TransSubscription =             0x00103000,
  105.     SQLDMOObj_TransPullSubscription =        0x00104000,
  106.     SQLDMOObj_MergePublication =             0x00105000,
  107.     SQLDMOObj_MergeArticle =                 0x00106000,
  108.     SQLDMOObj_MergeSubscription =            0x00107000,
  109.     SQLDMOObj_MergePullSubscription =        0x00108000,
  110.     SQLDMOObj_Replication =                 0x00109000,
  111.     SQLDMOObj_Publisher =                   0x0010A000,
  112.     SQLDMOObj_Subscriber =                  0x0010B000,
  113.     SQLDMOObj_Distributor =                 0x0010C000,
  114.     SQLDMOObj_ReplicationSecurity =         0x0010D000,
  115.     SQLDMOObj_DistributionPublisher =       0x0010E000,
  116.     SQLDMOObj_RegisteredSubscriber =        0x0010F000,
  117.     SQLDMOObj_ReplicationDatabase =         0x00110000,
  118.     SQLDMOObj_DistributionDatabase =        0x00111000,
  119.     SQLDMOObj_ReplicationTable =            0x00112000,
  120.     SQLDMOObj_ReplicationStoredProcedure =  0x00113000,
  121.     SQLDMOObj_DistributionPublication =     0x00114000,
  122.     SQLDMOObj_DistributionArticle =         0x00115000,
  123.     SQLDMOObj_DistributionSubscription =    0x00116000,
  124.     SQLDMOObj_MergeSubsetFilter =             0x00117000,
  125.  
  126.  
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.  
  137.    // SQL JobServer Objects
  138.         SQLDMOObj_AlertSystem =                   0x00201000,
  139.         SQLDMOObj_JobServer =                     0x00202000,
  140.         SQLDMOObj_Alert =                         0x00203000,
  141.         SQLDMOObj_Operator =                      0x00204000,
  142.         SQLDMOObj_Job =                           0x00205000,
  143.         SQLDMOObj_JobStep =                       0x00206000,
  144.         SQLDMOObj_TargetServer =                  0x00207000,
  145.         SQLDMOObj_TargetServerGroup =             0x00208000,
  146.         SQLDMOObj_Category =                      0x00209000,
  147.         SQLDMOObj_Schedule =                      0x00210000,
  148.         SQLDMOObj_JobFilter =                     0x00211000,
  149.         SQLDMOObj_JobHistoryFilter =              0x00212000,
  150.         SQLDMOObj_JobSchedule =                   0x00213000,
  151.  
  152.  
  153.  
  154.  
  155.  
  156.  
  157.  
  158.  
  159.    SQLDMOObj_Last =                          0x10000000     // End of enumeration.
  160.  
  161. } SQLDMO_OBJECT_TYPE;
  162.  
  163.  
  164.  
  165. typedef SQLDMO_HELPID(SQLDMO_KEY_TYPE) enum {
  166.         SQLDMOKey_Unknown = 0,
  167.         SQLDMOKey_Primary = 1,
  168.         SQLDMOKey_Unique = 2,
  169.         SQLDMOKey_Foreign = 3
  170. } SQLDMO_KEY_TYPE;
  171.  
  172. typedef SQLDMO_HELPID(SQLDMO_DEVICE_TYPE) enum {
  173.         SQLDMODevice_Unknown = 100,
  174.         SQLDMODevice_DiskDump = 2,
  175.         SQLDMODevice_FloppyADump = 3,
  176.         SQLDMODevice_FloppyBDump = 4,
  177.         SQLDMODevice_TapeDump = 5,
  178.         SQLDMODevice_PipeDump = 6,
  179.         SQLDMODevice_CDROM = 7
  180. } SQLDMO_DEVICE_TYPE;
  181.  
  182. typedef SQLDMO_HELPID(SQLDMO_PRIVILEGE_TYPE) enum {
  183.         SQLDMOPriv_Unknown = 0,
  184.  
  185.         // Privilege values, different from sysprotects as we need to bitmask.
  186.         // Object privileges.
  187.         SQLDMOPriv_Select = 1,
  188.         SQLDMOPriv_Insert = 2,
  189.         SQLDMOPriv_Update = 4,
  190.         SQLDMOPriv_Delete = 8,
  191.         SQLDMOPriv_Execute = 16,
  192.         SQLDMOPriv_References = 32,
  193.         SQLDMOPriv_AllObjectPrivs = 63,
  194.  
  195.         // Database (statement) privileges.
  196.         SQLDMOPriv_CreateTable = 128,
  197.         SQLDMOPriv_CreateDatabase = 256,
  198.         SQLDMOPriv_CreateView = 512,
  199.         SQLDMOPriv_CreateProcedure = 1024,
  200.         SQLDMOPriv_DumpDatabase = 2048,
  201.         SQLDMOPriv_CreateDefault = 4096,
  202.         SQLDMOPriv_DumpTransaction = 8192,
  203.         SQLDMOPriv_CreateRule = 16384,
  204.         SQLDMOPriv_DumpTable = 32768,
  205.         SQLDMOPriv_AllDatabasePrivs = 65408
  206. } SQLDMO_PRIVILEGE_TYPE;
  207.  
  208. typedef SQLDMO_HELPID(SQLDMO_PROCEDURE_TYPE) enum {
  209.         SQLDMOProc_Unknown = 0,
  210.         SQLDMOProc_Standard = 1,
  211.         SQLDMOProc_Extended = 2,
  212.         SQLDMOProc_Macro = 3,
  213.         SQLDMOProc_ReplicationFilter = 4
  214. } SQLDMO_PROCEDURE_TYPE;
  215.  
  216. // Trigger types may be OR'd together.
  217. typedef SQLDMO_HELPID(SQLDMO_TRIGGER_TYPE) enum {
  218.         SQLDMOTrig_Unknown = 0,
  219.         SQLDMOTrig_Insert = 1,
  220.         SQLDMOTrig_Update = 2,
  221.         SQLDMOTrig_Delete = 4,
  222.         SQLDMOTrig_All = 7
  223. } SQLDMO_TRIGGER_TYPE;
  224.  
  225. typedef SQLDMO_HELPID(SQLDMO_INDEX_TYPE) enum {                                                 // SQLDMO Internal:  sync with ntinc\index.h
  226.         // Index type values as in sysindexes.status.
  227.         SQLDMOIndex_Default = 0x0000,
  228.         SQLDMOIndex_IgnoreDupKey = 0x0001,
  229.         SQLDMOIndex_Unique = 0x0002,
  230. //        SQLDMOIndex_IgnoreDupRow = 0x0004,      // obsolete in 7.0
  231.         SQLDMOIndex_Clustered = 0x0010,
  232. //        SQLDMOIndex_AllowDupRow = 0x0040,       // obsolete in 7.0
  233.         SQLDMOIndex_PadIndex = 0x0100,          // new for 7.0, fillfactor applies to index nodes also
  234.         SQLDMOIndex_SortedData = 0x0200,
  235.         SQLDMOIndex_SortedDataReorg = 0x2000,   // 6.0-only; sorted-data with reorganization
  236.         SQLDMOIndex_DropExist = 0x8000,         // new for 7.0, Drop the existing index
  237. //        SQLDMOIndex_Valid = 0xA357,             // Any of foregoing (writable) types
  238.         SQLDMOIndex_Valid = 0xA313,             // Any of foregoing (writable) types
  239.         SQLDMOIndex_Hypothetical = 0x0020,      // new for 7.0, statistics only index, we get this for both 'CREATE STATISTICS' and 'CREATE INDEX...WITH STATISTICS_ONLY'
  240.         SQLDMOIndex_DRIPrimaryKey = 0x0800,     // 6.0-only, readonly; DRI-generated types
  241.         SQLDMOIndex_DRIUniqueKey = 0x1000,
  242.         SQLDMOIndex_DRIIndex = 0x1800,          // Index implements DRI (DRIPrimaryKey | DRIUniqueKey)
  243.         SQLDMOIndex_NoRecompute = 0x01000000,   // new for 7.0
  244. } SQLDMO_INDEX_TYPE;
  245.  
  246. typedef SQLDMO_HELPID(SQLDMO_QUERY_DATATYPE) enum {
  247.    // Indexed as per ..\common\inc\sql.hpp and sql.h sqlext.h datatype constants.
  248.         SQLDMO_DTypeUnknown     = 0,
  249.         SQLDMO_DTypeChar        = 1,                         // SQL_CHAR
  250.         SQLDMO_DTypeText        = -1,                        // SQL_LONGVARCHAR
  251.         SQLDMO_DTypeVarchar     = 12,                        // SQL_VARCHAR
  252.         SQLDMO_DTypeVarBinary   = -3,                        // SQL_VARBINARY
  253.         SQLDMO_DTypeBinary      = -2,                        // SQL_BINARY
  254.         SQLDMO_DTypeImage       = -4,                        // SQL_LONGVARBINARY
  255.         SQLDMO_DTypeFloat4      = 7,                         // SQL_REAL
  256.         SQLDMO_DTypeFloat8      = 8,                         // SQL_DOUBLE
  257.         SQLDMO_DTypeInt1        = -6,                        // SQL_TINYINT
  258.         SQLDMO_DTypeInt2        = 5,                         // SQL_SMALLINT
  259.         SQLDMO_DTypeInt4        = 4,                         // SQL_INTEGER
  260.         SQLDMO_DTypeMoney4      = 3,                         // SQL_DECIMAL
  261.         SQLDMO_DTypeMoney       = 3,                         // SQL_DECIMAL
  262.         SQLDMO_DTypeDateTime    = -2,                        // SQL_BINARY
  263.         SQLDMO_DTypeDateTime4   = 93,                        // SQL_TYPE_TIMESTAMP
  264.         SQLDMO_DTypeBit         = -7,                        // SQL_BIT
  265.         SQLDMO_DTypeUChar       = -8,                        // SQL_WCHAR
  266.         SQLDMO_DTypeUVarchar    = -9,                        // SQL_WVARCHAR
  267.         SQLDMO_DTypeGUID        = -11,                       // SQL_GUID
  268.         SQLDMO_DTypeNText       = -10,                       // SQL_WLONGVARCHAR
  269. } SQLDMO_QUERY_DATATYPE;
  270.  
  271. typedef SQLDMO_HELPID(SQLDMO_AUDIT_TYPE) enum {
  272.         SQLDMOAudit_None = 0,
  273.         SQLDMOAudit_Success = 1,
  274.         SQLDMOAudit_Failure = 2,
  275.         SQLDMOAudit_All = 3
  276. } SQLDMO_AUDIT_TYPE;
  277.  
  278. typedef SQLDMO_HELPID(SQLDMO_SECURITY_TYPE) enum {
  279.         SQLDMOSecurity_Min = 0,
  280.         SQLDMOSecurity_Normal = 0,
  281.         SQLDMOSecurity_Integrated = 1,
  282.         SQLDMOSecurity_Mixed = 2,
  283.         SQLDMOSecurity_Max = 2
  284. } SQLDMO_SECURITY_TYPE;
  285.  
  286. typedef SQLDMO_HELPID(SQLDMO_MEDIA_TYPE) enum {
  287.         SQLDMOMedia_Floppy = 1,
  288.         SQLDMOMedia_FixedDisk = 2,
  289.         SQLDMOMedia_Tape = 4,
  290.         SQLDMOMedia_CDROM = 8,
  291.         SQLDMOMedia_All = 15
  292. } SQLDMO_MEDIA_TYPE;
  293.  
  294. typedef SQLDMO_HELPID(SQLDMO_PERFMON_TYPE) enum {
  295.         SQLDMOPerfmon_None = 1000,                                      // No perfmon integration
  296.         SQLDMOPerfmon_MinSet = 0,
  297.         SQLDMOPerfmon_Continuous = 0,
  298.         SQLDMOPerfmon_OnDemand = 1,
  299.         SQLDMOPerfmon_MaxSet = 1
  300. } SQLDMO_PERFMON_TYPE;
  301.  
  302. typedef SQLDMO_HELPID(SQLDMO_DBSTATUS_TYPE) enum {
  303.         SQLDMODBStat_Normal = 0x0000,
  304.         SQLDMODBStat_Loading = 0x0020,              // isinload
  305.         SQLDMODBStat_Recovering = 0x00c0,           // 0x40 | 0x080, isinrecovery, isnotrecovered
  306.         SQLDMODBStat_Suspect = 0x0100,              // issuspect, isshutdown (IsSuspect for recovery failure, IsShutdown for missing files)
  307.         SQLDMODBStat_Offline = 0x0200,              // isoffline, isdetached
  308.         SQLDMODBStat_Inaccessible = 0x03e0,         // Loading | Recovering | Suspect | Offline
  309.         SQLDMODBStat_EmergencyMode = 0x8000,        // isemergencymode
  310.         SQLDMODBStat_Standby = 0x0400,              // online as readonly, with restore log allowed
  311.         SQLDMODBStat_All = 0x87e0
  312. } SQLDMO_DBSTATUS_TYPE;
  313.  
  314. typedef SQLDMO_HELPID(SQLDMO_COPYDATA_TYPE) enum {
  315.         SQLDMOCopyData_False = 0,
  316.         SQLDMOCopyData_Replace = 1,
  317.         SQLDMOCopyData_Append = 2
  318. } SQLDMO_COPYDATA_TYPE;
  319.  
  320. typedef SQLDMO_HELPID(SQLDMO_DATAFILE_TYPE) enum {
  321.         // Bulk-copy datafile options (Table/View.Export and Table.Import).  These are mutually exclusive.
  322.         SQLDMODataFile_CommaDelimitedChar =             0x00000001,     // ColumnDelimiter == Comma, RowDelimiter == <CRLF>
  323.         SQLDMODataFile_Default =                                        0x00000001,     // Default == csv
  324.         SQLDMODataFile_TabDelimitedChar =                       0x00000002,     // ColumnDelimiter == <TAB>, RowDelimiter == <CRLF>
  325.         SQLDMODataFile_SpecialDelimitedChar =           0x00000003,     // Set BulkCopy.ColumnDelimiter and .RowDelimiter
  326.         SQLDMODataFile_NativeFormat =                           0x00000004,     // Use native datatype formats
  327.         SQLDMODataFile_UseFormatFile =                          0x00000005,     // Use an existing format file.
  328. } SQLDMO_DATAFILE_TYPE;
  329.  
  330. typedef SQLDMO_HELPID(SQLDMO_STATUSINFO_TYPE) enum {
  331.         SQLDMOStatInfo_Unknown = 0,                                     // Initialization value, not valid as a parameter
  332.         SQLDMOStatInfo_DatabaseStatus = 0x0001,         // Database.Status
  333.         SQLDMOStatInfo_DatabaseSpace = 0x0002,          // Database.SpaceAvailable
  334.         SQLDMOStatInfo_AutoVerifyConnection = 0x0004,   // Server.VerifyConnection done automatically.
  335.         SQLDMOStatInfo_All = 0x0007                                     // All the foregoing
  336. } SQLDMO_STATUSINFO_TYPE;
  337.  
  338. typedef SQLDMO_HELPID(SQLDMO_SCRIPT_TYPE) enum {
  339.         // What's included in the Script method output.
  340.         SQLDMOScript_Default                 = 0x0004,     // Object creation only
  341.         SQLDMOScript_Drops                     = 0x0001,     // Include object drops
  342.         SQLDMOScript_ObjectPermissions         = 0x0002,     // Include object permissions
  343.         SQLDMOScript_PrimaryObject             = 0x0004,     // Include object creation
  344.         SQLDMOScript_ClusteredIndexes         = 0x0008,   // Include clustered index creation (table only)
  345.         SQLDMOScript_Triggers                 = 0x0010,   // Include trigger creation (table only)
  346.         SQLDMOScript_DatabasePermissions    = 0x0020,   // Database (statement) permissions
  347.         SQLDMOScript_Permissions             = 0x0022,   // Both database and object permissions (for scripting users).
  348.         SQLDMOScript_ToFileOnly             = 0x0040,   // If not set, a string is returned (if file nonnull, both are done)
  349.         SQLDMOScript_Bindings                 = 0x0080,   // Include rule/default bindings (table only)
  350.         SQLDMOScript_AppendToFile             = 0x0100,   // Append to output file if it already exists.
  351.         SQLDMOScript_NoDRI                     = 0x0200,   // Do not include DRI (intended for use if targeting pre-6.0 server with scripts)
  352.         SQLDMOScript_UDDTsToBaseType         = 0x0400,   // Convert UserDefinedDatatypes to base type when creating columns (table only)
  353.         // 0x0800 available.
  354.         SQLDMOScript_IncludeIfNotExists     = 0x1000,   // Include "if not exists" on object creation.
  355.         SQLDMOScript_NonClusteredIndexes    = 0x2000,   // Include nonclustered index creation (table only)
  356.         SQLDMOScript_Indexes                 = 0x12008,  // Include all index creation (table only)
  357.         SQLDMOScript_Aliases                 = 0x4000,   // For users, script aliases
  358.         SQLDMOScript_NoCommandTerm             = 0x8000,   // Do not append "GO" to commands.
  359.         SQLDMOScript_DRIIndexes             = 0x10000,  // Script DRI-generated indexes as indexes if NoDRI is specified.
  360.         SQLDMOScript_IncludeHeaders         = 0x20000,  // Include descriptive header in individual object script output.
  361.         SQLDMOScript_OwnerQualify             = 0x40000,  // Owner-qualify DROP statements (and CREATE where possible).
  362.         SQLDMOScript_TimestampToBinary         = 0x80000,  // Convert timestamp columns to binary(8) (for replication, etc.).
  363.         SQLDMOScript_SortedData             = 0x100000, // If the index or constraint was clustered, append sorted_data
  364.         SQLDMOScript_SortedDataReorg         = 0x200000, // Same as SQLDMOScript_SortedData, but Reorg is used to preserve fillfactor.
  365.         SQLDMOScript_TransferDefault         = 0x670ff,  // The default script type for Transfer. This is combination of following flags:
  366.                                                         // SQLDMOScript_PrimaryObject | SQLDMOScript_Bindings | SQLDMOScript_ClusteredIndexes | SQLDMOScript_NonClusteredIndexes |
  367.                                                         // SQLDMOScript_Triggers| SQLDMOScript_ToFileOnly|SQLDMOScript_Permissions| SQLDMOScript_IncludeHeaders|
  368.                                                         // SQLDMOScript_Aliases|SQLDMOScript_IncludeIfNotExists|SQLDMOScript_OwnerQualify|SQLDMOScript_Drops
  369.         // DRI-restrictive flags.  These may be combined with PrimaryObject as desired.
  370.         // These are to be used to include or exclude specific DRI components, such
  371.         // as for multi-pass scripting.
  372.         SQLDMOScript_DRI_NonClustered         = 0x00400000,
  373.         SQLDMOScript_DRI_Clustered             = 0x00800000,
  374.         SQLDMOScript_DRI_Checks                = 0x01000000,
  375.         SQLDMOScript_DRI_Defaults             = 0x02000000,
  376.         SQLDMOScript_DRI_UniqueKeys         = 0x04000000,
  377.         SQLDMOScript_DRI_ForeignKeys        = 0x08000000,
  378.         SQLDMOScript_DRI_PrimaryKey         = 0x10000000,
  379.         SQLDMOScript_DRI_AllKeys             = 0x1c000000,     // Bitmask of all key types (PK, FK, Unique).
  380.         SQLDMOScript_DRI_AllConstraints     = 0x1f000000,   // Bitmask of all constraint types (PK, FK, Unique, Check, Default).
  381.         SQLDMOScript_DRI_All                 = 0x1fc00000,   // All the foregoing (specifying this and not PrimaryObject gets just DRI output).
  382.         SQLDMOScript_DRIWithNoCheck         = 0x20000000,   // Script DRI with nocheck (not included in _DRI_All).
  383.         SQLDMOScript_NoIdentity             = 0x40000000,   // Script with no IDENTITY attribute (e.g. for Replication).
  384.  
  385.         SQLDMOScript_UseQuotedIdentifiers = 0x80000000,   // Scripts with quoted identifiers. Also will cause Transfer to SET QUOTED_IDENTIFIER ON on the destination.
  386.                                                           // !!! This is a backward compatible flag, when scripting from post 6.5 server, this flag would be igored.
  387.                                                           // !!! When scripting out from 7.0: StoreProcedure, View and Trigger carry their own QI and AnsiNulls setting
  388.                                                           //     (based on the setting when the original object was created), and this flag does not affect them anymore.
  389.                                                           //     At the end of these object scripting, they set QI to the setting according to this flag,
  390.                                                           //     and AnsiNulls to ON (ODBC default).
  391. } SQLDMO_SCRIPT_TYPE;
  392.  
  393. typedef SQLDMO_HELPID(SQLDMO_SCRIPT2_TYPE) enum {
  394.         // Optional Script parameter.
  395.         SQLDMOScript2_Default          = 0x0000,   // Default
  396.          SQLDMOScript2_AnsiPadding      = 0x0001,   // Explicitly SET ANSI PADDING on or off before the create table
  397.         SQLDMOScript2_AnsiFile         = 0x0002,   // Generate ANSI output file
  398.         SQLDMOScript2_UnicodeFile      = 0x0004,   // Generate UNICODE output file
  399.         SQLDMOScript2_NonStop          = 0x0008,   // When error during script file generation, log error and continue.
  400.                                                    // This is a special case for Convert(scptxfr70.exe), not a general purpose flag
  401.                                                    // If client uses this flag to generate output files, they are running on their own risk
  402.                                                    // This flag affects script out (and only the part used by Convert), it does not affect transfer in.
  403.         SQLDMOScript2_NoFG             = 0x0010,   // Do not generate 'ON <filegroup>'. For Replication
  404.         SQLDMOScript2_MarkTriggers     = 0x0020,   // Mark system triggers. For Replication single table script only.
  405.         SQLDMOScript2_OnlyUserTriggers = 0x0040,   // Only script user triggers. For Replication single table script only.
  406.         SQLDMOScript2_EncryptPWD       = 0x0080,   // Script encrypted password for logins
  407.         SQLDMOScript2_SeparateXPs      = 0x0100,   // Script XP to a separate file (Convert)
  408.         SQLDMOScript2_NoWhatIfIndexes  = 0x0200,   // Do not script What-If indexes (default: script out)
  409.         // Following are SQLAgent related scripting flags
  410.         SQLDMOScript2_AgentNotify      = 0x0400,   // Script Notification for SQLAgent alert object
  411.         SQLDMOScript2_AgentAlertJob    = 0x0800,   // Include Job in Alert scripting
  412.         // Monarch full-text flag
  413.         SQLDMOScript2_FullTextIndex    = 0x80000,   // Include full-text index scripting (table only)
  414.         SQLDMOScript2_LoginSID         = 0x100000,  // Include the SID for standard SQLServer logins
  415.         SQLDMOScript2_FullTextCat      = 0x200000,  // Include full-text catelog scripting
  416. } SQLDMO_SCRIPT2_TYPE;
  417.  
  418. typedef SQLDMO_HELPID(SQLDMO_XFRSCRIPTMODE_TYPE) enum {
  419.         // How many files the XFR Script is to written to.
  420.         SQLDMOXfrFile_Default             = 0x0001,          // Default to summary files
  421.         SQLDMOXfrFile_SummaryFiles        = 0x0001,          // One files per class of objects transferred/dropped
  422.         SQLDMOXfrFile_SingleFile          = 0x0002,          // All scripts go to same file
  423.         SQLDMOXfrFile_SingleFilePerObject = 0x0004,          // One file per object
  424.         SQLDMOXfrFile_SingleSummaryFile   = 0x0008,          // One file with summary file format
  425. } SQLDMO_XFRSCRIPTMODE_TYPE;
  426.  
  427. typedef SQLDMO_HELPID(SQLDMO_DEPENDENCY_TYPE) enum {
  428.         SQLDMODep_Parents = 0,                                          // Default:  return all parents of input object
  429.         SQLDMODep_FullHierarchy = 0x10000,                      // Return full hierarchy; multiple rows of object and parents/children
  430.         SQLDMODep_OrderDescending = 0x20000,            // Order return in descending order
  431.         SQLDMODep_Children = 0x40000,                           // Return children of input object
  432.         SQLDMODep_ReturnInputObject = 0x80000,          // Include input object in the return set
  433.         SQLDMODep_FirstLevelOnly = 0x100000,            // Return only immediate parents/children
  434.         SQLDMODep_DRIOnly = 0x200000,                           // Return DRI dependencies only.
  435.         SQLDMODep_Valid = 0x3f0000                                      // All valid options.
  436. } SQLDMO_DEPENDENCY_TYPE;
  437.  
  438. typedef SQLDMO_HELPID(SQLDMO_OBJSORT_TYPE) enum {
  439.         SQLDMOObjSort_Name = 0,
  440.         SQLDMOObjSort_Type = 1,
  441.         SQLDMOObjSort_Owner = 2,
  442.         SQLDMOObjSort_Date = 3
  443. } SQLDMO_OBJSORT_TYPE;
  444.  
  445. typedef SQLDMO_HELPID(SQLDMO_SVCSTATUS_TYPE) enum {
  446.         SQLDMOSvc_Unknown = 0,
  447.         SQLDMOSvc_Running = 1,
  448.         SQLDMOSvc_Paused = 2,
  449.         SQLDMOSvc_Stopped = 3,
  450.         SQLDMOSvc_Starting = 4,
  451.         SQLDMOSvc_Stopping = 5,
  452.         SQLDMOSvc_Continuing = 6,
  453.         SQLDMOSvc_Pausing = 7
  454. } SQLDMO_SVCSTATUS_TYPE;
  455.  
  456. typedef SQLDMO_HELPID(SQLDMO_SRVOPTION_TYPE) enum {
  457.         SQLDMOSrvOpt_Unknown             = 0x0000,
  458.         SQLDMOSrvOpt_RPC                 = 0x0001,  // For both remote and linked server, through sp_serveroption
  459.         SQLDMOSrvOpt_Publisher           = 0x0002,
  460.         SQLDMOSrvOpt_Subscriber          = 0x0004,
  461.         SQLDMOSrvOpt_Distributor         = 0x0008,
  462.         SQLDMOSrvOpt_DistPublisher       = 0x0010,    // Separate from Publisher and Distributor; dpub bit set
  463. //        SQLDMOSrvOpt_ODBCDatasource = 0x0020,   // Server is an ODBC datasource
  464. //        SQLDMOSrvOpt_Valid = 0x0021,            // Only valid to set the RPC and ODBCDataSource options
  465.         // Following are new linked server options
  466.         SQLDMOSrvOpt_RPC_out             = 0x0040,  // Through sp_serveroption
  467.         SQLDMOSrvOpt_DataAccess          = 0x0080,  // Through sp_serveroption
  468.         SQLDMOSrvOpt_CollationCompatible = 0x0100,  // Through sp_serveroption
  469.         SQLDMOSrvOpt_NonTransacted       = 0x0200,  // Through registry
  470.         SQLDMOSrvOpt_InProcess           = 0x0400,  // Through registry
  471.         SQLDMOSrvOpt_IndexAsAccessPath   = 0x0800,  // Through registry
  472.         SQLDMOSrvOpt_LevelZeroOnly       = 0x1000,  // Through registry
  473.         SQLDMOSrvOpt_NestedQueries       = 0x2000,  // Through registry
  474.         SQLDMOSrvOpt_DynamicParameters   = 0x4000,  // Through registry
  475. } SQLDMO_SRVOPTION_TYPE;
  476.  
  477. typedef SQLDMO_HELPID(SQLDMO_TABLEATT_TYPE) enum {
  478.         // Values from sysobjects.category.
  479.         SQLDMOTabAtt_Identity =         0x0001,         // Table has an identity column
  480.         SQLDMOTabAtt_SystemObject =     0x0002,         // Table is a Microsoft system-required object
  481.         SQLDMOTabAtt_ForeignKey =       0x0004,         // Table has a foreign key
  482.         SQLDMOTabAtt_Referenced =       0x0008,         // Table is referenced by another table's foreign key
  483.         SQLDMOTabAtt_Published =        0x0020,         // Table is published
  484.         SQLDMOTabAtt_Replicated =       0x0040,         // Table has an active subscriber
  485.         SQLDMOTabAtt_Check =            0x0080,         // Table has a check constraint
  486.         SQLDMOTabAtt_Replica =          0x0100,         // Table is actively subscribed to a publisher
  487.         SQLDMOTabAtt_PrimaryKey =       0x0200,         // Table has a primary key
  488.         SQLDMOTabAtt_Unique =           0x0400,         // Table has a unique constraint
  489.         SQLDMOTabAtt_Default =          0x0800,         // Table has a DRI default
  490.         SQLDMOTabAtt_ReplCheck =        0x1000,         // Table has a check constraint that excludes replication
  491.         SQLDMOTabAtt_HasConstraint =0x1c84              // Table has at least one DRI constraint
  492. } SQLDMO_TABLEATT_TYPE;
  493.  
  494. typedef SQLDMO_HELPID(SQLDMO_INTSECLOGIN_TYPE) enum {
  495.         SQLDMOIntSecLogin_Unknown = 0,
  496.         SQLDMOIntSecLogin_Min = 1,
  497.         SQLDMOIntSecLogin_Admin = 1,
  498.         SQLDMOIntSecLogin_User = 2,
  499.         SQLDMOIntSecLogin_Replication = 3,
  500.         SQLDMOIntSecLogin_Max = 3
  501. } SQLDMO_INTSECLOGIN_TYPE;
  502.  
  503. typedef SQLDMO_HELPID(SQLDMO_VERIFYCONN_TYPE) enum {
  504.         SQLDMOConn_LastState = 0x0001,                  // State of conn at end of last operation.
  505.         SQLDMOConn_CurrentState = 0x0002,               // Actual current state (checks pipe, etc.)
  506.         SQLDMOConn_ReconnectIfDead = 0x0006,    // Reconnect if we've been disconnected (0x0004 | CurrentState)..
  507.         SQLDMOConn_Valid = 0x0007                               // All valid conn operations.
  508. } SQLDMO_VERIFYCONN_TYPE;
  509.  
  510. typedef SQLDMO_HELPID(SQLDMO_EXEC_TYPE) enum {
  511.         // For ExecuteImmediate, tells how to handle multi-batch commands.
  512.         SQLDMOExec_Default = 0x0000,                    // None of the following
  513.         SQLDMOExec_NoCommandTerm = 0x0001,              // No command-terminator parsing (i.e. don't check for "GO"; exec as single batch)
  514.         SQLDMOExec_ContinueOnError = 0x0002,    // Continue batch on all but broken-connection errors.
  515.         SQLDMOExec_NoExec = 0x0004,                             // SET NOEXEC ON/OFF
  516.         SQLDMOExec_ParseOnly = 0x0008,                   // SET PARSEONLY ON/OFF
  517.         SQLDMOExec_QI_ON = 0x0010               // SET QI ON before execution, special work around for Quoted Identifier, set QI OFF before return
  518. } SQLDMO_EXEC_TYPE;
  519.  
  520. typedef SQLDMO_HELPID(SQLDMO_CONFIGVALUE_TYPE) enum {
  521.         SQLDMOConfig_RecoveryInterval = 101,
  522.         SQLDMOConfig_AllowUpdates = 102,
  523.         SQLDMOConfig_UserConnections = 103,
  524.         SQLDMOConfig_Locks = 106,
  525.         SQLDMOConfig_OpenObjects = 107,
  526.         SQLDMOConfig_FillFactor = 109,
  527.         SQLDMOConfig_NestedTriggers = 115,
  528.         SQLDMOConfig_RemoteAccess = 117,
  529.         SQLDMOConfig_DefaultLanguage = 124,
  530.         SQLDMOConfig_LanguageInCache = 125,
  531.         SQLDMOConfig_MaxAsyncIO = 502,
  532.         SQLDMOConfig_MaxWorkerThreads = 503,
  533.         SQLDMOConfig_NetworkPacketSize = 505,
  534.         SQLDMOConfig_ShowAdvancedOption = 518,
  535.         SQLDMOConfig_RemoteProcTrans = 542,
  536.         SQLDMOConfig_RemoteConnTimeout = 543,
  537.         SQLDMOConfig_TimeSlice = 1110,
  538.         SQLDMOConfig_DefaultSortorderId = 1123,
  539.         SQLDMOConfig_SpinCounter = 1514,
  540.         SQLDMOConfig_PriorityBoost = 1517,
  541.         SQLDMOConfig_RemoteLoginTimeout = 1519,
  542.         SQLDMOConfig_RemoteQueryTimeout = 1520,
  543.         SQLDMOConfig_CursorThreshold = 1531,
  544.         SQLDMOConfig_SetWorkingSetSize = 1532,
  545.         SQLDMOConfig_ResourceTimeout = 1533,
  546.         SQLDMOConfig_UserOptions = 1534,
  547.         SQLDMOConfig_ProcessorAffinityMask = 1535,
  548.         SQLDMOConfig_MaxTextReplSize = 1536,
  549.         // New for 7.0
  550.         SQLDMOConfig_UnicodeLocalID = 1124,
  551.         SQLDMOConfig_UnicodeComparisonStyle = 1125,
  552.         SQLDMOConfig_LanguageNeutral = 1126,
  553.         SQLDMOConfig_TwoDigitYearCutoff = 1127,
  554.         SQLDMOConfig_IndexCreateMem = 1505,
  555.         SQLDMOConfig_MediaRetention = 1537,
  556.         SQLDMOConfig_CostThresholdForParallelism = 1538,
  557.         SQLDMOConfig_MaxDegreeOfParallelism = 1539,
  558.         SQLDMOConfig_MimMemoryPerQuery = 1540,
  559.         SQLDMOConfig_QueryWait = 1541,
  560.         SQLDMOConfig_VLMSize = 1542,
  561.         SQLDMOConfig_MinMemory = 1543,
  562.         SQLDMOConfig_MaxMemory = 1544,
  563.         SQLDMOConfig_QueryMaxTime = 1545,
  564.         SQLDMOConfig_LightweightPooling = 1546,
  565.  
  566. /** obsolete in 7.0
  567.         SQLDMOConfig_Memory = 104,
  568.         SQLDMOConfig_OpenDatabases = 105,
  569.         SQLDMOConfig_ProcedureCache = 108,
  570.         SQLDMOConfig_DatabaseSize = 111,
  571.         SQLDMOConfig_MediaRetention = 112,
  572.         SQLDMOConfig_RecoveryFlags = 113,
  573.         SQLDMOConfig_TempdbInRamMB = 501,
  574.         SQLDMOConfig_RAWorkerThreads = 508,
  575.         SQLDMOConfig_BackupThreads = 540,
  576.         SQLDMOConfig_BackupBufferSize = 541,
  577.         SQLDMOConfig_RemoteSites = 1119,
  578.         SQLDMOConfig_RASlotsPerThread = 1509,
  579.         SQLDMOConfig_RAPrefetches = 1510,
  580.         SQLDMOConfig_RADelay = 1511,
  581.         SQLDMOConfig_RACacheMissLimit = 1512,
  582.         SQLDMOConfig_RACacheHitLimit = 1513,
  583.         SQLDMOConfig_LogwriteSleepMS = 1530,
  584.         SQLDMOConfig_SortPages = 1505,
  585. **/
  586. } SQLDMO_CONFIGVALUE_TYPE;
  587.  
  588. typedef SQLDMO_HELPID(SQLDMO_SRVUSERPROFILE_TYPE) enum {
  589.         // Output from Server.GetUserProfile
  590.         SQLDMOSrvUserProf_None = 0x0000,
  591.         SQLDMOSrvUserProf_SaLogin = 0x0001,                                             // User is System Administrator
  592.         SQLDMOSrvUserProf_CreateDatabase = 0x0002,                              // User has privilege to do this
  593.         SQLDMOSrvUserProf_CreateXP = 0x0004,                                    // User can create Extended Stored Procedures
  594.  
  595.         SQLDMOSrvUserProf_AllProfileBits = 0x0007                               // All server profile bits
  596. } SQLDMO_SRVUSERPROFILE_TYPE;
  597.  
  598. typedef SQLDMO_HELPID(SQLDMO_DBUSERPROFILE_TYPE) enum {
  599.         // Output from Database.GetUserProfile
  600.         SQLDMODbUserProf_None = 0x0000,
  601.         SQLDMODbUserProf_DboLogin = 0x0001,                                             // User is Database Owner
  602.         SQLDMODbUserProf_CreateTable = 0x0002,                                  // User has these privileges
  603.         SQLDMODbUserProf_CreateView = 0x0004,
  604.         SQLDMODbUserProf_CreateProcedure = 0x0008,
  605.         SQLDMODbUserProf_DumpDatabase = 0x0010,
  606.         SQLDMODbUserProf_CreateDefault = 0x0020,
  607.         SQLDMODbUserProf_DumpTransaction = 0x0040,
  608.         SQLDMODbUserProf_CreateRule = 0x0080,
  609.         SQLDMODbUserProf_DumpTable = 0x0100,
  610.  
  611.         SQLDMODbUserProf_AllProfileBits = 0x01ff,                               // All DB-valid profile bits
  612.  
  613.         SQLDMODbUserProf_InvalidLogin = 0x40000000,                             // Current login not a valid user in this database.
  614.         SQLDMODbUserProf_InaccessibleDb = 0x80000000,                   // Database Loading | Recovering | Suspect | Offline
  615.         SQLDMODbUserProf_DbNotAvailable = 0xc0000000                    // All Database-not-accessible bits.
  616. } SQLDMO_DBUSERPROFILE_TYPE;
  617.  
  618. typedef SQLDMO_HELPID(SQLDMO_OS_TYPE) enum {
  619.         SQLDMO_WIN95 = 1,
  620.         SQLDMO_WINNT = 2
  621. } SQLDMO_OS_TYPE;
  622.  
  623. typedef SQLDMO_HELPID(SQLDMO_PACKAGE_TYPE) enum {
  624.         SQLDMO_Unknown    = 0,
  625.         SQLDMO_OFFICE     = 1,
  626.         SQLDMO_STANDARD   = 2,
  627.         SQLDMO_ENTERPRISE = 3,
  628.         SQLDMO_MSDE       = 4
  629. } SQLDMO_PACKAGE_TYPE;
  630.  
  631. // Constant values.
  632. typedef SQLDMO_HELPID(SQLDMO_CONSTANTS_TYPE) enum {
  633.         SQLDMO_NOENDDATE =                              99991231,       // For task dates/times
  634.         SQLDMO_NOENDTIME =                              235959,         // For task dates/times
  635.         SQLDMO_USEEXISTINGFILLFACTOR =  0                       // For Table.RebuildIndexes
  636. } SQLDMO_CONSTANTS_TYPE;
  637.  
  638. typedef SQLDMO_HELPID(SQLDMO_LOGIN_TYPE) enum {
  639.         SQLDMOLogin_NTUser   = 0,
  640.         SQLDMOLogin_NTGroup  = 1,
  641.         SQLDMOLogin_Standard = 2,
  642. } SQLDMO_LOGIN_TYPE;
  643.  
  644. typedef SQLDMO_HELPID(SQLDMO_ROLE_TYPE) enum {
  645.         SQLDMORole_Server    = 0x0001,
  646.         SQLDMORole_Database  = 0x0002,
  647.         SQLDMORole_All       = 0x0003,
  648. } SQLDMO_ROLE_TYPE;
  649.  
  650. typedef SQLDMO_HELPID(SQLDMO_GRANTED_TYPE) enum {
  651.         SQLDMOGranted_GrantGrant   = 204,
  652.         SQLDMOGranted_Grant        = 205,
  653.         SQLDMOGranted_Deny         = 206,
  654. } SQLDMO_GRANTED_TYPE;
  655.  
  656. typedef SQLDMO_HELPID(SQLDMO_BACKUP_LOG_TYPE) enum {
  657.         SQLDMOBackup_Log_Truncate        = 0,       // Default, truncate the log up to the beginning of the active portion of the log.
  658.         SQLDMOBackup_Log_NoTruncate      = 1,       // Back up the log without truncating it.
  659.         SQLDMOBackup_Log_NoLog           = 2,       // Removes the inactive part of the log without making a backup copy of it and truncates the log
  660.         SQLDMOBackup_Log_TruncateOnly    = 3,       // Truncates the log without making a backup copy if it
  661.         SQLDMOBackup_Log_NoOption        = 4,       // Generate "BACKUP LOG database_name", no optional parameter would be specified
  662. } SQLDMO_BACKUP_LOG_TYPE;
  663.  
  664. typedef SQLDMO_HELPID(SQLDMO_BACKUP_TYPE) enum {
  665.         SQLDMOBackup_Database      = 0,              // Default
  666.         SQLDMOBackup_Differential  = 1,
  667.         SQLDMOBackup_Files         = 2,
  668.         SQLDMOBackup_Log           = 3,
  669. } SQLDMO_BACKUP_TYPE;
  670.  
  671. typedef SQLDMO_HELPID(SQLDMO_RESTORE_TYPE) enum {
  672.         SQLDMORestore_Database     = 0,              // Default
  673.         SQLDMORestore_Files        = 1,
  674.         SQLDMORestore_Log          = 2,
  675. } SQLDMO_RESTORE_TYPE;
  676.  
  677. typedef SQLDMO_HELPID(SQLDMO_DBUSERROLE_TYPE) enum {
  678.         SQLDMORole_db_None              = 0x0000,         // Default
  679.         // Server Role
  680.         SQLDMORole_dbcreator            = 0x0001,
  681.         SQLDMORole_diskadmin            = 0x0002,
  682.         SQLDMORole_processadmin         = 0x0004,
  683.         SQLDMORole_securityadmin        = 0x0008,
  684.         SQLDMORole_serveradmin          = 0x0010,
  685.         SQLDMORole_setupadmin           = 0x0020,
  686.         SQLDMORole_sysadmin             = 0x0040,
  687.         // Database Role
  688.         SQLDMORole_db_accessadmin       = 0x0080,
  689.         SQLDMORole_db_datareader        = 0x0100,
  690.         SQLDMORole_db_ddladmin          = 0x0200,
  691.         SQLDMORole_db_denydatareader    = 0x0400,
  692.         SQLDMORole_db_denydatawriter    = 0x0800,
  693.         SQLDMORole_db_backupoperator    = 0x1000,
  694.         SQLDMORole_db_owner             = 0x2000,
  695.         SQLDMORole_db_securityadmin     = 0x4000,
  696.         SQLDMORole_db_datawriter        = 0x8000,
  697.  
  698.         SQLDMORole_Unknown              = 0xffffffff,         // Unknown
  699. } SQLDMO_DBUSERROLE_TYPE;
  700.  
  701. typedef SQLDMO_HELPID(SQLDMO_GROWTH_TYPE) enum {
  702.         SQLDMOGrowth_MB       = 0,      // Default for database file
  703.         SQLDMOGrowth_Percent  = 1,      // Default for log file
  704.         SQLDMOGrowth_Invalid  = 99,     // Invalid type, internal use
  705. } SQLDMO_GROWTH_TYPE;
  706.  
  707. typedef SQLDMO_HELPID(SQLDMO_STAT_SCAN_TYPE) enum {
  708.         SQLDMOStatistic_Sample         = 0,  // Defualt
  709.         SQLDMOStatistic_Percent        = 1,
  710.         SQLDMOStatistic_Rows           = 2,
  711.         SQLDMOStatistic_FullScan       = 3,
  712. } SQLDMO_STAT_SCAN_TYPE;
  713.  
  714. typedef SQLDMO_HELPID(SQLDMO_STAT_AFFECT_TYPE) enum {
  715.         SQLDMOStatistic_AffectIndex    = 0,    // Default
  716.         SQLDMOStatistic_AffectColumn   = 1,
  717.         SQLDMOStatistic_AffectAll      = 2,
  718. } SQLDMO_STAT_AFFECT_TYPE;
  719.  
  720. typedef SQLDMO_HELPID(SQLDMO_FULLTEXTSTATUS_TYPE) enum {
  721.         SQLDMOFullText_Idle            = 0,
  722.         SQLDMOFullText_CrawlinProgress = 1,
  723.         SQLDMOFullText_Paused          = 2,
  724.         SQLDMOFullText_Throttled       = 3,
  725.         SQLDMOFullText_Recovering      = 4,
  726.         SQLDMOFullText_Shutdown        = 5,
  727.         SQLDMOFullText_Incremental     = 6,
  728.         SQLDMOFullText_UpdatingIndex   = 7,
  729. } SQLDMO_FULLTEXTSTATUS_TYPE;
  730.  
  731. typedef SQLDMO_HELPID(SQLDMO_FULLTEXT_START_TYPE) enum {
  732.         SQLDMOFullText_Full            = 0,
  733.         SQLDMOFullText_Inc             = 1,
  734. } SQLDMO_FULLTEXT_START_TYPE;
  735.  
  736. typedef SQLDMO_HELPID(SQLDMO_LINKEDTABLE_TYPE) enum {
  737.         SQLDMOLinkedTable_Default          = 0,
  738.         SQLDMOLinkedTable_Alias            = 1,
  739.         SQLDMOLinkedTable_GlobalTemporary  = 2,
  740.         SQLDMOLinkedTable_LocalTemporary   = 3,
  741.         SQLDMOLinkedTable_SystemTable      = 4,
  742.         SQLDMOLinkedTable_Table            = 5,
  743.         SQLDMOLinkedTable_View             = 6,
  744. } SQLDMO_LINKEDTABLE_TYPE;
  745.  
  746. typedef SQLDMO_HELPID(SQLDMO_SQL_VER) enum {
  747.         SQLDMOSQLVer_Unknown          = 0x0000,
  748.         SQLDMOSQLVer_Pre_60           = 0x0001,
  749.         SQLDMOSQLVer_60               = 0x0002,
  750.         SQLDMOSQLVer_65               = 0x0004,
  751.         SQLDMOSQLVer_70               = 0x0008,
  752. } SQLDMO_SQL_VER;
  753.  
  754. typedef SQLDMO_HELPID(SQLDMO_DBCC_REPAIR_TYPE) enum {
  755.         SQLDMORepair_None           = 0,
  756.         SQLDMORepair_Fast           = 1,
  757.         SQLDMORepair_Rebuild        = 2,
  758.         SQLDMORepair_Allow_DataLoss = 3,
  759. } SQLDMO_DBCC_REPAIR_TYPE;
  760.  
  761. typedef SQLDMO_HELPID(SQLDMO_BCP_CODEPAGE_TYPE) enum {
  762.         SQLDMOBCP_RAW           = -1,        // Use server code page
  763.         SQLDMOBCP_ACP           = 0,         // MS Windows code page of the client
  764.         SQLDMOBCP_OEM           = 1,         // default, use OEM code page of the client
  765.         SQLDMOBCP_User          = 2,         // Caller provide code page
  766. } SQLDMO_BCP_CODEPAGE_TYPE;
  767.  
  768. typedef SQLDMO_HELPID(SQLDMO_SERVERBCP_DATAFILE_TYPE) enum {
  769.         // Available datafile type for server side BCP.
  770.         SQLDMOBCPDataFile_Char =        0x00000001,     // Using character character data type
  771.         SQLDMOBCPDataFile_Default =     0x00000001,     // Default == using character data type
  772.         SQLDMOBCPDataFile_Native =      0x00000002,     // Using native data type
  773.         SQLDMOBCPDataFile_WideChar =    0x00000004,     // Using unicode data type
  774.         SQLDMOBCPDataFile_WideNative =  0x00000008,     // Same as native, except char, varchar, and text are saved as unicode
  775. } SQLDMO_SERVERBCP_DATAFILE_TYPE;
  776.  
  777. typedef SQLDMO_HELPID(SQLDMO_COMP_LEVEL_TYPE) enum {
  778.         // Available compatibility level.
  779.         SQLDMOCompLevel_Unknown =  0,      // No idea what level
  780.         SQLDMOCompLevel_60      =  60,
  781.         SQLDMOCompLevel_65      =  65,
  782.         SQLDMOCompLevel_70      =  70,     // Default
  783. } SQLDMO_COMP_LEVEL_TYPE;
  784.  
  785. typedef SQLDMO_HELPID(SQLDMO_SHRINK_TYPE) enum {
  786.         SQLDMOShrink_Default        = 0,       // Default, reallocate data in pages and the files are truncated.
  787.         SQLDMOShrink_NoTruncate     = 1,       // Data in pages is reallocated and the files are not truncated.
  788.         SQLDMOShrink_TruncateOnly   = 2,       // Data in pages is not reallocated.  Files are truncated for any usused space free at the end of any file.
  789.         SQLDMOShrink_EmptyFile      = 3,       // DBFile and LogFile only.  Migrate all data from the specified file to other files in the same filegroup.
  790. } SQLDMO_SHRINK_TYPE;
  791.  
  792. typedef SQLDMO_HELPID(SQLDMO_NTACCESS_TYPE) enum {
  793.         SQLDMONTAccess_Unknown    = 0,     // This NT login is getting permission via a group.  Permission unknown
  794.         SQLDMONTAccess_Grant      = 1,     // This NT login has grant permission
  795.         SQLDMONTAccess_Deny       = 2,     // This NT login has deny permission
  796.         SQLDMONTAccess_NonNTLogin = 99,    // Not a NT login
  797. } SQLDMO_NTACCESS_TYPE;
  798.  
  799.  
  800.  
  801.  
  802.  
  803.  
  804.  
  805. typedef SQLDMO_HELPID(SQLDMO_SUBSCRIBER_TYPE) enum {
  806.     SQLDMOSubInfo_SQLServer =        0x00000000,    // Current version of MS SQLServer.
  807.     SQLDMOSubInfo_ODBCDatasource =    0x00000001,    // ODBC Datasource
  808.     SQLDMOSubInfo_JetDatabase =        0x00000002,    // JET_DATABASE
  809.     SQLDMOSubInfo_OLEDBDatasource =    0x00000003    // OLEDB Datasource
  810. } SQLDMO_SUBSCRIBER_TYPE;
  811.  
  812. typedef SQLDMO_HELPID(SQLDMO_INITIALSYNC_TYPE) enum {
  813.     SQLDMOInitSync_Unknown = 10,     // Pick your favourite invalid number
  814.     SQLDMOInitSync_Min = 0,
  815.     SQLDMOInitSync_Default = 0,
  816.     SQLDMOInitSync_BCPNative = 0,
  817.     SQLDMOInitSync_BCPChar = 1,
  818.     SQLDMOInitSync_Max = 1
  819. } SQLDMO_INITIALSYNC_TYPE;
  820.  
  821. typedef SQLDMO_HELPID(SQLDMO_REPFREQ_TYPE) enum {
  822.     SQLDMORepFreq_Unknown = 1000,        // Tinyint out-of-range
  823.     SQLDMORepFreq_Min = 0,
  824.     SQLDMORepFreq_Continuous = 0,
  825.     SQLDMORepFreq_Snapshot = 1,
  826.     SQLDMORepFreq_Max = 1
  827. } SQLDMO_REPFREQ_TYPE;
  828.  
  829. typedef SQLDMO_HELPID(SQLDMO_PUBLICATION_TYPE) enum {
  830.     SQLDMOPublication_Unknown         = 1000,        // Tinyint out-of-range
  831.     SQLDMOPublication_Min             = 0,
  832.     SQLDMOPublication_Transactional = 0,
  833.     SQLDMOPublication_Snapshot         = 1,
  834.     SQLDMOPublication_Merge         = 2,
  835.     SQLDMOPublication_Max             = 1
  836. } SQLDMO_PUBLICATION_TYPE;
  837.  
  838. typedef SQLDMO_HELPID(SQLDMO_ARTICLE_TYPE) enum {
  839.     SQLDMORep_Min                         = 0,
  840.     SQLDMORep_LogBased                     = 0x0001,    // Base for all LogBased replication types.
  841.     SQLDMORep_ManualFilterProc             = 0x0002,    // Bit for manually created (not auto-generated) filter proc
  842.     SQLDMORep_LogBasedManualFilterProc     = 0x0003,    // Log based, with manually created sync view.
  843.     SQLDMORep_ManualSyncView             = 0x0004,    // Bit for manually created (not auto-generated) filter proc.
  844.     SQLDMORep_LogBasedManualSyncView     = 0x0005,    // Log based, with manually created filter proc.
  845.     SQLDMORep_LogBasedVerticalPartition    = 0x0006,    // Log based, with vertical partition.
  846.     SQLDMORep_LogBasedManualBoth         = 0x0007,    // Log based, with manually created sync view and filter proc.
  847.     SQLDMORep_ProcExecution             = 0x0008,   // stored proc execution
  848.     SQLDMORep_SerializableProcExecution = 0x0018,      // stored proc exec, must be within serializable xact
  849.     SQLDMORep_TableBased                 = 0x000a,    // Table based article.
  850.     SQLDMORep_Max                         = 0x0018
  851. } SQLDMO_ARTICLE_TYPE;
  852.  
  853. typedef SQLDMO_HELPID(SQLDMO_SUBSYNC_TYPE) enum {
  854.     SQLDMOSubSync_Unknown = 1000,        // Tinyint out-of-range
  855.     SQLDMOSubSync_Manual     = 0,        // not used in 7.0, for upgrade, this will translate to SQLDMOSubSync_Auto
  856.     SQLDMOSubSync_Min         = 1,
  857.     SQLDMOSubSync_Auto         = 1,
  858.     SQLDMOSubSync_Default     = 1,        // Auto is default.
  859.     SQLDMOSubSync_None         = 2,
  860.     SQLDMOSubSync_Max         = 2
  861. } SQLDMO_SUBSYNC_TYPE;
  862.  
  863. typedef SQLDMO_HELPID(SQLDMO_PREARTICLE_TYPE) enum {
  864.     // Article pre-creation methods on destination table.
  865.     SQLDMOPreArt_Min = 0,
  866.     SQLDMOPreArt_None = 0,                // Do nothing
  867.     SQLDMOPreArt_DropTable = 1,            // Drop and re-create table
  868.     SQLDMOPreArt_DeleteRows = 2,        // Delete rows (logged)
  869.     SQLDMOPreArt_TruncateTable = 3,        // Truncate table (nonlogged)
  870.     SQLDMOPreArt_Max = 3
  871. } SQLDMO_PREARTICLE_TYPE;
  872.  
  873. typedef SQLDMO_HELPID(SQLDMO_ARTSTATUS_TYPE) enum {
  874.     SQLDMOArtStat_Min         = 0,
  875.     SQLDMOArtStat_Inactive     = 0,
  876.     SQLDMOArtStat_Unsynced     = 1,
  877.     SQLDMOArtStat_Active     = 2,
  878.     SQLDMOArtStat_Conflicts = 3,
  879.     SQLDMOArtStat_Errors     = 4,
  880.     SQLDMOArtStat_Max         = 4
  881. } SQLDMO_ARTSTATUS_TYPE;
  882.  
  883. typedef SQLDMO_HELPID(SQLDMO_SUBSTATUS_TYPE) enum {
  884.     SQLDMOSubStat_Unknown = 1000,        // Tinyint out-of-range
  885.     SQLDMOSubStat_Default = 1000,        // Use default
  886.     SQLDMOSubStat_Min = 0,
  887.     SQLDMOSubStat_Inactive = 0,
  888.     SQLDMOSubStat_Unsynced = 1,
  889.     SQLDMOSubStat_Active = 2,
  890.     SQLDMOSubStat_Max = 2
  891. } SQLDMO_SUBSTATUS_TYPE;
  892.  
  893. typedef SQLDMO_HELPID(SQLDMO_PUBSTATUS_TYPE) enum {
  894.     SQLDMOPubStat_Unknown = 1000,        // Tinyint out-of-range
  895.     SQLDMOPubStat_Default = 1000,        // Use default
  896.     SQLDMOPubStat_Min = 0,
  897.     SQLDMOPubStat_Inactive = 0,
  898.     SQLDMOPubStat_Active = 1,
  899.     SQLDMOPubStat_Max = 1
  900. } SQLDMO_PUBSTATUS_TYPE;
  901.  
  902. typedef SQLDMO_HELPID(SQLDMO_REPLICATION_TYPE) enum {
  903.     SQLDMORepType_Unknown             = 0x100,     // Tinyint out-of-range
  904.     SQLDMORepType_Transactional     = 0x0001,     // Trans replication
  905.     SQLDMORepType_Merge             = 0x0002,     // Merge replication
  906.     SQLDMORepType_TransactionalMerge= 0x0003,     // Both forms of replication
  907.     SQLDMORepType_Default             = 0x0001
  908. } SQLDMO_REPLICATION_TYPE;
  909.  
  910. typedef SQLDMO_HELPID(SQLDMO_RESOLVECONFLICT_TYPE) enum {
  911.     SQLDMOResolveConflict_Unknown = 0x100,         // Tinyint out-of-range
  912.     SQLDMOResolveConflict_Resubmit = 0x0001,     // Resubmit conflict table row
  913.     SQLDMOResolveConflict_Discard = 0x0002,     // Discard conflict table row
  914.     SQLDMOResolveConflict_Default = 0x0001
  915. } SQLDMO_RESOLVECONFLICT_TYPE;
  916.  
  917. typedef SQLDMO_HELPID(SQLDMO_TRANSUBSCRIBER_TYPE) enum {
  918.     SQLDMOTranSubscriber_Unknown         = 0x100,    // Tinyint out-of-range
  919.     SQLDMOTranSubscriber_Min             = 0,
  920.     SQLDMOTranSubscriber_ReadOnly         = 0,         // Trans readonly subscriber (default)
  921.     SQLDMOTranSubscriber_Synchronous    = 1,        // Trans synchronous subscriber
  922.     SQLDMOTranSubscriber_Default         = 0,
  923.     SQLDMOTranSubscriber_Max             = 1
  924. } SQLDMO_TRANSUBSCRIBER_TYPE;
  925.  
  926. typedef SQLDMO_HELPID(SQLDMO_MERGESUBSCRIBER_TYPE) enum {
  927.     SQLDMOMergeSubscriber_Unknown         = 0x100,    // Tinyint out-of-range
  928.     SQLDMOMergeSubscriber_Min             = 1,
  929.     SQLDMOMergeSubscriber_Global         = 1,        // Global Merge subscriber
  930.     SQLDMOMergeSubscriber_Local         = 2,         // Local Merge subscriber (default)
  931.     SQLDMOMergeSubscriber_Anonymous     = 3,        // Anonymous Merge subscriber
  932.     SQLDMOMergeSubscriber_Republishing     = 4,        // Republishing Merge subscriber
  933.     SQLDMOMergeSubscriber_Default         = 2,
  934.     SQLDMOMergeSubscriber_Max             = 4
  935. } SQLDMO_MERGESUBSCRIBER_TYPE;
  936.  
  937. typedef SQLDMO_HELPID(SQLDMO_REPSCRIPT_TYPE) enum {
  938.     SQLDMORepScript_Default             = 0x00000100,    // Default script options
  939.     SQLDMORepScript_NoSubscription        = 0x00000080,    // Script publication's creation without subscription
  940.     SQLDMORepScript_InstallDistributor     = 0x00000100,    // Script install of distributor
  941.     SQLDMORepScript_UninstallDistributor= 0x00000200,    // Script uninstall of distributor
  942.     SQLDMORepScript_InstallPublisher     = 0x00000400,    // Script install of publisher
  943.     SQLDMORepScript_UninstallPublisher  = 0x00000800,    // Script uninstall of publisher
  944.     SQLDMORepScript_ToFileOnly             = 0x00001000,    // If not set, a string is returned (if file nonnull, both are done)
  945.     SQLDMORepScript_AppendToFile         = 0x00002000,    // Append to output file if it already exists.
  946.     SQLDMORepScript_Creation            = 0x00004000,    // Script the object's creation
  947.     SQLDMORepScript_Deletion            = 0x00008000,    // Script the object's deletion
  948.     SQLDMORepScript_PublicationCreation    = 0x00010000,    // Script the object's creation
  949.     SQLDMORepScript_PublicationDeletion    = 0x00020000,    // Script the object's deletion
  950.     SQLDMORepScript_SubscriptionCreation= 0x00040000,    // Script the object's creation
  951.     SQLDMORepScript_SubscriptionDeletion= 0x00080000,    // Script the object's deletion
  952.     SQLDMORepScript_InstallReplication     = 0x00100000,    // Script install of replication
  953.     SQLDMORepScript_UninstallReplication= 0x00200000,    // Script uninstall of replication
  954.     /* Output control options */
  955.     SQLDMORepScript_AnsiFile             = 0x01000000,     // Generate ANSI output file
  956.     SQLDMORepScript_UnicodeFile         = 0x02000000,     // Generate UNICODE output file
  957.     SQLDMORepScript_EnableReplicationDB    = 0x04000000,    // Script enabling of replication database
  958.     SQLDMORepScript_DisableReplicationDB= 0x08000000,    // Script disabling of replication database
  959.     SQLDMORepScript_NoCommandTerm        = 0x10000000    // Do not add command terminator 
  960. } SQLDMO_REPSCRIPT_TYPE;
  961.  
  962. typedef SQLDMO_HELPID(SQLDMO_CREATIONSCRIPT_TYPE) enum {
  963.     SQLDMOCreationScript_DisableScripting     = 0x00000000,    // Disable the scripting of the object
  964.     SQLDMOCreationScript_PrimaryObject         = 0x00000001,   // Include object creation
  965.     SQLDMOCreationScript_CustomProcs        = 0x00000002,   // Generates custom stored procedures for the article if defined, trans only
  966.     SQLDMOCreationScript_ClusteredIndexes     = 0x00000010,    // Include clustered index creation (table only)
  967.     SQLDMOCreationScript_UDDTsToBaseTypes    = 0x00000020,    // Convert UserDefinedDatatypes to base type when creating columns (table only)
  968.     SQLDMOCreationScript_NonClusteredIndexes = 0x00000040,    // Include nonclustered index creation (table only)
  969.     SQLDMOCreationScript_DRI_PrimaryKey     = 0x00000080     // Include DRI on Primary keys
  970. } SQLDMO_CREATIONSCRIPT_TYPE;
  971.  
  972. typedef SQLDMO_HELPID(SQLDMO_COMMANDOPTION_TYPE) enum {
  973.     SQLDMOCommandOption_IncludeInsertColumnNames    = 0x00000008,   // Include column names in destination-table INSERT statements
  974.     SQLDMOCommandOption_BinaryParameters            = 0x00000010    // Send the stored procedure parameters in binary format.
  975. } SQLDMO_COMMANDOPTION_TYPE;
  976.  
  977. typedef SQLDMO_HELPID(SQLDMO_SUBSCRIPTION_TYPE) enum {
  978.     SQLDMOSubscription_Unknown = 0x100,        // Tinyint out-of-range
  979.     SQLDMOSubscription_Min = 0,
  980.     SQLDMOSubscription_Push = 0x0000,         // Push subscription
  981.     SQLDMOSubscription_Pull = 0x0001,        // Pull subscription
  982.     SQLDMOSubscription_Anonymous = 0x0002,    // Anonymous subscription
  983.     SQLDMOSubscription_All = 0x0003,         // All subscriptions
  984.     SQLDMOSubscription_Default = 0x0000,
  985.     SQLDMOSubscription_Max = 2
  986. } SQLDMO_SUBSCRIPTION_TYPE;
  987.  
  988. typedef SQLDMO_HELPID(SQLDMO_PUBATTRIB_TYPE) enum {
  989.     SQLDMOPubAttrib_Unknown         = 0x100,    // Tinyint out-of-range
  990.     SQLDMOPubAttrib_Min             = 0,
  991.     SQLDMOPubAttrib_AllowPush         = 0x0001,     // Allow Push
  992.     SQLDMOPubAttrib_AllowPull         = 0x0002,    // Allow Pull
  993.     SQLDMOPubAttrib_AllowAnonymous     = 0x0004,    // Anonymous PubAttrib
  994.     SQLDMOPubAttrib_InternetEnabled = 0x0008,    // Internet enabled
  995.     SQLDMOPubAttrib_ImmediateSync     = 0x0010,    // Immediate Sync
  996.     SQLDMOPubAttrib_IndependentAgent= 0x0020,    // Independent agent
  997.     SQLDMOPubAttrib_Default         = 0x0001,
  998.     SQLDMOPubAttrib_Valid             = 0x003f
  999. } SQLDMO_PUBATTRIB_TYPE;
  1000.  
  1001. typedef SQLDMO_HELPID(SQLDMO_TASKSTATUS_TYPE) enum {
  1002.     SQLDMOTask_Pending         = 0,
  1003.     SQLDMOTask_Starting     = 1,
  1004.     SQLDMOTask_Succeeded     = 2,
  1005.     SQLDMOTask_Running         = 3,
  1006.     SQLDMOTask_Idle         = 4,
  1007.     SQLDMOTask_Retry         = 5,
  1008.     SQLDMOTask_Failed         = 6
  1009. } SQLDMO_TASKSTATUS_TYPE;
  1010.  
  1011. typedef SQLDMO_HELPID(SQLDMO_SESSION_TYPE) enum {
  1012.     SQLDMOSession_Unknown     = 0x100,     // Tinyint out-of-range
  1013.     SQLDMOSession_All        = 0x0001,    
  1014.     SQLDMOSession_Errors    = 0x0002    
  1015. } SQLDMO_SESSION_TYPE;
  1016.  
  1017.  
  1018. typedef SQLDMO_HELPID(SQLDMO_REPLAGENT_TYPE) enum {
  1019.     SQLDMOReplAgent_Default            = 0,     
  1020.     SQLDMOReplAgent_Publishers        = -1,     
  1021.     SQLDMOReplAgent_All                = 0,     
  1022.     SQLDMOReplAgent_Snapshot        = 1,     
  1023.     SQLDMOReplAgent_LogReader        = 2,     
  1024.     SQLDMOReplAgent_Distribution    = 3,     
  1025.     SQLDMOReplAgent_Merge            = 4,     
  1026.     SQLDMOReplAgent_Miscellaneous    = 5     
  1027. } SQLDMO_REPLAGENT_TYPE;
  1028.  
  1029. typedef SQLDMO_HELPID(SQLDMO_REPLSECURITY_TYPE) enum {
  1030.     SQLDMOReplSecurity_Min = 0,
  1031.     SQLDMOReplSecurity_Normal = 0,
  1032.     SQLDMOReplSecurity_Integrated = 1,
  1033.     SQLDMOReplSecurity_PredefinedServer = 2,
  1034.     SQLDMOReplSecurity_Max = 2
  1035. } SQLDMO_REPLSECURITY_TYPE;
  1036.  
  1037. // Constant values.
  1038. typedef SQLDMO_HELPID(SQLDMO_REPLCONSTANTS_TYPE) enum {
  1039.         SQLDMO_DEFAULTRETENTION = 60    // Default retention period
  1040. } SQLDMO_REPLCONSTANTS_TYPE;
  1041.  
  1042.  
  1043.  
  1044.  
  1045.  
  1046.  
  1047.  
  1048.  
  1049.  
  1050.  
  1051.  
  1052. // May be bitmasked.
  1053. typedef SQLDMO_HELPID(SQLDMO_COMPLETION_TYPE) enum {
  1054.         SQLDMOComp_Unknown = 0x1000,            // Only bit set
  1055.         SQLDMOComp_None = 0x0000,
  1056.         SQLDMOComp_Success = 0x0001,
  1057.         SQLDMOComp_Failure = 0x0002,
  1058.         SQLDMOComp_Always = 0x0003,
  1059.         SQLDMOComp_All = 0x0006
  1060. } SQLDMO_COMPLETION_TYPE;
  1061.  
  1062. typedef SQLDMO_HELPID(SQLDMO_JOBOUTCOME_TYPE) enum {
  1063.         SQLDMOJobOutcome_Failed = 0x0,
  1064.         SQLDMOJobOutcome_Succeeded = 0x1,
  1065.         // NOTE: 0x2 is deliberately ommitted
  1066.         SQLDMOJobOutcome_Cancelled = 0x3,
  1067.         SQLDMOJobOutcome_InProgress = 0x4,
  1068.         SQLDMOJobOutcome_Unknown = 0x5
  1069. } SQLDMO_JOBOUTCOME_TYPE;
  1070.  
  1071. typedef SQLDMO_HELPID(SQLDMO_EVENT_TYPE) enum {
  1072.         SQLDMOEvent_Unknown = 0x0000,
  1073.         SQLDMOEvent_Info = 0x0001,
  1074.         SQLDMOEvent_Warning = 0x0002,
  1075.         SQLDMOEvent_Error = 0x0004,
  1076.         SQLDMOEvent_AuditSuccess = 0x0008,
  1077.         SQLDMOEvent_AuditFailure = 0x0010,
  1078.         SQLDMOEvent_All = 0x001f
  1079. } SQLDMO_EVENT_TYPE;
  1080.  
  1081. typedef SQLDMO_HELPID(SQLDMO_FREQUENCY_TYPE) enum {                    // SQLDMO Internal:  sync with qsched.h
  1082.         SQLDMOFreq_Unknown = 0x0000,
  1083.         SQLDMOFreq_OneTime = 0x0001,
  1084. //        SQLDMOFreq_OnDemand = 0x0002,                 // Obsolete in 7.0
  1085.         SQLDMOFreq_Daily = 0x0004,
  1086.         SQLDMOFreq_Weekly = 0x0008,
  1087.         SQLDMOFreq_Monthly = 0x0010,
  1088.         SQLDMOFreq_MonthlyRelative = 0x0020,
  1089.         SQLDMOFreq_Autostart = 0x0040,
  1090.         SQLDMOFreq_OnIdle = 0x0080,
  1091.         SQLDMOFreq_Valid = 0x00ff                       // All valid frequency types
  1092. } SQLDMO_FREQUENCY_TYPE;
  1093.  
  1094. typedef SQLDMO_HELPID(SQLDMO_FREQSUB_TYPE) enum {                      // SQLDMO Internal:  sync with qsched.h
  1095.         SQLDMOFreqSub_Unknown = 0x0000,
  1096.         SQLDMOFreqSub_Once = 0x0001,
  1097.         SQLDMOFreqSub_Minute = 0x0004,
  1098.         SQLDMOFreqSub_Hour = 0x0008,
  1099.         SQLDMOFreqSub_Valid = 0x000d                    // All valid frequency subtypes
  1100. } SQLDMO_FREQSUB_TYPE;
  1101.  
  1102. typedef SQLDMO_HELPID(SQLDMO_FREQRELATIVE_TYPE) enum {                 // SQLDMO Internal:  sync with qsched.h
  1103.         SQLDMOFreqRel_Unknown = 0x0000,
  1104.         SQLDMOFreqRel_First = 0x0001,
  1105.         SQLDMOFreqRel_Second = 0x0002,
  1106.         SQLDMOFreqRel_Third = 0x0004,
  1107.         SQLDMOFreqRel_Fourth = 0x0008,
  1108.         SQLDMOFreqRel_Last = 0x0010,
  1109.         SQLDMOFreqRel_Valid = 0x001f                    // All valid Relative frequencies.
  1110. } SQLDMO_FREQRELATIVE_TYPE;
  1111.  
  1112. typedef SQLDMO_HELPID(SQLDMO_WEEKDAY_TYPE) enum {                      // SQLDMO Internal:  sync with qsched.h
  1113.         // Specify for SQLDMOFreq_Weekly; bitmask
  1114.         SQLDMOWeek_Unknown = 0x0000,
  1115.         SQLDMOWeek_Sunday = 0x0001,
  1116.         SQLDMOWeek_Monday = 0x0002,
  1117.         SQLDMOWeek_Tuesday = 0x0004,
  1118.         SQLDMOWeek_Wednesday = 0x0008,
  1119.         SQLDMOWeek_Thursday = 0x0010,
  1120.         SQLDMOWeek_Friday = 0x0020,
  1121.         SQLDMOWeek_Saturday = 0x0040,
  1122.         SQLDMOWeek_WeekDays = 0x003e,                  // Monday - Friday
  1123.         SQLDMOWeek_WeekEnds = 0x0041,                  // Saturday - Sunday
  1124.         SQLDMOWeek_EveryDay = 0x007f
  1125. } SQLDMO_WEEKDAY_TYPE;
  1126.  
  1127. typedef SQLDMO_HELPID(SQLDMO_MONTHDAY_TYPE) enum {                     // SQLDMO Internal:  sync with qsched.h
  1128.         // Specify for SQLDMOFreq_MonthlyRelative; single-value.
  1129.         // This is the relative interval SQLDMO_FREQRELATIVE_TYPE;
  1130.         // e.g., on the xth Monday of the month.
  1131.         SQLDMOMonth_Unknown = 0,
  1132.         SQLDMOMonth_MinValid = 1,
  1133.         SQLDMOMonth_Sunday = 1,
  1134.         SQLDMOMonth_Monday = 2,
  1135.         SQLDMOMonth_Tuesday = 3,
  1136.         SQLDMOMonth_Wednesday = 4,
  1137.         SQLDMOMonth_Thursday = 5,
  1138.         SQLDMOMonth_Friday = 6,
  1139.         SQLDMOMonth_Saturday = 7,
  1140.         SQLDMOMonth_Day = 8,                          // xth day
  1141.         SQLDMOMonth_WeekDay = 9,                      // xth weekday
  1142.         SQLDMOMonth_WeekEndDay = 10,                  // xth weekendday
  1143.         SQLDMOMonth_MaxValid = 10
  1144. } SQLDMO_MONTHDAY_TYPE;
  1145.  
  1146. typedef SQLDMO_HELPID(SQLDMO_RUNPRIORITY_TYPE) enum {
  1147.         // These must match the NT ThreadPriority values.
  1148.         SQLDMORunPri_Unknown = 100,                   // Invalid ThreadPriority
  1149.         SQLDMORunPri_Min = 1,
  1150.         SQLDMORunPri_Idle = -15,
  1151.         SQLDMORunPri_Lowest = -2,
  1152.         SQLDMORunPri_BelowNormal = -1,
  1153.         SQLDMORunPri_Normal = 0,
  1154.         SQLDMORunPri_AboveNormal = 1,
  1155.         SQLDMORunPri_Highest = 2,
  1156.         SQLDMORunPri_TimeCritical = 15,
  1157. } SQLDMO_RUNPRIORITY_TYPE;
  1158.  
  1159. typedef SQLDMO_HELPID(SQLDMO_NOTIFY_TYPE) enum {
  1160.         SQLDMONotify_None    = 0x0000,
  1161.         SQLDMONotify_Email   = 0x0001,
  1162.         SQLDMONotify_Pager   = 0x0002,
  1163.         SQLDMONotify_NetSend = 0x0004,
  1164.         SQLDMONotify_All     = 0x0007
  1165. } SQLDMO_NOTIFY_TYPE;
  1166.  
  1167. typedef SQLDMO_HELPID(SQLDMO_ENUMNOTIFY_TYPE) enum {
  1168.         SQLDMOEnumNotify_Min = 1,
  1169.         SQLDMOEnumNotify_All = 1,                     // All operators/alerts
  1170.         SQLDMOEnumNotify_Actual = 2,                  // Only operators/alerts receiving notifications for this alert/operator
  1171.         SQLDMOEnumNotify_Target = 3,                  // Specifically named target alert/operator(s)
  1172.         SQLDMOEnumNotify_Max = 3
  1173. } SQLDMO_ENUMNOTIFY_TYPE;
  1174.  
  1175. typedef SQLDMO_HELPID(SQLDMO_JOBEXECUTION_STATUS) enum {
  1176.         SQLDMOJobExecution_Unknown                = 0,
  1177.         SQLDMOJobExecution_Executing              = 1,
  1178.         SQLDMOJobExecution_WaitingForWorkerThread = 2,
  1179.         SQLDMOJobExecution_BetweenRetries         = 3,
  1180.         SQLDMOJobExecution_Idle                   = 4,
  1181.         SQLDMOJobExecution_Suspended              = 5,
  1182.         SQLDMOJobExecution_WaitingForStepToFinish = 6,
  1183.         SQLDMOJobExecution_PerformingCompletionActions = 7
  1184. } SQLDMO_JOBEXECUTION_STATUS;
  1185.  
  1186. typedef SQLDMO_HELPID(SQLDMO_FIND_OPERAND) enum {
  1187.         SQLDMOFindOperand_Unknown                 = 0,
  1188.         SQLDMOFindOperand_EqualTo                 = 1,
  1189.         SQLDMOFindOperand_GreaterThan             = 2,
  1190.         SQLDMOFindOperand_LessThan                = 3,
  1191. } SQLDMO_FIND_OPERAND;
  1192.  
  1193. typedef SQLDMO_HELPID(SQLDMO_JOBSTEPACTION_TYPE) enum {
  1194.         SQLDMOJobStepAction_Unknown               = 0,
  1195.         SQLDMOJobStepAction_QuitWithSuccess       = 1,
  1196.         SQLDMOJobStepAction_QuitWithFailure       = 2,
  1197.         SQLDMOJobStepAction_GotoNextStep          = 3,
  1198.         SQLDMOJobStepAction_GotoStep              = 4
  1199. } SQLDMO_JOBSTEPACTION_TYPE;
  1200.  
  1201. typedef SQLDMO_HELPID(SQLDMO_CATEGORYTYPE_TYPE) enum {
  1202.         SQLDMOCategoryType_Unknown               = 0,
  1203.         SQLDMOCategoryType_LocalJob              = 1,
  1204.         SQLDMOCategoryType_MultiServerJob        = 2,
  1205.         SQLDMOCategoryType_None                  = 3
  1206. } SQLDMO_CATEGORYTYPE_TYPE;
  1207.  
  1208. typedef SQLDMO_HELPID(SQLDMO_TARGETSERVERSTATUS_TYPE) enum {
  1209.         SQLDMOTargetServerStatus_Unknown           = 0x00,
  1210.         SQLDMOTargetServerStatus_Normal            = 0x01,
  1211.         SQLDMOTargetServerStatus_SuspectedOffline  = 0x02,
  1212.         SQLDMOTargetServerStatus_Blocked           = 0x04,
  1213. } SQLDMO_TARGETSERVERSTATUS_TYPE;
  1214.  
  1215. typedef SQLDMO_HELPID(SQLDMO_JOB_TYPE) enum {
  1216.         SQLDMOJob_Unknown               = 0,
  1217.         SQLDMOJob_Local                 = 1,
  1218.         SQLDMOJob_MultiServer           = 2
  1219. } SQLDMO_JOB_TYPE;
  1220.  
  1221. typedef SQLDMO_HELPID(SQLDMO_JOBSERVER_TYPE) enum {
  1222.         SQLDMOJobServer_StandAlone = 1,
  1223.           SQLDMOJobServer_TSX        = 2,
  1224.           SQLDMOJobServer_MSX        = 3,
  1225.           SQLDMOJobServer_Unknown    = 0
  1226. } SQLDMO_JOBSERVER_TYPE;
  1227.  
  1228. typedef SQLDMO_HELPID(SQLDMO_ALERT_TYPE) enum {
  1229.         SQLDMOAlert_SQLServerEvent                 = 0x1,
  1230.           SQLDMOAlert_SQLServerPerformanceCondition  = 0x2,
  1231.           SQLDMOAlert_NonSQLServerEvent              = 0x3
  1232. } SQLDMO_ALERT_TYPE;
  1233.  
  1234.  
  1235.  
  1236.  
  1237.  
  1238.  
  1239.  
  1240.  
  1241. // SQLDMO Error enumeration.
  1242.  
  1243. typedef SQLDMO_HELPID(SQLDMO_ERROR_TYPE) enum {
  1244.         // Error values.  (MS-Internal:  See usa.rc for the string representation of these (OSQL_S_*)).
  1245.         // DBLib uses 10000 (0x2710) to 10200 (0x27D8).
  1246.         SQLDMO_E_DBLIBFIRSTERROR = 0x2710,
  1247.         SQLDMO_E_DBLIBLASTERROR = 0x27D8,
  1248.  
  1249.         // SQL Server itself sends errors back which may be up to 20000 (0x4E20).
  1250.         // SQLDMO-detected errors are in the range SQLDMO_E_FIRSTERROR to SQLDMO_E_LASTERROR.
  1251.         // Each SQLDMO_ECAT (Error CATegory) summarizes its specific errorcodes.
  1252.         SQLDMO_E_FIRSTERROR = 0x5000,
  1253.  
  1254. // All error categories masked off by this.
  1255. SQLDMO_ECAT_MASK = 0x5F00,
  1256.  
  1257. // Errors indicating an operation that is valid but not in the given context.
  1258. SQLDMO_ECAT_INVALIDCONTEXT = 0x5000,
  1259.         SQLDMO_E_ALREADYCONN = 0x5000,
  1260.         SQLDMO_E_ALREADYCOLL = 0x5001,
  1261.         SQLDMO_E_NOTCONN = 0x5002,
  1262.         SQLDMO_E_CANTDROPSERVER = 0x5003,
  1263.         SQLDMO_E_NOCOMPLEXALTER = 0x5004,
  1264.         SQLDMO_E_PROPNEEDSCREATE = 0x5005,
  1265.         SQLDMO_E_COLTYPEFIXED = 0x5006,
  1266.         SQLDMO_E_COLTYPENONNULL = 0x5007,
  1267.         SQLDMO_E_CANTCHANGEUDDT = 0x5008,
  1268.         SQLDMO_E_BASETYPEFIXED = 0x5009,
  1269.         SQLDMO_E_BASETYPENONNULL = 0x500A,
  1270.         SQLDMO_E_ENUMORDINAL = 0x500B,
  1271.         SQLDMO_E_CANTRENAMEUSER = 0x500C,
  1272.         SQLDMO_E_CANTRENAMEGROUP = 0x500D,
  1273.         SQLDMO_E_CANTRENAMELOGIN = 0x500E,
  1274.         SQLDMO_E_CANTRENAMEDEVICE = 0x500F,
  1275.         SQLDMO_E_NOTDUMPPROP = 0x5010,
  1276.         SQLDMO_E_NOSERVERASSOC = 0x5011,
  1277.         SQLDMO_E_NOTCOLLTYPE = 0x5012,
  1278.         SQLDMO_E_CANTMODIFYDRIINDEX = 0x5013,
  1279.         SQLDMO_E_CANTCHANGEPROCTYPE = 0x5014,
  1280.         SQLDMO_E_CANTMODIFYINDEX = 0x5015,
  1281.         SQLDMO_E_INVALIDPRIVOBJ = 0x5016,
  1282.         SQLDMO_E_CANTCHANGETRIGTYPE = 0x5017,
  1283.         SQLDMO_E_NOVIEWCOLALTER = 0x5018,
  1284.         SQLDMO_E_CANTRENAMELANGUAGE = 0x5019,
  1285.         SQLDMO_E_CANTRENAMERSERVER = 0x501A,
  1286.         SQLDMO_E_CANTRENAMERLOGIN = 0x501B,
  1287.         SQLDMO_E_MUSTBEDBDEV = 0x501C,
  1288.         SQLDMO_E_NOINACTIVEMIRROR = 0x501D,
  1289.         SQLDMO_E_NOACTIVEMIRROR = 0x501E,
  1290.         SQLDMO_E_NOMIRROR = 0x501F,
  1291.         SQLDMO_E_SERVERDISCONNECTED = 0x5020,
  1292.         SQLDMO_E_CANTRENAMESERVER = 0x5021,
  1293.         SQLDMO_E_CANTMODIFYTEXT = 0x5022,
  1294.         SQLDMO_E_CANTMODIFYSYSTABLE = 0x5023,
  1295.         SQLDMO_E_LOGINALREADYALIASED = 0x5024,
  1296.         SQLDMO_E_LOGINALREADYUSER = 0x5025,
  1297.         SQLDMO_E_CACHENORESULTS = 0x5026,
  1298.         SQLDMO_E_ALREADYCREATED = 0x5027,
  1299.         SQLDMO_E_NOTDISCONN = 0x5028,
  1300.         SQLDMO_E_CANTMODIFYARTTABLE = 0x5029,
  1301.         SQLDMO_E_PROPERTYCANNOTBEMODIFIED = 0x502A,
  1302.         SQLDMO_E_BASETYPENOTNUMERIC = 0x502B,
  1303.         SQLDMO_E_TOFILEBUTNOFILENAME = 0x502C,
  1304.         SQLDMO_E_CANTMODIFYKEY = 0x502E,
  1305.         SQLDMO_E_LISTCANTREFRESH = 0x502F,
  1306.         SQLDMO_E_NOCOLTABLE = 0x5030,
  1307.         SQLDMO_E_MUSTBEINALTER = 0x5031,
  1308.         SQLDMO_E_CANTUNDEDICATELOGDEVICE = 0x5032,
  1309.         SQLDMO_E_CANTRENAMESERVERGROUP = 0x5033,
  1310.         SQLDMO_E_CANTRENAMEREGISTEREDSERVER = 0x5034,
  1311.         SQLDMO_E_INDEXREBUILDKEYTYPE = 0x5035,
  1312.         SQLDMO_E_REBUILDINDEXOPTIONS = 0x5036,
  1313.         SQLDMO_E_IMPERSONATEXPONLY = 0x5037,
  1314.         SQLDMO_E_CANTRENAMEPUBLICATION = 0x5038,
  1315.         SQLDMO_E_CANTMODIFYSPARTTYPE = 0x5039,
  1316.         SQLDMO_E_INVALIDDISTDB = 0x503a,
  1317.         SQLDMO_E_CANTMODIFYTABLE = 0x503B,
  1318.         SQLDMO_E_CANTDROPFILEGROUP = 0x503C,
  1319.         SQLDMO_E_DEFAULTFILEGROUP = 0x503D,
  1320.         SQLDMO_E_NOTDEFAULTFILEGROUP = 0x503E,
  1321.         SQLDMO_E_CANTRESETLOGINTYPE = 0x503F,
  1322.         SQLDMO_E_CANTRESETPASSWORD = 0x5040,
  1323.         SQLDMO_E_PRESQL70          = 0x5041,
  1324.         SQLDMO_E_PROPBEFORECREATE  = 0x5042,
  1325.         SQLDMO_E_CANTRENAMEROLE = 0x5043,
  1326.         SQLDMO_E_CANTDROPFIXEDROLE = 0x5044,
  1327.         SQLDMO_E_CANTADDTOAPPROLE = 0x5045,
  1328.         SQLDMO_E_CANTGETROLE = 0x5046,
  1329.         SQLDMO_E_USERDBROLE = 0x5047,
  1330.         SQLDMO_E_FIXEDDBROLE = 0x5048,
  1331.         SQLDMO_E_CANTMODIFYFILTER = 0x5049,
  1332.         SQLDMO_E_INVALIDACTION = 0x504a,
  1333.         SQLDMO_E_DBOPTION = 0x504b,
  1334.         SQLDMO_E_USEALTER = 0x504c,
  1335.         SQLDMO_E_CREATEDBPERM = 0x504d,
  1336.         SQLDMO_E_CANTCHECKFK = 0x504e,
  1337.         SQLDMO_E_NOTINMB = 0x504f,
  1338.         SQLDMO_E_CANTRENAMELSERVER = 0x5050,
  1339.         SQLDMO_E_CANTRENAMELLOGIN = 0x5051,
  1340.         SQLDMO_E_CANTRENAMEFULLTEXT = 0x5052,
  1341.         SQLDMO_E_NOFULLTEXT = 0x5053,
  1342.         SQLDMO_E_ACTIVATEFULLTEXT = 0x5054,
  1343.         SQLDMO_E_NOTFULLTEXTENABLED = 0x5055,
  1344.         SQLDMO_E_CANTDROPLOGFILE = 0x5056,
  1345.         SQLDMO_E_CANTDROPLSLOGIN = 0x5057,
  1346.         SQLDMO_E_SCRIPTPWD = 0x5058,
  1347.         SQLDMO_E_DISTRIBUTORNOTINSTALLED = 0x5059,
  1348.         SQLDMO_E_CANTRENAMESTAT = 0x505a,
  1349.         SQLDMO_E_CANTDROPAUTOINDEX = 0x505b,
  1350.         SQLDMO_E_FROMGUEST = 0x505c,
  1351.         SQLDMO_E_INVALIDPROPDISTNOTLOCAL = 0x5060,
  1352.  
  1353.  
  1354. // Errors indicating that the OLE object is not (or is no longer) valid in SQLDMO.
  1355. SQLDMO_ECAT_INVALIDOBJECT = 0x5100,
  1356.         SQLDMO_E_OBJECTDROPPED = 0x5100,
  1357.         SQLDMO_E_NOTSQLDMOOBJECT = 0x5101,
  1358.         SQLDMO_E_OBJECTDETACHED = 0x5102,
  1359.         SQLDMO_E_SERVERCLOSED = 0x5103,
  1360.  
  1361. // Errors indicating that an attempt was made to create an object (usually to add an object
  1362. // to a collection) but that its definition (property settings) were incomplete or inconsistent.
  1363. SQLDMO_ECAT_INVALIDOBJECTDEFINITION = 0x5200,
  1364.         SQLDMO_E_NOCOLUMNSADDED = 0x5200,
  1365.         SQLDMO_E_COLUMNINCOMPLETE = 0x5201,
  1366.         SQLDMO_E_TABLEINCOMPLETE = 0x5202,
  1367.         SQLDMO_E_UDDTINCOMPLETE = 0x5203,
  1368.         SQLDMO_E_RULEINCOMPLETE = 0x5204,
  1369.         SQLDMO_E_DEFAULTINCOMPLETE = 0x5205,
  1370.         SQLDMO_E_VIEWINCOMPLETE = 0x5206,
  1371.         SQLDMO_E_USERINCOMPLETE = 0x5207,
  1372.         SQLDMO_E_GROUPINCOMPLETE = 0x5208,
  1373.         SQLDMO_E_PROCINCOMPLETE = 0x5209,
  1374.         SQLDMO_E_USERALREADYEXISTS = 0x520A,
  1375.         SQLDMO_E_GROUPALREADYEXISTS = 0x520B,
  1376.         SQLDMO_E_COLUMNALREADYEXISTS = 0x520C,
  1377.         SQLDMO_E_OBJECTALREADYEXISTS = 0x520D,
  1378.         SQLDMO_E_INDEXALREADYEXISTS = 0x520E,
  1379.         SQLDMO_E_DBALREADYEXISTS = 0x520F,
  1380.         SQLDMO_E_LOGINALREADYEXISTS = 0x5210,
  1381.         SQLDMO_E_DEVICEALREADYEXISTS = 0x5211,
  1382.         SQLDMO_E_SKIPONLYTAPE = 0x5212,
  1383.         SQLDMO_E_DEVICEINCOMPLETE = 0x5213,
  1384.         SQLDMO_E_PROCALREADYEXISTS = 0x5214,
  1385.         SQLDMO_E_UDDTALREADYEXISTS = 0x5215,
  1386.         SQLDMO_E_TABLEALREADYEXISTS = 0x5216,
  1387.         SQLDMO_E_RULEALREADYEXISTS = 0x5217,
  1388.         SQLDMO_E_DEFAULTALREADYEXISTS = 0x5218,
  1389.         SQLDMO_E_VIEWALREADYEXISTS = 0x5219,
  1390.         SQLDMO_E_INDEXINCOMPLETE = 0x521A,
  1391.         SQLDMO_E_TRIGINCOMPLETE = 0x521B,
  1392.         SQLDMO_E_TRIGALREADYEXISTS = 0x521C,
  1393.         SQLDMO_E_LANGUAGEINCOMPLETE = 0x521D,
  1394.         SQLDMO_E_LANGUAGEALREADYEXISTS = 0x521E,
  1395.         SQLDMO_E_LOGININCOMPLETE = 0x521F,
  1396.         SQLDMO_E_RSERVERINCOMPLETE = 0x5220,
  1397.         SQLDMO_E_RSERVERALREADYEXISTS = 0x5221,
  1398.         SQLDMO_E_NULLRLOGINALREADYEXISTS = 0x5222,
  1399.         SQLDMO_E_RLOGINALREADYEXISTS = 0x5223,
  1400.         SQLDMO_E_REMOTENEEDSLOCAL = 0x5224,
  1401.         SQLDMO_E_BACKUPNEEDSDEVICE = 0x5225,
  1402.         SQLDMO_E_NEEDMANUALFILTERNAME = 0x5226,
  1403.         SQLDMO_E_TASKINCOMPLETE = 0x5227,
  1404.         SQLDMO_E_ARTINCOMPLETE = 0x5228,
  1405.         SQLDMO_E_PUBINCOMPLETE = 0x5229,
  1406.         SQLDMO_E_SUBINCOMPLETE = 0x522A,
  1407.         SQLDMO_E_ALERTINCOMPLETE = 0x522B,
  1408.         SQLDMO_E_OPERATORINCOMPLETE = 0x522C,
  1409.         SQLDMO_E_NAMEMUSTMATCH = 0x522D,
  1410.         SQLDMO_E_TRIGREQTABLENAME = 0x522E,
  1411.         SQLDMO_E_MUSTBESYNCTASK = 0x522F,
  1412.         SQLDMO_E_NOEVENTCOMPLETION = 0x5230,
  1413.         SQLDMO_E_FKEYINCOMPLETE = 0x5231,
  1414.         SQLDMO_E_KEYINCOMPLETE = 0x5232,
  1415.         SQLDMO_E_KEYALREADYEXISTS = 0x5233,
  1416.         SQLDMO_E_CHECKINCOMPLETE = 0x5234,
  1417.         SQLDMO_E_DRIDEFAULTINCOMPLETE = 0x5235,
  1418.         SQLDMO_E_CHECKALREADYEXISTS = 0x5236,
  1419.         SQLDMO_E_ONLYONEPRIMARYKEY = 0x5237,
  1420.         SQLDMO_E_NEEDMANUALVIEWNAME = 0x5238,
  1421.         SQLDMO_E_SERVERGROUPINCOMPLETE = 0x5239,
  1422.         SQLDMO_E_REGISTEREDSERVERINCOMPLETE = 0x523A,
  1423.         SQLDMO_E_SERVERGROUPALREADYEXISTS = 0x523B,
  1424.         SQLDMO_E_REGISTEREDSERVERALREADYEXISTS = 0x523C,
  1425.         SQLDMO_E_NEEDLOADTABLENAME = 0x523D,
  1426.         SQLDMO_E_DISTDBALREADYEXISTS = 0x523E,
  1427.         SQLDMO_E_DISTPUBALREADYEXISTS = 0x523F,
  1428.         SQLDMO_E_JOBSTEPINCOMPLETE = 0x5240,
  1429.         SQLDMO_E_TARGETSERVERINCOMPLETE = 0x5241,
  1430.         SQLDMO_E_TARGETSERVERGROUPINCOMPLETE = 0x5242,
  1431.         SQLDMO_E_JOBINCOMPLETE = 0x5243,
  1432.         SQLDMO_E_MUSTBESYNCJOB = 0x5244,
  1433.         SQLDMO_E_JOBCATEGORYINCOMPLETE = 0x5245,
  1434.         SQLDMO_E_REGPUBINCOMPLETE = 0x5246,
  1435.         SQLDMO_E_REGSUBINCOMPLETE = 0x5247,
  1436.         SQLDMO_E_DISTPUBINCOMPLETE = 0x5248,
  1437.         SQLDMO_E_DISTDBINCOMPLETE = 0x5249,
  1438.         SQLDMO_E_FILEGROUPINCOMPLETE = 0x524A,
  1439.         SQLDMO_E_DBFILEINCOMPLETE = 0x524B,
  1440.         SQLDMO_E_LOGFILEINCOMPLETE = 0x524C,
  1441.         SQLDMO_E_FILEGROUPALREADYEXISTS = 0x524D,
  1442.         SQLDMO_E_DATABASEINCOMPLETE = 0x5250,
  1443.         SQLDMO_E_DATABASEROLEALREADYEXISTS = 0x5251,
  1444.         SQLDMO_E_DATABASEROLEINCOMPLETE = 0x5252,
  1445.         SQLDMO_E_SERVERROLEINCOMPLETE = 0x5253,
  1446.         SQLDMO_E_DSNINFOINCOMPLETE = 0x5254,
  1447.         SQLDMO_E_FILTERINCOMPLETE = 0x5255,
  1448.         SQLDMO_E_OWNERMUSTMATCH = 0x5256,
  1449.         SQLDMO_E_BACKUPNEEDSFILE = 0x5257,
  1450.         SQLDMO_E_BACKUPNEEDSMEDIA = 0x5258,
  1451.         SQLDMO_E_COLUMNCOMPUTEDINCOMPLETE = 0x5259,
  1452.         SQLDMO_E_REMAPFILEINCOMPLETE = 0x525A,
  1453.         SQLDMO_E_SMALLMAXSIZE = 0x525B,
  1454.         SQLDMO_E_FILEALREADYEXISTS = 0x525C,
  1455.         SQLDMO_E_BADFILEGROUPNAME = 0x525D,
  1456.         SQLDMO_E_LINKEDSERVERINCOMPLETE = 0x525E,
  1457.         SQLDMO_E_LINKEDPROVIDERINCOMPLETE = 0x525F,
  1458.         SQLDMO_E_FULLTEXTINCOMPLETE = 0x5260,
  1459.         SQLDMO_E_CATALOGALREADYEXISTS = 0x5261,
  1460.         SQLDMO_E_CATALOGINCOMPLETE = 0x5262,
  1461.         SQLDMO_E_BACKUPINIT = 0x5263,
  1462.         SQLDMO_E_LINKEDSERVERLOGININCOMPLETE = 0x5264,
  1463.         SQLDMO_E_NOSERVERBCP6 = 0x5265,
  1464.         SQLDMO_E_JOBSTEPNAMEINCOMPLETE = 0x5266,
  1465.  
  1466. // Errors indicating an invalid parameter passed to a method or property, or other unexpected condition.
  1467. SQLDMO_ECAT_INVALIDPARAMETER = 0x5300,
  1468.         SQLDMO_E_BADCOLLEN = 0x5300,
  1469.         SQLDMO_E_INVALIDPERFMONSET = 0x5301,
  1470.         SQLDMO_E_BADDEVICETYPE = 0x5302,
  1471.         SQLDMO_E_SIZEGREATERTHAN0 = 0x5303,
  1472.         SQLDMO_E_RESULTSETOUTOFRANGE = 0x5304,
  1473.         SQLDMO_E_OUTPUTPARAMREQUIRED = 0x5305,
  1474.         SQLDMO_E_PROPTEXTNONNULL = 0x5306,
  1475.         SQLDMO_E_BADPROCTYPE = 0x5307,
  1476.         SQLDMO_E_BADFILLFACTOR = 0x5308,
  1477.         SQLDMO_E_INVALIDINDEXTYPE = 0x5309,
  1478.         SQLDMO_E_INVALIDPRIVTYPE = 0x530A,
  1479.         SQLDMO_E_BADTRIGTYPE = 0x530B,
  1480.         SQLDMO_E_INVALIDDAYOFWEEK = 0x530C,
  1481.         SQLDMO_E_INVALIDMONTH = 0x530D,
  1482.         SQLDMO_E_BADDAYCOUNT = 0x530E,
  1483.         SQLDMO_E_BADMONTHCOUNT = 0x530F,
  1484.         SQLDMO_E_BADCONFIGVALUE = 0x5310,
  1485.         SQLDMO_E_INVALIDPARAMINDEX = 0x5311,
  1486.         SQLDMO_E_INVALIDPARAMRANGE = 0x5312,
  1487.         SQLDMO_E_INVALIDDBOBJTYPE = 0x5313,
  1488.         SQLDMO_E_ROWCOLOUTOFRANGE = 0x5314,
  1489.         SQLDMO_E_NONUNIQUENAME = 0x5315,
  1490.         SQLDMO_E_NOTIMESTAMPUDDT = 0x5316,
  1491.         SQLDMO_E_INVALIDNAME = 0x5317,
  1492.         SQLDMO_E_INVALIDCOMPLETION = 0x5318,
  1493.         SQLDMO_E_NAMETOOLONG = 0x5319,
  1494.         SQLDMO_E_INVALIDFREQTYPE = 0x531A,
  1495.         SQLDMO_E_INVALIDFREQSUBDAY = 0x531B,
  1496.         SQLDMO_E_INVALIDFREQRELINTERVAL = 0x531C,
  1497.         SQLDMO_E_BADWEEKLYINTERVAL = 0x531D,
  1498.         SQLDMO_E_BADMONTHLYINTERVAL = 0x531E,
  1499.         SQLDMO_E_BADMONTHLYRELINTERVAL = 0x531F,
  1500.         SQLDMO_E_INVALIDSRVOPTION = 0x5320,
  1501.         SQLDMO_E_INVALIDRUNPRIORITY = 0x5321,
  1502.         SQLDMO_E_DBNAMEREQUIRED = 0x5322,
  1503.         SQLDMO_E_PUBNAMEREQUIRED = 0x5323,
  1504.         SQLDMO_E_PROPINDEXOUTOFRANGE = 0x5324,
  1505.         SQLDMO_E_INVALIDNOTIFYTYPE = 0x5325,
  1506.         SQLDMO_E_INVALIDENUMNOTIFYTYPE = 0x5326,
  1507.         SQLDMO_E_INVALIDWEEKDAY = 0x5327,
  1508.         SQLDMO_E_INVALIDOBJECTTYPE = 0x5328,
  1509.         SQLDMO_E_OBJECTREQUIRED = 0x5329,
  1510.         SQLDMO_E_INVALIDEVENTTYPE = 0x532A,
  1511.         SQLDMO_E_INVALIDCOMPLETIONTYPE = 0x532B,
  1512.         SQLDMO_E_INVALIDKEYTYPE = 0x532C,
  1513.         SQLDMO_E_TABLEMUSTBECREATED = 0x532D,
  1514.         SQLDMO_E_INVALIDPREARTICLE = 0x532E,
  1515.         SQLDMO_E_INVALIDSECURITYMODE = 0x532F,
  1516.         SQLDMO_E_INVALIDPREC = 0x5330,
  1517.         SQLDMO_E_INVALIDDEPENDENCYTYPE = 0x5331,
  1518.         SQLDMO_E_INVALIDVERIFYCONNTYPE = 0x5332,
  1519.         SQLDMO_E_INVALIDSTATUSINFOTYPE = 0x5333,
  1520.         SQLDMO_E_INVALIDFORWARDINGSEVERITY = 0x5334,
  1521.         SQLDMO_E_INVALIDFORWARDINGSERVER = 0x5335,
  1522.         SQLDMO_E_INVALIDRESTARTINTERVAL = 0x5336,
  1523.         SQLDMO_E_INVALIDHISTORYROWSMAX = 0x5337,
  1524.         SQLDMO_E_NAMETOOSHORT = 0x5338,
  1525.         SQLDMO_E_UNEXPECTED = 0x5339,
  1526.         SQLDMO_E_INVALIDHISTORYROWSPERTASKMAX = 0x533A,
  1527.         SQLDMO_E_INVALIDOBJSORTTYPE = 0x533B,
  1528.         SQLDMO_E_INVALIDEXECTYPE = 0x533C,
  1529.         SQLDMO_E_INVALIDSUBSETFILTER = 0x533D,
  1530.         SQLDMO_E_INCOMPATIBLEPROPS = 0x533E,    //Some of the bcp object properties are incompatible.
  1531.         SQLDMO_E_FILEPATHREQUIRED = 0x533F,             //User should specify path for script file
  1532.         SQLDMO_E_INVALIDPROPALTER = 0x5340,             //The given property cannot be altered outside Alter block
  1533.         SQLDMO_E_INVALIDALTERDISTINSTALLED = 0x5341,//The given property must not be altered
  1534.         SQLDMO_E_SERVERNAMEREQUIRED = 0x5342,   //The server name must be provided
  1535.         SQLDMO_E_DISTSERVERNAMEREQUIRED = 0x5343,//The distribution server name must be provided
  1536.         SQLDMO_E_WORKINGDIRREQUIRED = 0x5344,   //The distribution server name must be provided
  1537.         SQLDMO_E_DISTDBREQUIRED = 0x5345,               //Atleast one distributor database must be provided
  1538.         SQLDMO_E_INVALIDHISTORYROWSPERJOBMAX = 0x5348,
  1539.         SQLDMO_E_INVALIDPUBATTRIB = 0x5349,
  1540.         SQLDMO_E_INVALIDREPLICATIONTYPE = 0x534A,
  1541.         SQLDMO_E_INVALIDSCHEMAOPTION = 0x534B,
  1542.           SQLDMO_E_INVALIDFORREMDISTRIBUTOR = 0x534C,
  1543.         SQLDMO_E_INVALIDARTICLETYPE = 0x534D,
  1544.         SQLDMO_E_SIZEGREATERTHANNEG = 0x534E,
  1545.         SQLDMO_E_INVALIDLOGINTYPE = 0x534F,
  1546.         SQLDMO_E_CANTMODIFYAFTERCREATE = 0x5350,
  1547.         SQLDMO_E_INVALIDDSN = 0x5351,
  1548.         SQLDMO_E_INVALIDNAME70 = 0x5352,
  1549.         SQLDMO_E_MUSTEVEN = 0x5353,
  1550.         SQLDMO_E_MISSINGALTER = 0x5354,
  1551.         SQLDMO_E_NOTGUID = 0x5355,
  1552.         SQLDMO_E_DESTSERVERREQUIRED = 0x5356,   //The dest server name must be provided for transfer
  1553.         SQLDMO_E_CANTSHRINK = 0x5357,
  1554.         SQLDMO_E_CANTDEFAULTOFF = 0x5358,
  1555.         SQLDMO_E_INVALIDNTNAME = 0x5359,        // Name contain illegal character for NT file name
  1556.         SQLDMO_E_INVALIDOUTCOMETYPE = 0x535A,
  1557.         SQLDMO_E_NEEDSCOLUMNNAME = 0x535B,
  1558.         SQLDMO_E_INVALIDHYPOINDEXTYPE = 0x535C,
  1559.         SQLDMO_E_INVALIDPING = 0x535D,
  1560.  
  1561. // Errors indicating that either the connected SQL Server is an invalid version,
  1562. // or the client platform is invalid, or a combination of those; or that the
  1563. // server has not been set up properly for SQLDMO (the required stored procedures
  1564. // are not installed)..
  1565. SQLDMO_ECAT_INVALIDPLATFORM = 0x5400,
  1566.         SQLDMO_E_BACKUPSQL60ONLY = 0x5400,
  1567.         SQLDMO_E_MSSQLONLY = 0x5401,
  1568.         SQLDMO_E_WIN95REQUIRESCONN = 0x5402,
  1569.         SQLDMO_E_NOTONWIN95 = 0x5403,
  1570.         SQLDMO_E_SQL60ONLY = 0x5404,
  1571.         SQLDMO_E_REPLSQL60ONLY = 0x5405,
  1572.         SQLDMO_E_STARTUPPROCSQL60ONLY = 0x5406,
  1573.         SQLDMO_E_NEEDSQLDMOPROCS = 0x5407,
  1574.         SQLDMO_E_ALTERSQL60ONLY = 0x5408,
  1575.         SQLDMO_E_SORTEDDATAREORGSQL60ONLY = 0x5409,
  1576.         SQLDMO_E_MSSQLNTONLY = 0x540A,
  1577.         SQLDMO_E_WIN95REQUIRESSQL60 = 0x540B,
  1578.         SQLDMO_E_BACKUPSQL65ONLY = 0x540C,
  1579.         SQLDMO_E_SQL65ONLY = 0x540D,
  1580.         SQLDMO_E_ALERTSQL65ONLY = 0x540E,
  1581.         SQLDMO_E_REMOTESQL65ONLY = 0x540F,
  1582.         SQLDMO_E_PIPEDEVSQL60ONLY = 0x5410,
  1583.         SQLDMO_E_FKEYSQL65ONLY = 0x5411,
  1584.         SQLDMO_E_XPIMPERSONATESQL65ONLY = 0x5412,
  1585.         SQLDMO_E_SQL70ONLY = 0x5413,
  1586.         SQLDMO_E_FKEYSQL70ONLY = 0x5414,
  1587.         SQLDMO_E_BACKUPSQL70ONLY = 0x5415,
  1588.         SQLDMO_E_NEEDSQLDMOUPGRADE = 0x5416,
  1589.         SQLDMO_E_NEEDSERVERBUILDUPGRADE = 0x5417,
  1590.  
  1591.  
  1592. // Errors indicating that the named object was not found in the collection, or
  1593. // that the ordinal passed as a collection index was out of range.
  1594. SQLDMO_ECAT_ITEMNOTFOUND = 0x5500,
  1595.         SQLDMO_E_RULENOTFOUND = 0x5500,
  1596.         SQLDMO_E_DEFAULTNOTFOUND = 0x5501,
  1597.         SQLDMO_E_TYPENOTFOUND = 0x5502,
  1598.         SQLDMO_E_LOGINNOTFOUND = 0x5503,
  1599.         SQLDMO_E_GROUPNOTFOUND = 0x5504,
  1600.         SQLDMO_E_LANGNOTFOUND = 0x5505,
  1601.         SQLDMO_E_DBNOTFOUND = 0x5506,
  1602.         SQLDMO_E_DEVICENOTFOUND = 0x5507,
  1603.         SQLDMO_E_COLUMNNOTFOUND = 0x5508,
  1604.         SQLDMO_E_ORDOUTOFRANGE = 0x5509,
  1605.         SQLDMO_E_NAMENOTFOUND = 0x550A,
  1606.         SQLDMO_E_USERNOTFOUND = 0x550B,
  1607.         SQLDMO_E_NAMENOTINCACHE = 0x550C,
  1608.         SQLDMO_E_PROPNAMENOTFOUND = 0x550D,
  1609.         SQLDMO_E_IDNOTFOUND = 0x550E,
  1610.         SQLDMO_E_DATABASEROLENOTFOUND = 0x550F,
  1611.         SQLDMO_E_NAMENOTFOUNDQI = 0x5510,
  1612.  
  1613. // Errors indicating that the current login does not have sufficient privilege
  1614. // to perform the requested operation.
  1615. SQLDMO_ECAT_UNPRIVILEGEDLOGIN = 0x5600,
  1616.         SQLDMO_E_MUSTBESAORDBO = 0x5600,
  1617.         SQLDMO_E_MUSTBESAORLOGIN = 0x5601,
  1618.         SQLDMO_E_MUSTBESA = 0x5602,
  1619.         SQLDMO_E_MUSTBESAORORSECORLOGIN = 0x5603,
  1620.         SQLDMO_E_MUSTBESAORSEC = 0x5604,
  1621.         SQLDMO_E_MUSTBESAORDBC = 0x5605,
  1622.         SQLDMO_E_MUSTBESAORSRV = 0x5606,
  1623.         SQLDMO_E_MUSTBESAORPRC = 0x5607,
  1624.  
  1625. // Errors indicating a query execution error or an inaccessible database.
  1626. SQLDMO_ECAT_EXECUTION = 0x5700,
  1627.         SQLDMO_E_SYSPROCERROR = 0x5700,
  1628.         SQLDMO_E_CACHEEXECERROR = 0x5701,
  1629.         SQLDMO_E_INACCESSIBLEDB = 0x5702,
  1630.         SQLDMO_E_BATCHCOMPLETEWITHERRORS = 0x5703,
  1631.         SQLDMO_E_BCPCOLFMTFAILED = 0x5704,              //dblib bcp_colfmt failed.
  1632.         SQLDMO_E_SUSPENDINDEX = 0x5705,                 //Error trying to suspend indexing
  1633.         SQLDMO_E_RESUMEINDEX = 0x5706,                  //Error trying to resume suspended indexing
  1634.         SQLDMO_E_BCPEXECFAILED  = 0x5707,               //dblib bcp_exec function failed
  1635.         SQLDMO_E_BCPINITFAILED = 0x5708,                //dblib bcp_init function failed
  1636.         SQLDMO_E_BCPCONTROLFAILED = 0x5709,             //dblib bcp_control function failed
  1637.         SQLDMO_E_USERABORTED = 0x570A,                  //User aborted transfer
  1638.         SQLDMO_E_QIERROR = 0x570B,                      // Failed to set QI
  1639.         SQLDMO_E_REGIONALERROR = 0x570C,                // Failed to set regional setting
  1640.         SQLDMO_E_SINGLEUSERDB = 0x570D,                 // DB in single user mode, and someone is in there
  1641.  
  1642. // Errors indicating the connection to SQL Server cannot be restored.  SQLDMO will
  1643. // automatically reconnect (as determined by the SQLServer.AutoReconnect property)
  1644. // but the network may be down or the server not started.
  1645. SQLDMO_ECAT_CONNECTION = 0x5800,
  1646.         SQLDMO_E_CANTRECONNDEADCONN = 0x5800,
  1647.  
  1648. // Errors indicating insufficient resources either locally or on the server.
  1649. SQLDMO_ECAT_RESOURCE = 0x5900,
  1650.         SQLDMO_E_OUTOFMEMORY = 0x5900,
  1651.         SQLDMO_E_NOMOREDEVNOS = 0x5901,
  1652.         SQLDMO_E_SERVERLOCKTIMEDOUT = 0x5902,
  1653.         SQLDMO_E_APPLOCKTIMEDOUT = 0x5903,
  1654.  
  1655.         SQLDMO_E_LASTERROR = 0x5AFF
  1656. } SQLDMO_ERROR_TYPE;
  1657.  
  1658. // SQLDMO_ERROR #defines.  These are categories, not severities; there is no
  1659. // mathematical relationship between groupings.
  1660. #ifndef _SQLDMO_ODL_            // Not done in .ODL file.
  1661.  
  1662. // Switch on SQLDMO_ECAT to determine the category of a returned error code.
  1663. // Use long cast as lint can complain about an enum-vs.-int.
  1664. #define SQLDMO_ECAT(scode) (scode & (long)SQLDMO_ECAT_MASK)
  1665.  
  1666. #endif
  1667.  
  1668.  
  1669.  
  1670. #endif    // _SQLDMO_CONSTANTS_
  1671.  
  1672. /////////////////////////////////////////////////////////////////////////////////////////
  1673. // Interface definitions.
  1674. /////////////////////////////////////////////////////////////////////////////////////////
  1675. #ifndef _SQLDMO_ODL_        // Skip if in .odl file.
  1676.  
  1677. // Optional parameter definitions.  For C explicit values will have to be specified,
  1678. // as indicated within the CPPDEFAULT() expansion.
  1679. //
  1680. // SQLDMO Parameter sequencing is as follows ("optional" in accordance with C++ usage):
  1681. //     Nonoptional parameters
  1682. //        Nonoptional Return value if any
  1683. //        Optional additional parameters
  1684. //        Optional return value, if any
  1685. //
  1686. #ifdef __cplusplus
  1687. #define CPPDEFAULT(DefaultParamValue)    DefaultParamValue
  1688. #else
  1689. #define CPPDEFAULT(DefaultParamValue)
  1690. #endif
  1691.  
  1692. // Windows.h should define these...
  1693. typedef BOOL *LPBOOL;
  1694. typedef float *LPFLOAT;
  1695. typedef double *LPDOUBLE;
  1696.  
  1697. ///////////////////////////////////////////////////////////////////////////////////////
  1698. // Forward declarations and typedefs, allowing for UNICODE clients.
  1699. ///////////////////////////////////////////////////////////////////////////////////////
  1700. #undef SQLDMO_LPCSTR
  1701. #undef SQLDMO_BSTR
  1702. #undef SQLDMO_LPBSTR
  1703. #undef SQLDMOFreeString
  1704.  
  1705. // Carry over the Ansi definition of BSTR.
  1706. typedef CHAR __RPC_FAR * BSTRA;
  1707. typedef BSTRA __RPC_FAR *LPBSTRA;
  1708.  
  1709. #define SQLDMO_UNICODE
  1710.  
  1711. #define SQLDMO_LPCSTR   LPCOLESTR
  1712. // #define SQLDMO_LPCSTR   LPCWSTR
  1713. #define SQLDMO_BSTR     BSTR
  1714. #define SQLDMO_LPBSTR   LPBSTR
  1715. #define SQLDMOFreeString(bstr) SysFreeString(bstr)
  1716.  
  1717. #ifdef __cplusplus
  1718. #define TYPEDEFINTERFACE typedef
  1719. #else
  1720. #define TYPEDEFINTERFACE typedef interface
  1721. #endif
  1722.  
  1723. // Forward declarations.  Base classes...
  1724. #undef LPSQLDMOSTDOBJECT
  1725. #undef ISQLDMOStdObject
  1726. #undef IID_ISQLDMOStdObject
  1727. interface IWSQLDMOStdObject;            TYPEDEFINTERFACE IWSQLDMOStdObject *                LPWSQLDMOSTDOBJECT;
  1728. #define LPSQLDMOSTDOBJECT LPWSQLDMOSTDOBJECT
  1729. #define ISQLDMOStdObject IWSQLDMOStdObject
  1730. #define IID_ISQLDMOStdObject IID_IWSQLDMOStdObject
  1731.  
  1732. #undef LPSQLDMOSTDCOLLECTION
  1733. #undef ISQLDMOStdCollection
  1734. #undef IID_ISQLDMOStdCollection
  1735. TYPEDEFINTERFACE IWSQLDMOStdObject * LPWSQLDMOSTDCOLLECTION;    // Auto-documenting for collection management
  1736. #define LPSQLDMOSTDCOLLECTION LPWSQLDMOSTDCOLLECTION
  1737. #define ISQLDMOStdCollection IWSQLDMOStdCollection
  1738. #define IID_ISQLDMOStdCollection IID_IWSQLDMOStdCollection
  1739.  
  1740. // ... and derived classes.
  1741.  
  1742.  
  1743.  
  1744.  
  1745. #undef LPSQLDMOAPPLICATION
  1746. #undef ISQLDMOApplication
  1747. #undef IID_ISQLDMOApplication
  1748. interface IWSQLDMOApplication;          TYPEDEFINTERFACE IWSQLDMOApplication *                  LPWSQLDMOAPPLICATION;
  1749. #define LPSQLDMOAPPLICATION LPWSQLDMOAPPLICATION
  1750. #define ISQLDMOApplication IWSQLDMOApplication
  1751. #define IID_ISQLDMOApplication IID_IWSQLDMOApplication
  1752.  
  1753. #undef LPSQLDMOSERVERS
  1754. #undef ISQLDMOServers
  1755. #undef IID_ISQLDMOServers
  1756. interface IWSQLDMOServers;                      TYPEDEFINTERFACE IWSQLDMOServers *                              LPWSQLDMOSERVERS;
  1757. #define LPSQLDMOSERVERS LPWSQLDMOSERVERS
  1758. #define ISQLDMOServers IWSQLDMOServers
  1759. #define IID_ISQLDMOServers IID_IWSQLDMOServers
  1760.  
  1761. #undef LPSQLDMOSERVER
  1762. #undef ISQLDMOServer
  1763. #undef IID_ISQLDMOServer
  1764. interface IWSQLDMOServer;                       TYPEDEFINTERFACE IWSQLDMOServer *                                       LPWSQLDMOSERVER;
  1765. #define LPSQLDMOSERVER LPWSQLDMOSERVER
  1766. #define ISQLDMOServer IWSQLDMOServer
  1767. #define IID_ISQLDMOServer IID_IWSQLDMOServer
  1768.  
  1769. #undef LPSQLDMODATABASES
  1770. #undef ISQLDMODatabases
  1771. #undef IID_ISQLDMODatabases
  1772. interface IWSQLDMODatabases;                    TYPEDEFINTERFACE IWSQLDMODatabases *                            LPWSQLDMODATABASES;
  1773. #define LPSQLDMODATABASES LPWSQLDMODATABASES
  1774. #define ISQLDMODatabases IWSQLDMODatabases
  1775. #define IID_ISQLDMODatabases IID_IWSQLDMODatabases
  1776.  
  1777. #undef LPSQLDMODATABASE
  1778. #undef ISQLDMODatabase
  1779. #undef IID_ISQLDMODatabase
  1780. interface IWSQLDMODatabase;                     TYPEDEFINTERFACE IWSQLDMODatabase *                             LPWSQLDMODATABASE;
  1781. #define LPSQLDMODATABASE LPWSQLDMODATABASE
  1782. #define ISQLDMODatabase IWSQLDMODatabase
  1783. #define IID_ISQLDMODatabase IID_IWSQLDMODatabase
  1784.  
  1785. #undef LPSQLDMOBACKUPDEVICES
  1786. #undef ISQLDMOBackupDevices
  1787. #undef IID_ISQLDMOBackupDevices
  1788. interface IWSQLDMOBackupDevices;                TYPEDEFINTERFACE IWSQLDMOBackupDevices *                   LPWSQLDMOBACKUPDEVICES;
  1789. #define LPSQLDMOBACKUPDEVICES LPWSQLDMOBACKUPDEVICES
  1790. #define ISQLDMOBackupDevices IWSQLDMOBackupDevices
  1791. #define IID_ISQLDMOBackupDevices IID_IWSQLDMOBackupDevices
  1792.  
  1793. #undef LPSQLDMOBACKUPDEVICE
  1794. #undef ISQLDMOBackupDevice
  1795. #undef IID_ISQLDMOBackupDevice
  1796. interface IWSQLDMOBackupDevice;                 TYPEDEFINTERFACE IWSQLDMOBackupDevice *                    LPWSQLDMOBACKUPDEVICE;
  1797. #define LPSQLDMOBACKUPDEVICE LPWSQLDMOBACKUPDEVICE
  1798. #define ISQLDMOBackupDevice IWSQLDMOBackupDevice
  1799. #define IID_ISQLDMOBackupDevice IID_IWSQLDMOBackupDevice
  1800.  
  1801. /** Need to take out when BillPos is ready **/
  1802. #undef LPSQLDMODEVICES
  1803. #undef ISQLDMODevices
  1804. #undef IID_ISQLDMODevices
  1805. #define LPSQLDMODEVICES LPWSQLDMOBACKUPDEVICES
  1806. #define ISQLDMODevices IWSQLDMOBackupDevices
  1807. #define IID_ISQLDMODevices IID_IWSQLDMOBackupDevices
  1808.  
  1809. #undef LPSQLDMODEVICE
  1810. #undef ISQLDMODevice
  1811. #undef IID_ISQLDMODevice
  1812. #define LPSQLDMODEVICE LPWSQLDMOBACKUPDEVICE
  1813. #define ISQLDMODevice IWSQLDMOBackupDevice
  1814. #define IID_ISQLDMODevice IID_IWSQLDMOBackupDevice
  1815. /**/
  1816.  
  1817. #undef LPSQLDMOLOGINS
  1818. #undef ISQLDMOLogins
  1819. #undef IID_ISQLDMOLogins
  1820. interface IWSQLDMOLogins;                       TYPEDEFINTERFACE IWSQLDMOLogins *                                       LPWSQLDMOLOGINS;
  1821. #define LPSQLDMOLOGINS LPWSQLDMOLOGINS
  1822. #define ISQLDMOLogins IWSQLDMOLogins
  1823. #define IID_ISQLDMOLogins IID_IWSQLDMOLogins
  1824.  
  1825. #undef LPSQLDMOLOGIN
  1826. #undef ISQLDMOLogin
  1827. #undef IID_ISQLDMOLogin
  1828. interface IWSQLDMOLogin;                                TYPEDEFINTERFACE IWSQLDMOLogin *                                        LPWSQLDMOLOGIN;
  1829. #define LPSQLDMOLOGIN LPWSQLDMOLOGIN
  1830. #define ISQLDMOLogin IWSQLDMOLogin
  1831. #define IID_ISQLDMOLogin IID_IWSQLDMOLogin
  1832.  
  1833. #undef LPSQLDMOLANGUAGES
  1834. #undef ISQLDMOLanguages
  1835. #undef IID_ISQLDMOLanguages
  1836. interface IWSQLDMOLanguages;                    TYPEDEFINTERFACE IWSQLDMOLanguages *                            LPWSQLDMOLANGUAGES;
  1837. #define LPSQLDMOLANGUAGES LPWSQLDMOLANGUAGES
  1838. #define ISQLDMOLanguages IWSQLDMOLanguages
  1839. #define IID_ISQLDMOLanguages IID_IWSQLDMOLanguages
  1840.  
  1841. #undef LPSQLDMOLANGUAGE
  1842. #undef ISQLDMOLanguage
  1843. #undef IID_ISQLDMOLanguage
  1844. interface IWSQLDMOLanguage;                     TYPEDEFINTERFACE IWSQLDMOLanguage *                             LPWSQLDMOLANGUAGE;
  1845. #define LPSQLDMOLANGUAGE LPWSQLDMOLANGUAGE
  1846. #define ISQLDMOLanguage IWSQLDMOLanguage
  1847. #define IID_ISQLDMOLanguage IID_IWSQLDMOLanguage
  1848.  
  1849. #undef LPSQLDMOREMOTESERVERS
  1850. #undef ISQLDMORemoteServers
  1851. #undef IID_ISQLDMORemoteServers
  1852. interface IWSQLDMORemoteServers;                TYPEDEFINTERFACE IWSQLDMORemoteServers *                        LPWSQLDMOREMOTESERVERS;
  1853. #define LPSQLDMOREMOTESERVERS LPWSQLDMOREMOTESERVERS
  1854. #define ISQLDMORemoteServers IWSQLDMORemoteServers
  1855. #define IID_ISQLDMORemoteServers IID_IWSQLDMORemoteServers
  1856.  
  1857. #undef LPSQLDMOREMOTESERVER
  1858. #undef ISQLDMORemoteServer
  1859. #undef IID_ISQLDMORemoteServer
  1860. interface IWSQLDMORemoteServer;         TYPEDEFINTERFACE IWSQLDMORemoteServer *                 LPWSQLDMOREMOTESERVER;
  1861. #define LPSQLDMOREMOTESERVER LPWSQLDMOREMOTESERVER
  1862. #define ISQLDMORemoteServer IWSQLDMORemoteServer
  1863. #define IID_ISQLDMORemoteServer IID_IWSQLDMORemoteServer
  1864.  
  1865. #undef LPSQLDMOTABLES
  1866. #undef ISQLDMOTables
  1867. #undef IID_ISQLDMOTables
  1868. interface IWSQLDMOTables;                       TYPEDEFINTERFACE IWSQLDMOTables *                                       LPWSQLDMOTABLES;
  1869. #define LPSQLDMOTABLES LPWSQLDMOTABLES
  1870. #define ISQLDMOTables IWSQLDMOTables
  1871. #define IID_ISQLDMOTables IID_IWSQLDMOTables
  1872.  
  1873. #undef LPSQLDMOTABLE
  1874. #undef ISQLDMOTable
  1875. #undef IID_ISQLDMOTable
  1876. interface IWSQLDMOTable;                                TYPEDEFINTERFACE IWSQLDMOTable *                                        LPWSQLDMOTABLE;
  1877. #define LPSQLDMOTABLE LPWSQLDMOTABLE
  1878. #define ISQLDMOTable IWSQLDMOTable
  1879. #define IID_ISQLDMOTable IID_IWSQLDMOTable
  1880.  
  1881. #undef LPSQLDMOCOLUMNS
  1882. #undef ISQLDMOColumns
  1883. #undef IID_ISQLDMOColumns
  1884. interface IWSQLDMOColumns;                      TYPEDEFINTERFACE IWSQLDMOColumns *                              LPWSQLDMOCOLUMNS;
  1885. #define LPSQLDMOCOLUMNS LPWSQLDMOCOLUMNS
  1886. #define ISQLDMOColumns IWSQLDMOColumns
  1887. #define IID_ISQLDMOColumns IID_IWSQLDMOColumns
  1888.  
  1889. #undef LPSQLDMOCOLUMN
  1890. #undef ISQLDMOColumn
  1891. #undef IID_ISQLDMOColumn
  1892. interface IWSQLDMOColumn;                       TYPEDEFINTERFACE IWSQLDMOColumn *                                       LPWSQLDMOCOLUMN;
  1893. #define LPSQLDMOCOLUMN LPWSQLDMOCOLUMN
  1894. #define ISQLDMOColumn IWSQLDMOColumn
  1895. #define IID_ISQLDMOColumn IID_IWSQLDMOColumn
  1896.  
  1897. #undef LPSQLDMORULES
  1898. #undef ISQLDMORules
  1899. #undef IID_ISQLDMORules
  1900. interface IWSQLDMORules;                                TYPEDEFINTERFACE IWSQLDMORules *                                        LPWSQLDMORULES;
  1901. #define LPSQLDMORULES LPWSQLDMORULES
  1902. #define ISQLDMORules IWSQLDMORules
  1903. #define IID_ISQLDMORules IID_IWSQLDMORules
  1904.  
  1905. #undef LPSQLDMORULE
  1906. #undef ISQLDMORule
  1907. #undef IID_ISQLDMORule
  1908. interface IWSQLDMORule;                         TYPEDEFINTERFACE IWSQLDMORule *                                 LPWSQLDMORULE;
  1909. #define LPSQLDMORULE LPWSQLDMORULE
  1910. #define ISQLDMORule IWSQLDMORule
  1911. #define IID_ISQLDMORule IID_IWSQLDMORule
  1912.  
  1913. #undef LPSQLDMODEFAULTS
  1914. #undef ISQLDMODefaults
  1915. #undef IID_ISQLDMODefaults
  1916. interface IWSQLDMODefaults;                     TYPEDEFINTERFACE IWSQLDMODefaults *                             LPWSQLDMODEFAULTS;
  1917. #define LPSQLDMODEFAULTS LPWSQLDMODEFAULTS
  1918. #define ISQLDMODefaults IWSQLDMODefaults
  1919. #define IID_ISQLDMODefaults IID_IWSQLDMODefaults
  1920.  
  1921. #undef LPSQLDMODEFAULT
  1922. #undef ISQLDMODefault
  1923. #undef IID_ISQLDMODefault
  1924. interface IWSQLDMODefault;                      TYPEDEFINTERFACE IWSQLDMODefault *                              LPWSQLDMODEFAULT;
  1925. #define LPSQLDMODEFAULT LPWSQLDMODEFAULT
  1926. #define ISQLDMODefault IWSQLDMODefault
  1927. #define IID_ISQLDMODefault IID_IWSQLDMODefault
  1928.  
  1929. #undef LPSQLDMOUSERDEFINEDDATATYPES
  1930. #undef ISQLDMOUserDefinedDatatypes
  1931. #undef IID_ISQLDMOUserDefinedDatatypes
  1932. interface IWSQLDMOUserDefinedDatatypes; TYPEDEFINTERFACE IWSQLDMOUserDefinedDatatypes * LPWSQLDMOUSERDEFINEDDATATYPES;
  1933. #define LPSQLDMOUSERDEFINEDDATATYPES LPWSQLDMOUSERDEFINEDDATATYPES
  1934. #define ISQLDMOUserDefinedDatatypes IWSQLDMOUserDefinedDatatypes
  1935. #define IID_ISQLDMOUserDefinedDatatypes IID_IWSQLDMOUserDefinedDatatypes
  1936.  
  1937. #undef LPSQLDMOUSERDEFINEDDATATYPE
  1938. #undef ISQLDMOUserDefinedDatatype
  1939. #undef IID_ISQLDMOUserDefinedDatatype
  1940. interface IWSQLDMOUserDefinedDatatype;  TYPEDEFINTERFACE IWSQLDMOUserDefinedDatatype *  LPWSQLDMOUSERDEFINEDDATATYPE;
  1941. #define LPSQLDMOUSERDEFINEDDATATYPE LPWSQLDMOUSERDEFINEDDATATYPE
  1942. #define ISQLDMOUserDefinedDatatype IWSQLDMOUserDefinedDatatype
  1943. #define IID_ISQLDMOUserDefinedDatatype IID_IWSQLDMOUserDefinedDatatype
  1944.  
  1945. #undef LPSQLDMOSYSTEMDATATYPES
  1946. #undef ISQLDMOSystemDatatypes
  1947. #undef IID_ISQLDMOSystemDatatypes
  1948. interface IWSQLDMOSystemDatatypes;      TYPEDEFINTERFACE IWSQLDMOSystemDatatypes *              LPWSQLDMOSYSTEMDATATYPES;
  1949. #define LPSQLDMOSYSTEMDATATYPES LPWSQLDMOSYSTEMDATATYPES
  1950. #define ISQLDMOSystemDatatypes IWSQLDMOSystemDatatypes
  1951. #define IID_ISQLDMOSystemDatatypes IID_IWSQLDMOSystemDatatypes
  1952.  
  1953. #undef LPSQLDMOSYSTEMDATATYPE
  1954. #undef ISQLDMOSystemDatatype
  1955. #undef IID_ISQLDMOSystemDatatype
  1956. interface IWSQLDMOSystemDatatype;       TYPEDEFINTERFACE IWSQLDMOSystemDatatype *                       LPWSQLDMOSYSTEMDATATYPE;
  1957. #define LPSQLDMOSYSTEMDATATYPE LPWSQLDMOSYSTEMDATATYPE
  1958. #define ISQLDMOSystemDatatype IWSQLDMOSystemDatatype
  1959. #define IID_ISQLDMOSystemDatatype IID_IWSQLDMOSystemDatatype
  1960.  
  1961. #undef LPSQLDMOVIEWS
  1962. #undef ISQLDMOViews
  1963. #undef IID_ISQLDMOViews
  1964. interface IWSQLDMOViews;                                TYPEDEFINTERFACE IWSQLDMOViews *                                        LPWSQLDMOVIEWS;
  1965. #define LPSQLDMOVIEWS LPWSQLDMOVIEWS
  1966. #define ISQLDMOViews IWSQLDMOViews
  1967. #define IID_ISQLDMOViews IID_IWSQLDMOViews
  1968.  
  1969. #undef LPSQLDMOVIEW
  1970. #undef ISQLDMOView
  1971. #undef IID_ISQLDMOView
  1972. interface IWSQLDMOView;                         TYPEDEFINTERFACE IWSQLDMOView *                                 LPWSQLDMOVIEW;
  1973. #define LPSQLDMOVIEW LPWSQLDMOVIEW
  1974. #define ISQLDMOView IWSQLDMOView
  1975. #define IID_ISQLDMOView IID_IWSQLDMOView
  1976.  
  1977. #undef LPSQLDMOSTOREDPROCEDURES
  1978. #undef ISQLDMOStoredProcedures
  1979. #undef IID_ISQLDMOStoredProcedures
  1980. interface IWSQLDMOStoredProcedures;     TYPEDEFINTERFACE IWSQLDMOStoredProcedures *             LPWSQLDMOSTOREDPROCEDURES;
  1981. #define LPSQLDMOSTOREDPROCEDURES LPWSQLDMOSTOREDPROCEDURES
  1982. #define ISQLDMOStoredProcedures IWSQLDMOStoredProcedures
  1983. #define IID_ISQLDMOStoredProcedures IID_IWSQLDMOStoredProcedures
  1984.  
  1985. #undef LPSQLDMOSTOREDPROCEDURE
  1986. #undef ISQLDMOStoredProcedure
  1987. #undef IID_ISQLDMOStoredProcedure
  1988. interface IWSQLDMOStoredProcedure;      TYPEDEFINTERFACE IWSQLDMOStoredProcedure *              LPWSQLDMOSTOREDPROCEDURE;
  1989. #define LPSQLDMOSTOREDPROCEDURE LPWSQLDMOSTOREDPROCEDURE
  1990. #define ISQLDMOStoredProcedure IWSQLDMOStoredProcedure
  1991. #define IID_ISQLDMOStoredProcedure IID_IWSQLDMOStoredProcedure
  1992.  
  1993. #undef LPSQLDMOTRIGGERS
  1994. #undef ISQLDMOTriggers
  1995. #undef IID_ISQLDMOTriggers
  1996. interface IWSQLDMOTriggers;                     TYPEDEFINTERFACE IWSQLDMOTriggers *                             LPWSQLDMOTRIGGERS;
  1997. #define LPSQLDMOTRIGGERS LPWSQLDMOTRIGGERS
  1998. #define ISQLDMOTriggers IWSQLDMOTriggers
  1999. #define IID_ISQLDMOTriggers IID_IWSQLDMOTriggers
  2000.  
  2001. #undef LPSQLDMOTRIGGER
  2002. #undef ISQLDMOTrigger
  2003. #undef IID_ISQLDMOTrigger
  2004. interface IWSQLDMOTrigger;                      TYPEDEFINTERFACE IWSQLDMOTrigger *                              LPWSQLDMOTRIGGER;
  2005. #define LPSQLDMOTRIGGER LPWSQLDMOTRIGGER
  2006. #define ISQLDMOTrigger IWSQLDMOTrigger
  2007. #define IID_ISQLDMOTrigger IID_IWSQLDMOTrigger
  2008.  
  2009. #undef LPSQLDMOUSERS
  2010. #undef ISQLDMOUsers
  2011. #undef IID_ISQLDMOUsers
  2012. interface IWSQLDMOUsers;                                TYPEDEFINTERFACE IWSQLDMOUsers *                                        LPWSQLDMOUSERS;
  2013. #define LPSQLDMOUSERS LPWSQLDMOUSERS
  2014. #define ISQLDMOUsers IWSQLDMOUsers
  2015. #define IID_ISQLDMOUsers IID_IWSQLDMOUsers
  2016.  
  2017. #undef LPSQLDMOUSER
  2018. #undef ISQLDMOUser
  2019. #undef IID_ISQLDMOUser
  2020. interface IWSQLDMOUser;                         TYPEDEFINTERFACE IWSQLDMOUser *                                 LPWSQLDMOUSER;
  2021. #define LPSQLDMOUSER LPWSQLDMOUSER
  2022. #define ISQLDMOUser IWSQLDMOUser
  2023. #define IID_ISQLDMOUser IID_IWSQLDMOUser
  2024.  
  2025. #undef LPSQLDMOGROUPS
  2026. #undef ISQLDMOGroups
  2027. #undef IID_ISQLDMOGroups
  2028. interface IWSQLDMOGroups;                       TYPEDEFINTERFACE IWSQLDMOGroups *                                       LPWSQLDMOGROUPS;
  2029. #define LPSQLDMOGROUPS LPWSQLDMOGROUPS
  2030. #define ISQLDMOGroups IWSQLDMOGroups
  2031. #define IID_ISQLDMOGroups IID_IWSQLDMOGroups
  2032.  
  2033. #undef LPSQLDMOGROUP
  2034. #undef ISQLDMOGroup
  2035. #undef IID_ISQLDMOGroup
  2036. interface IWSQLDMOGroup;                                TYPEDEFINTERFACE IWSQLDMOGroup *                                        LPWSQLDMOGROUP;
  2037. #define LPSQLDMOGROUP LPWSQLDMOGROUP
  2038. #define ISQLDMOGroup IWSQLDMOGroup
  2039. #define IID_ISQLDMOGroup IID_IWSQLDMOGroup
  2040.  
  2041. #undef LPSQLDMOINDEXES
  2042. #undef ISQLDMOIndexes
  2043. #undef IID_ISQLDMOIndexes
  2044. interface IWSQLDMOIndexes;                      TYPEDEFINTERFACE IWSQLDMOIndexes *                              LPWSQLDMOINDEXES;
  2045. #define LPSQLDMOINDEXES LPWSQLDMOINDEXES
  2046. #define ISQLDMOIndexes IWSQLDMOIndexes
  2047. #define IID_ISQLDMOIndexes IID_IWSQLDMOIndexes
  2048.  
  2049. #undef LPSQLDMOINDEX
  2050. #undef ISQLDMOIndex
  2051. #undef IID_ISQLDMOIndex
  2052. interface IWSQLDMOIndex;                                TYPEDEFINTERFACE IWSQLDMOIndex *                                        LPWSQLDMOINDEX;
  2053. #define LPSQLDMOINDEX LPWSQLDMOINDEX
  2054. #define ISQLDMOIndex IWSQLDMOIndex
  2055. #define IID_ISQLDMOIndex IID_IWSQLDMOIndex
  2056.  
  2057. #undef LPSQLDMOTRIGGERS
  2058. #undef ISQLDMOTriggers
  2059. #undef IID_ISQLDMOTriggers
  2060. interface IWSQLDMOTriggers;                     TYPEDEFINTERFACE IWSQLDMOTriggers *                             LPWSQLDMOTRIGGERS;
  2061. #define LPSQLDMOTRIGGERS LPWSQLDMOTRIGGERS
  2062. #define ISQLDMOTriggers IWSQLDMOTriggers
  2063. #define IID_ISQLDMOTriggers IID_IWSQLDMOTriggers
  2064.  
  2065. #undef LPSQLDMOTRIGGER
  2066. #undef ISQLDMOTrigger
  2067. #undef IID_ISQLDMOTrigger
  2068. interface IWSQLDMOTrigger;                      TYPEDEFINTERFACE IWSQLDMOTrigger *                              LPWSQLDMOTRIGGER;
  2069. #define LPSQLDMOTRIGGER LPWSQLDMOTRIGGER
  2070. #define ISQLDMOTrigger IWSQLDMOTrigger
  2071. #define IID_ISQLDMOTrigger IID_IWSQLDMOTrigger
  2072.  
  2073. #undef LPSQLDMOREMOTELOGINS
  2074. #undef ISQLDMORemoteLogins
  2075. #undef IID_ISQLDMORemoteLogins
  2076. interface IWSQLDMORemoteLogins;         TYPEDEFINTERFACE IWSQLDMORemoteLogins *                 LPWSQLDMOREMOTELOGINS;
  2077. #define LPSQLDMOREMOTELOGINS LPWSQLDMOREMOTELOGINS
  2078. #define ISQLDMORemoteLogins IWSQLDMORemoteLogins
  2079. #define IID_ISQLDMORemoteLogins IID_IWSQLDMORemoteLogins
  2080.  
  2081. #undef LPSQLDMOREMOTELOGIN
  2082. #undef ISQLDMORemoteLogin
  2083. #undef IID_ISQLDMORemoteLogin
  2084. interface IWSQLDMORemoteLogin;          TYPEDEFINTERFACE IWSQLDMORemoteLogin *                  LPWSQLDMOREMOTELOGIN;
  2085. #define LPSQLDMOREMOTELOGIN LPWSQLDMOREMOTELOGIN
  2086. #define ISQLDMORemoteLogin IWSQLDMORemoteLogin
  2087. #define IID_ISQLDMORemoteLogin IID_IWSQLDMORemoteLogin
  2088.  
  2089. #undef LPSQLDMODBOBJECTS
  2090. #undef ISQLDMODBObjects
  2091. #undef IID_ISQLDMODBObjects
  2092. interface IWSQLDMODBObjects;                    TYPEDEFINTERFACE IWSQLDMODBObjects *                            LPWSQLDMODBOBJECTS;
  2093. #define LPSQLDMODBOBJECTS LPWSQLDMODBOBJECTS
  2094. #define ISQLDMODBObjects IWSQLDMODBObjects
  2095. #define IID_ISQLDMODBObjects IID_IWSQLDMODBObjects
  2096.  
  2097. #undef LPSQLDMODBOBJECT
  2098. #undef ISQLDMODBObject
  2099. #undef IID_ISQLDMODBObject
  2100. interface IWSQLDMODBObject;                     TYPEDEFINTERFACE IWSQLDMODBObject *                             LPWSQLDMODBOBJECT;
  2101. #define LPSQLDMODBOBJECT LPWSQLDMODBOBJECT
  2102. #define ISQLDMODBObject IWSQLDMODBObject
  2103. #define IID_ISQLDMODBObject IID_IWSQLDMODBObject
  2104.  
  2105. #undef LPSQLDMODBOPTION
  2106. #undef ISQLDMODBOption
  2107. #undef IID_ISQLDMODBOption
  2108. interface IWSQLDMODBOption;                     TYPEDEFINTERFACE IWSQLDMODBOption *                             LPWSQLDMODBOPTION;
  2109. #define LPSQLDMODBOPTION LPWSQLDMODBOPTION
  2110. #define ISQLDMODBOption IWSQLDMODBOption
  2111. #define IID_ISQLDMODBOption IID_IWSQLDMODBOption
  2112.  
  2113. #undef LPSQLDMOCONFIGURATION
  2114. #undef ISQLDMOConfiguration
  2115. #undef IID_ISQLDMOConfiguration
  2116. interface IWSQLDMOConfiguration;                TYPEDEFINTERFACE IWSQLDMOConfiguration *                        LPWSQLDMOCONFIGURATION;
  2117. #define LPSQLDMOCONFIGURATION LPWSQLDMOCONFIGURATION
  2118. #define ISQLDMOConfiguration IWSQLDMOConfiguration
  2119. #define IID_ISQLDMOConfiguration IID_IWSQLDMOConfiguration
  2120.  
  2121. #undef LPSQLDMOCONFIGVALUES
  2122. #undef ISQLDMOConfigValues
  2123. #undef IID_ISQLDMOConfigValues
  2124. interface IWSQLDMOConfigValues;         TYPEDEFINTERFACE IWSQLDMOConfigValues *                         LPWSQLDMOCONFIGVALUES;
  2125. #define LPSQLDMOCONFIGVALUES LPWSQLDMOCONFIGVALUES
  2126. #define ISQLDMOConfigValues IWSQLDMOConfigValues
  2127. #define IID_ISQLDMOConfigValues IID_IWSQLDMOConfigValues
  2128.  
  2129. #undef LPSQLDMOCONFIGVALUE
  2130. #undef ISQLDMOConfigValue
  2131. #undef IID_ISQLDMOConfigValue
  2132. interface IWSQLDMOConfigValue;          TYPEDEFINTERFACE IWSQLDMOConfigValue *                          LPWSQLDMOCONFIGVALUE;
  2133. #define LPSQLDMOCONFIGVALUE LPWSQLDMOCONFIGVALUE
  2134. #define ISQLDMOConfigValue IWSQLDMOConfigValue
  2135. #define IID_ISQLDMOConfigValue IID_IWSQLDMOConfigValue
  2136.  
  2137. #undef LPSQLDMOQUERYRESULTS
  2138. #undef ISQLDMOQueryResults
  2139. #undef IID_ISQLDMOQueryResults
  2140. interface IWSQLDMOQueryResults;         TYPEDEFINTERFACE IWSQLDMOQueryResults *                 LPWSQLDMOQUERYRESULTS;
  2141. #define LPSQLDMOQUERYRESULTS LPWSQLDMOQUERYRESULTS
  2142. #define ISQLDMOQueryResults IWSQLDMOQueryResults
  2143. #define IID_ISQLDMOQueryResults IID_IWSQLDMOQueryResults
  2144.  
  2145. #undef LPSQLDMOTRANSACTIONLOG
  2146. #undef ISQLDMOTransactionLog
  2147. #undef IID_ISQLDMOTransactionLog
  2148. interface IWSQLDMOTransactionLog;       TYPEDEFINTERFACE IWSQLDMOTransactionLog *                       LPWSQLDMOTRANSACTIONLOG;
  2149. #define LPSQLDMOTRANSACTIONLOG LPWSQLDMOTRANSACTIONLOG
  2150. #define ISQLDMOTransactionLog IWSQLDMOTransactionLog
  2151. #define IID_ISQLDMOTransactionLog IID_IWSQLDMOTransactionLog
  2152.  
  2153. #undef LPSQLDMOREGISTRY
  2154. #undef ISQLDMORegistry
  2155. #undef IID_ISQLDMORegistry
  2156. interface IWSQLDMORegistry;                     TYPEDEFINTERFACE IWSQLDMORegistry *                             LPWSQLDMOREGISTRY;
  2157. #define LPSQLDMOREGISTRY LPWSQLDMOREGISTRY
  2158. #define ISQLDMORegistry IWSQLDMORegistry
  2159. #define IID_ISQLDMORegistry IID_IWSQLDMORegistry
  2160.  
  2161. #undef LPSQLDMOBACKUP
  2162. #undef ISQLDMOBackup
  2163. #undef IID_ISQLDMOBackup
  2164. interface IWSQLDMOBackup;                       TYPEDEFINTERFACE IWSQLDMOBackup *                                       LPWSQLDMOBACKUP;
  2165. #define LPSQLDMOBACKUP LPWSQLDMOBACKUP
  2166. #define ISQLDMOBackup IWSQLDMOBackup
  2167. #define IID_ISQLDMOBackup IID_IWSQLDMOBackup
  2168.  
  2169. #undef LPSQLDMOBULKCOPY
  2170. #undef ISQLDMOBulkCopy
  2171. #undef IID_ISQLDMOBulkCopy
  2172. interface IWSQLDMOBulkCopy;                     TYPEDEFINTERFACE IWSQLDMOBulkCopy *                                     LPWSQLDMOBULKCOPY;
  2173. #define LPSQLDMOBULKCOPY LPWSQLDMOBULKCOPY
  2174. #define ISQLDMOBulkCopy IWSQLDMOBulkCopy
  2175. #define IID_ISQLDMOBulkCopy IID_IWSQLDMOBulkCopy
  2176.  
  2177. #undef LPSQLDMOOBJECTLIST
  2178. #undef ISQLDMOObjectList
  2179. #undef IID_ISQLDMOObjectList
  2180. interface IWSQLDMOObjectList;           TYPEDEFINTERFACE IWSQLDMOObjectList *                           LPWSQLDMOOBJECTLIST;
  2181. #define LPSQLDMOOBJECTLIST LPWSQLDMOOBJECTLIST
  2182. #define ISQLDMOObjectList IWSQLDMOObjectList
  2183. #define IID_ISQLDMOObjectList IID_IWSQLDMOObjectList
  2184.  
  2185. #undef LPSQLDMONAMES
  2186. #undef ISQLDMONames
  2187. #undef IID_ISQLDMONames
  2188. interface IWSQLDMONames;                TYPEDEFINTERFACE IWSQLDMONames *                                LPWSQLDMONAMES;
  2189. #define LPSQLDMONAMES LPWSQLDMONAMES
  2190. #define ISQLDMONames IWSQLDMONames
  2191. #define IID_ISQLDMONames IID_IWSQLDMONames
  2192.  
  2193. #undef LPSQLDMONAMELIST
  2194. #undef ISQLDMONameList
  2195. #undef IID_ISQLDMONameList
  2196. interface IWSQLDMONameList;             TYPEDEFINTERFACE IWSQLDMONameList *                             LPWSQLDMONAMELIST;
  2197. #define LPSQLDMONAMELIST LPWSQLDMONAMELIST
  2198. #define ISQLDMONameList IWSQLDMONameList
  2199. #define IID_ISQLDMONameList IID_IWSQLDMONameList
  2200.  
  2201. #undef LPSQLDMOPERMISSION
  2202. #undef ISQLDMOPermission
  2203. #undef IID_ISQLDMOPermission
  2204. interface IWSQLDMOPermission;           TYPEDEFINTERFACE IWSQLDMOPermission *                           LPWSQLDMOPERMISSION;
  2205. #define LPSQLDMOPERMISSION LPWSQLDMOPERMISSION
  2206. #define ISQLDMOPermission IWSQLDMOPermission
  2207. #define IID_ISQLDMOPermission IID_IWSQLDMOPermission
  2208.  
  2209. #undef LPSQLDMOINTEGRATEDSECURITY
  2210. #undef ISQLDMOIntegratedSecurity
  2211. #undef IID_ISQLDMOIntegratedSecurity
  2212. interface IWSQLDMOIntegratedSecurity;   TYPEDEFINTERFACE IWSQLDMOIntegratedSecurity *   LPWSQLDMOINTEGRATEDSECURITY;
  2213. #define LPSQLDMOINTEGRATEDSECURITY LPWSQLDMOINTEGRATEDSECURITY
  2214. #define ISQLDMOIntegratedSecurity IWSQLDMOIntegratedSecurity
  2215. #define IID_ISQLDMOIntegratedSecurity IID_IWSQLDMOIntegratedSecurity
  2216.  
  2217. #undef LPSQLDMOKEYS
  2218. #undef ISQLDMOKeys
  2219. #undef IID_ISQLDMOKeys
  2220. interface IWSQLDMOKeys;                 TYPEDEFINTERFACE IWSQLDMOKeys *                                 LPWSQLDMOKEYS;
  2221. #define LPSQLDMOKEYS LPWSQLDMOKEYS
  2222. #define ISQLDMOKeys IWSQLDMOKeys
  2223. #define IID_ISQLDMOKeys IID_IWSQLDMOKeys
  2224.  
  2225. #undef LPSQLDMOKEY
  2226. #undef ISQLDMOKey
  2227. #undef IID_ISQLDMOKey
  2228. interface IWSQLDMOKey;                          TYPEDEFINTERFACE IWSQLDMOKey *                                  LPWSQLDMOKEY;
  2229. #define LPSQLDMOKEY LPWSQLDMOKEY
  2230. #define ISQLDMOKey IWSQLDMOKey
  2231. #define IID_ISQLDMOKey IID_IWSQLDMOKey
  2232.  
  2233. #undef LPSQLDMOCHECKS
  2234. #undef ISQLDMOChecks
  2235. #undef IID_ISQLDMOChecks
  2236. interface IWSQLDMOChecks;                       TYPEDEFINTERFACE IWSQLDMOChecks *                                       LPWSQLDMOCHECKS;
  2237. #define LPSQLDMOCHECKS LPWSQLDMOCHECKS
  2238. #define ISQLDMOChecks IWSQLDMOChecks
  2239. #define IID_ISQLDMOChecks IID_IWSQLDMOChecks
  2240.  
  2241. #undef LPSQLDMOCHECK
  2242. #undef ISQLDMOCheck
  2243. #undef IID_ISQLDMOCheck
  2244. interface IWSQLDMOCheck;                                TYPEDEFINTERFACE IWSQLDMOCheck *                                        LPWSQLDMOCHECK;
  2245. #define LPSQLDMOCHECK LPWSQLDMOCHECK
  2246. #define ISQLDMOCheck IWSQLDMOCheck
  2247. #define IID_ISQLDMOCheck IID_IWSQLDMOCheck
  2248.  
  2249. #undef LPSQLDMODRIDEFAULT
  2250. #undef ISQLDMODRIDefault
  2251. #undef IID_ISQLDMODRIDefault
  2252. interface IWSQLDMODRIDefault;                           TYPEDEFINTERFACE IWSQLDMODRIDefault *                                   LPWSQLDMODRIDEFAULT;
  2253. #define LPSQLDMODRIDEFAULT LPWSQLDMODRIDEFAULT
  2254. #define ISQLDMODRIDefault IWSQLDMODRIDefault
  2255. #define IID_ISQLDMODRIDefault IID_IWSQLDMODRIDefault
  2256.  
  2257. #undef LPSQLDMOSERVERGROUPS
  2258. #undef ISQLDMOServerGroups
  2259. #undef IID_ISQLDMOServerGroups
  2260. interface IWSQLDMOServerGroups;                 TYPEDEFINTERFACE IWSQLDMOServerGroups *                                 LPWSQLDMOSERVERGROUPS;
  2261. #define LPSQLDMOSERVERGROUPS LPWSQLDMOSERVERGROUPS
  2262. #define ISQLDMOServerGroups IWSQLDMOServerGroups
  2263. #define IID_ISQLDMOServerGroups IID_IWSQLDMOServerGroups
  2264.  
  2265. #undef LPSQLDMOSERVERGROUP
  2266. #undef ISQLDMOServerGroup
  2267. #undef IID_ISQLDMOServerGroup
  2268. interface IWSQLDMOServerGroup;                          TYPEDEFINTERFACE IWSQLDMOServerGroup *                                  LPWSQLDMOSERVERGROUP;
  2269. #define LPSQLDMOSERVERGROUP LPWSQLDMOSERVERGROUP
  2270. #define ISQLDMOServerGroup IWSQLDMOServerGroup
  2271. #define IID_ISQLDMOServerGroup IID_IWSQLDMOServerGroup
  2272.  
  2273. #undef LPSQLDMOREGISTEREDSERVERS
  2274. #undef ISQLDMORegisteredServers
  2275. #undef IID_ISQLDMORegisteredServers
  2276. interface IWSQLDMORegisteredServers;                    TYPEDEFINTERFACE IWSQLDMORegisteredServers *                                    LPWSQLDMOREGISTEREDSERVERS;
  2277. #define LPSQLDMOREGISTEREDSERVERS LPWSQLDMOREGISTEREDSERVERS
  2278. #define ISQLDMORegisteredServers IWSQLDMORegisteredServers
  2279. #define IID_ISQLDMORegisteredServers IID_IWSQLDMORegisteredServers
  2280.  
  2281. #undef LPSQLDMOREGISTEREDSERVER
  2282. #undef ISQLDMORegisteredServer
  2283. #undef IID_ISQLDMORegisteredServer
  2284. interface IWSQLDMORegisteredServer;                             TYPEDEFINTERFACE IWSQLDMORegisteredServer *                                     LPWSQLDMOREGISTEREDSERVER;
  2285. #define LPSQLDMOREGISTEREDSERVER LPWSQLDMOREGISTEREDSERVER
  2286. #define ISQLDMORegisteredServer IWSQLDMORegisteredServer
  2287. #define IID_ISQLDMORegisteredServer IID_IWSQLDMORegisteredServer
  2288.  
  2289. #undef LPSQLDMOTRANSFER
  2290. #undef ISQLDMOTransfer
  2291. #undef IID_ISQLDMOTransfer
  2292. interface IWSQLDMOTransfer;                                             TYPEDEFINTERFACE IWSQLDMOTransfer *                             LPWSQLDMOTRANSFER;
  2293. #define LPSQLDMOTRANSFER LPWSQLDMOTRANSFER
  2294. #define ISQLDMOTransfer IWSQLDMOTransfer
  2295. #define IID_ISQLDMOTransfer IID_IWSQLDMOTransfer
  2296.  
  2297. // 7.0 new objects
  2298. #undef LPSQLDMOFILEGROUPS
  2299. #undef ISQLDMOFileGroups
  2300. #undef IID_ISQLDMOFileGroups
  2301. interface IWSQLDMOFileGroups;                    TYPEDEFINTERFACE IWSQLDMOFileGroups *                                    LPWSQLDMOFILEGROUPS;
  2302. #define LPSQLDMOFILEGROUPS LPWSQLDMOFILEGROUPS
  2303. #define ISQLDMOFileGroups IWSQLDMOFileGroups
  2304. #define IID_ISQLDMOFileGroups IID_IWSQLDMOFileGroups
  2305.  
  2306. #undef LPSQLDMOFILEGROUP
  2307. #undef ISQLDMOFileGroup
  2308. #undef IID_ISQLDMOFileGroup
  2309. interface IWSQLDMOFileGroup;                             TYPEDEFINTERFACE IWSQLDMOFileGroup *                                     LPWSQLDMOFILEGROUP;
  2310. #define LPSQLDMOFILEGROUP LPWSQLDMOFILEGROUP
  2311. #define ISQLDMOFileGroup IWSQLDMOFileGroup
  2312. #define IID_ISQLDMOFileGroup IID_IWSQLDMOFileGroup
  2313.  
  2314. #undef LPSQLDMODBFILES
  2315. #undef ISQLDMODBFiles
  2316. #undef IID_ISQLDMODBFiles
  2317. interface IWSQLDMODBFiles;                    TYPEDEFINTERFACE IWSQLDMODBFiles *                                    LPWSQLDMODBFILES;
  2318. #define LPSQLDMODBFILES LPWSQLDMODBFILES
  2319. #define ISQLDMODBFiles IWSQLDMODBFiles
  2320. #define IID_ISQLDMODBFiles IID_IWSQLDMODBFiles
  2321.  
  2322. #undef LPSQLDMODBFILE
  2323. #undef ISQLDMODBFile
  2324. #undef IID_ISQLDMODBFile
  2325. interface IWSQLDMODBFile;                             TYPEDEFINTERFACE IWSQLDMODBFile *                                     LPWSQLDMODBFILE;
  2326. #define LPSQLDMODBFILE LPWSQLDMODBFILE
  2327. #define ISQLDMODBFile IWSQLDMODBFile
  2328. #define IID_ISQLDMODBFile IID_IWSQLDMODBFile
  2329.  
  2330. #undef LPSQLDMOLOGFILES
  2331. #undef ISQLDMOLogFiles
  2332. #undef IID_ISQLDMOLogFiles
  2333. interface IWSQLDMOLogFiles;                    TYPEDEFINTERFACE IWSQLDMOLogFiles *                                    LPWSQLDMOLOGFILES;
  2334. #define LPSQLDMOLOGFILES LPWSQLDMOLOGFILES
  2335. #define ISQLDMOLogFiles IWSQLDMOLogFiles
  2336. #define IID_ISQLDMOLogFiles IID_IWSQLDMOLogFiles
  2337.  
  2338. #undef LPSQLDMOLOGFILE
  2339. #undef ISQLDMOLogFile
  2340. #undef IID_ISQLDMOLogFile
  2341. interface IWSQLDMOLogFile;                             TYPEDEFINTERFACE IWSQLDMOLogFile *                                     LPWSQLDMOLOGFILE;
  2342. #define LPSQLDMOLOGFILE LPWSQLDMOLOGFILE
  2343. #define ISQLDMOLogFile IWSQLDMOLogFile
  2344. #define IID_ISQLDMOLogFile IID_IWSQLDMOLogFile
  2345.  
  2346. #undef LPSQLDMOSERVERROLES
  2347. #undef ISQLDMOServerRoles
  2348. #undef IID_ISQLDMOServerRoles
  2349. interface IWSQLDMOServerRoles;                    TYPEDEFINTERFACE IWSQLDMOServerRoles *                                    LPWSQLDMOSERVERROLES;
  2350. #define LPSQLDMOSERVERROLES LPWSQLDMOSERVERROLES
  2351. #define ISQLDMOServerRoles IWSQLDMOServerRoles
  2352. #define IID_ISQLDMOServerRoles IID_IWSQLDMOServerRoles
  2353.  
  2354. #undef LPSQLDMOSERVERROLE
  2355. #undef ISQLDMOServerRole
  2356. #undef IID_ISQLDMOServerRole
  2357. interface IWSQLDMOServerRole;                             TYPEDEFINTERFACE IWSQLDMOServerRole *                                     LPWSQLDMOSERVERROLE;
  2358. #define LPSQLDMOSERVERROLE LPWSQLDMOSERVERROLE
  2359. #define ISQLDMOServerRole IWSQLDMOServerRole
  2360. #define IID_ISQLDMOServerRole IID_IWSQLDMOServerRole
  2361.  
  2362. #undef LPSQLDMODATABASEROLES
  2363. #undef ISQLDMODatabaseRoles
  2364. #undef IID_ISQLDMODatabaseRoles
  2365. interface IWSQLDMODatabaseRoles;                    TYPEDEFINTERFACE IWSQLDMODatabaseRoles *                                    LPWSQLDMODATABASEROLES;
  2366. #define LPSQLDMODATABASEROLES LPWSQLDMODATABASEROLES
  2367. #define ISQLDMODatabaseRoles IWSQLDMODatabaseRoles
  2368. #define IID_ISQLDMODatabaseRoles IID_IWSQLDMODatabaseRoles
  2369.  
  2370. #undef LPSQLDMODATABASEROLE
  2371. #undef ISQLDMODatabaseRole
  2372. #undef IID_ISQLDMODatabaseRole
  2373. interface IWSQLDMODatabaseRole;                             TYPEDEFINTERFACE IWSQLDMODatabaseRole *                                     LPWSQLDMODATABASEROLE;
  2374. #define LPSQLDMODATABASEROLE LPWSQLDMODATABASEROLE
  2375. #define ISQLDMODatabaseRole IWSQLDMODatabaseRole
  2376. #define IID_ISQLDMODatabaseRole IID_IWSQLDMODatabaseRole
  2377.  
  2378. #undef LPSQLDMORESTORE
  2379. #undef ISQLDMORestore
  2380. #undef IID_ISQLDMORestore
  2381. interface IWSQLDMORestore;                       TYPEDEFINTERFACE IWSQLDMORestore *                                       LPWSQLDMORESTORE;
  2382. #define LPSQLDMORESTORE LPWSQLDMORESTORE
  2383. #define ISQLDMORestore IWSQLDMORestore
  2384. #define IID_ISQLDMORestore IID_IWSQLDMORestore
  2385.  
  2386. #undef LPSQLDMOLINKEDSERVERS
  2387. #undef ISQLDMOLinkedServers
  2388. #undef IID_ISQLDMOLinkedServers
  2389. interface IWSQLDMOLinkedServers;                TYPEDEFINTERFACE IWSQLDMOLinkedServers *                        LPWSQLDMOLINKEDSERVERS;
  2390. #define LPSQLDMOLINKEDSERVERS LPWSQLDMOLINKEDSERVERS
  2391. #define ISQLDMOLinkedServers IWSQLDMOLinkedServers
  2392. #define IID_ISQLDMOLinkedServers IID_IWSQLDMOLinkedServers
  2393.  
  2394. #undef LPSQLDMOLINKEDSERVER
  2395. #undef ISQLDMOLinkedServer
  2396. #undef IID_ISQLDMOLinkedServer
  2397. interface IWSQLDMOLinkedServer;         TYPEDEFINTERFACE IWSQLDMOLinkedServer *                 LPWSQLDMOLINKEDSERVER;
  2398. #define LPSQLDMOLINKEDSERVER LPWSQLDMOLINKEDSERVER
  2399. #define ISQLDMOLinkedServer IWSQLDMOLinkedServer
  2400. #define IID_ISQLDMOLinkedServer IID_IWSQLDMOLinkedServer
  2401.  
  2402. #undef LPSQLDMOLINKEDSERVERLOGINS
  2403. #undef ISQLDMOLinkedServerLogins
  2404. #undef IID_ISQLDMOLinkedServerLogins
  2405. interface IWSQLDMOLinkedServerLogins;                TYPEDEFINTERFACE IWSQLDMOLinkedServerLogins *                        LPWSQLDMOLINKEDSERVERLOGINS;
  2406. #define LPSQLDMOLINKEDSERVERLOGINS LPWSQLDMOLINKEDSERVERLOGINS
  2407. #define ISQLDMOLinkedServerLogins IWSQLDMOLinkedServerLogins
  2408. #define IID_ISQLDMOLinkedServerLogins IID_IWSQLDMOLinkedServerLogins
  2409.  
  2410. #undef LPSQLDMOLINKEDSERVERLOGIN
  2411. #undef ISQLDMOLinkedServerLOGIN
  2412. #undef IID_ISQLDMOLinkedServerLogin
  2413. interface IWSQLDMOLinkedServerLogin;         TYPEDEFINTERFACE IWSQLDMOLinkedServerLogin *                 LPWSQLDMOLINKEDSERVERLOGIN;
  2414. #define LPSQLDMOLINKEDSERVERLOGIN LPWSQLDMOLINKEDSERVERLOGIN
  2415. #define ISQLDMOLinkedServerLogin IWSQLDMOLinkedServerLogin
  2416. #define IID_ISQLDMOLinkedServerLogin IID_IWSQLDMOLinkedServerLogin
  2417.  
  2418. #undef LPSQLDMOFULLTEXTCATALOGS
  2419. #undef ISQLDMOFullTextCatalogs
  2420. #undef IID_ISQLDMOFullTextCatalogs
  2421. interface IWSQLDMOFullTextCatalogs;                    TYPEDEFINTERFACE IWSQLDMOFullTextCatalogs *           LPWSQLDMOFULLTEXTCATALOGS;
  2422. #define LPSQLDMOFULLTEXTCATALOGS LPWSQLDMOFULLTEXTCATALOGS
  2423. #define ISQLDMOFullTextCatalogs IWSQLDMOFullTextCatalogs
  2424. #define IID_ISQLDMOFullTextCatalogs IID_IWSQLDMOFullTextCatalogs
  2425.  
  2426. #undef LPSQLDMOFULLTEXTCATALOG
  2427. #undef ISQLDMOFullTextCatalog
  2428. #undef IID_ISQLDMOFullTextCatalog
  2429. interface IWSQLDMOFullTextCatalog;                     TYPEDEFINTERFACE IWSQLDMOFullTextCatalog *             LPWSQLDMOFULLTEXTCATALOG;
  2430. #define LPSQLDMOFULLTEXTCATALOG LPWSQLDMOFULLTEXTCATALOG
  2431. #define ISQLDMOFullTextCatalog IWSQLDMOFullTextCatalog
  2432. #define IID_ISQLDMOFullTextCatalog IID_IWSQLDMOFullTextCatalog
  2433.  
  2434. #undef LPSQLDMOFULLTEXTSERVICE
  2435. #undef ISQLDMOFullTextService
  2436. #undef IID_ISQLDMOFullTextService
  2437. interface IWSQLDMOFullTextService;                     TYPEDEFINTERFACE IWSQLDMOFullTextService *             LPWSQLDMOFULLTEXTSERVICE;
  2438. #define LPSQLDMOFULLTEXTSERVICE LPWSQLDMOFULLTEXTSERVICE
  2439. #define ISQLDMOFullTextService IWSQLDMOFullTextService
  2440. #define IID_ISQLDMOFullTextService IID_IWSQLDMOFullTextService
  2441.  
  2442.  
  2443. ////////////////////////////////////////////////////////////////////////////////////////
  2444. // Event Sink Interfaces
  2445. ////////////////////////////////////////////////////////////////////////////////////////
  2446. #undef LPSQLDMOTRANSFERSINK
  2447. #undef ISQLDMOTransferSink
  2448. #undef IID_ISQLDMOTransferSink
  2449. interface IWSQLDMOTransferSink;                                         TYPEDEFINTERFACE IWSQLDMOTransferSink *                         LPWSQLDMOTRANSFERSINK;
  2450. #define LPSQLDMOTRANSFERSINK LPWSQLDMOTRANSFERSINK
  2451. #define ISQLDMOTransferSink IWSQLDMOTransferSink
  2452. #define IID_ISQLDMOTransferSink IID_IWSQLDMOTransferSink
  2453.  
  2454. #undef LPSQLDMOSERVERSINK
  2455. #undef ISQLDMOServerSink
  2456. #undef IID_ISQLDMOServerSink
  2457. interface IWSQLDMOServerSink;                                           TYPEDEFINTERFACE IWSQLDMOServerSink *                           LPWSQLDMOSERVERSINK;
  2458. #define LPSQLDMOSERVERSINK LPWSQLDMOSERVERSINK
  2459. #define ISQLDMOServerSink IWSQLDMOServerSink
  2460. #define IID_ISQLDMOServerSink IID_IWSQLDMOServerSink
  2461.  
  2462. #undef LPSQLDMOBACKUPSINK
  2463. #undef ISQLDMOBackupSink
  2464. #undef IID_ISQLDMOBackupSink
  2465. interface IWSQLDMOBackupSink;                                           TYPEDEFINTERFACE IWSQLDMOBackupSink *                           LPWSQLDMOBACKUPSINK;
  2466. #define LPSQLDMOBACKUPSINK LPWSQLDMOBACKUPSINK
  2467. #define ISQLDMOBackupSink IWSQLDMOBackupSink
  2468. #define IID_ISQLDMOBackupSink IID_IWSQLDMOBackupSink
  2469.  
  2470. #undef LPSQLDMOBULKCOPYSINK
  2471. #undef ISQLDMOBulkCopySink
  2472. #undef IID_ISQLDMOBulkCopySink
  2473. interface IWSQLDMOBulkCopySink;                                         TYPEDEFINTERFACE IWSQLDMOBulkCopySink *                         LPWSQLDMOBULKCOPYSINK;
  2474. #define LPSQLDMOBULKCOPYSINK LPWSQLDMOBULKCOPYSINK
  2475. #define ISQLDMOBulkCopySink IWSQLDMOBulkCopySink
  2476. #define IID_ISQLDMOBulkCopySink IID_IWSQLDMOBulkCopySink
  2477.  
  2478. // 7.0 new sink objects
  2479. #undef LPSQLDMORESTORESINK
  2480. #undef ISQLDMORestoreSink
  2481. #undef IID_ISQLDMORestoreSink
  2482. interface IWSQLDMORestoreSink;                                           TYPEDEFINTERFACE IWSQLDMORestoreSink *                           LPWSQLDMORESTORESINK;
  2483. #define LPSQLDMORESTORESINK LPWSQLDMORESTORESINK
  2484. #define ISQLDMORestoreSink IWSQLDMORestoreSink
  2485. #define IID_ISQLDMORestoreSink IID_IWSQLDMORestoreSink
  2486.  
  2487. // Auto-documenting names for these... They return an LPSQLDMOOBJECTLIST
  2488. // of the specified <objecttype>LIST objects.. e.g. LPSQLDMOCOLUMNLIST
  2489. // returns a list of LPSQLDMOCOLUMN objects.
  2490. #undef LPSQLDMODBOBJECTLIST
  2491. #define LPSQLDMODBOBJECTLIST LPSQLDMOOBJECTLIST
  2492. #define LPWSQLDMODBOBJECTLIST LPWSQLDMOOBJECTLIST
  2493. #define LPASQLDMODBOBJECTLIST LPASQLDMOOBJECTLIST
  2494. #undef LPSQLDMOPERMISSIONLIST
  2495. #define LPSQLDMOPERMISSIONLIST LPSQLDMOOBJECTLIST
  2496. #define LPWSQLDMOPERMISSIONLIST LPWSQLDMOOBJECTLIST
  2497. #define LPASQLDMOPERMISSIONLIST LPASQLDMOOBJECTLIST
  2498. #undef LPSQLDMOCONFIGVALUELIST
  2499. #define LPSQLDMOCONFIGVALUELIST LPSQLDMOOBJECTLIST
  2500. #define LPWSQLDMOCONFIGVALUELIST LPWSQLDMOOBJECTLIST
  2501. #define LPASQLDMOCONFIGVALUELIST LPASQLDMOOBJECTLIST
  2502. #undef LPSQLDMOBACKUPDEVICELIST
  2503. #define LPSQLDMOBACKUPDEVICELIST LPSQLDMOOBJECTLIST
  2504. #define LPWSQLDMOBACKUPDEVICELIST LPWSQLDMOOBJECTLIST
  2505. #define LPASQLDMOBACKUPDEVICELIST LPASQLDMOOBJECTLIST
  2506. #undef LPSQLDMOCOLUMNLIST
  2507. #define LPSQLDMOCOLUMNLIST LPSQLDMOOBJECTLIST
  2508. #define LPWSQLDMOCOLUMNLIST LPWSQLDMOOBJECTLIST
  2509. #define LPASQLDMOCOLUMNLIST LPASQLDMOOBJECTLIST
  2510. #undef LPSQLDMOUSERDEFINEDDATATYPELIST
  2511. #define LPSQLDMOUSERDEFINEDDATATYPELIST LPSQLDMOOBJECTLIST
  2512. #define LPWSQLDMOUSERDEFINEDDATATYPELIST LPWSQLDMOOBJECTLIST
  2513. #define LPASQLDMOUSERDEFINEDDATATYPELIST LPASQLDMOOBJECTLIST
  2514. #undef LPSQLDMOSTOREDPROCEDURELIST
  2515. #define LPSQLDMOSTOREDPROCEDURELIST LPSQLDMOOBJECTLIST
  2516. #define LPWSQLDMOSTOREDPROCEDURELIST LPWSQLDMOOBJECTLIST
  2517. #define LPASQLDMOSTOREDPROCEDURELIST LPASQLDMOOBJECTLIST
  2518. #undef LPSQLDMOLOGINLIST
  2519. #define LPSQLDMOLOGINLIST LPSQLDMOOBJECTLIST
  2520. #define LPWSQLDMOLOGINLIST LPWSQLDMOOBJECTLIST
  2521. #define LPASQLDMOLOGINLIST LPASQLDMOOBJECTLIST
  2522. #undef LPSQLDMOUSERLIST
  2523. #define LPSQLDMOUSERLIST LPSQLDMOOBJECTLIST
  2524. #define LPWSQLDMOUSERLIST LPWSQLDMOOBJECTLIST
  2525. #define LPASQLDMOUSERLIST LPASQLDMOOBJECTLIST
  2526. #undef LPSQLDMODATABASELIST
  2527. #define LPSQLDMODATABASELIST LPSQLDMOOBJECTLIST
  2528. #define LPWSQLDMODATABASELIST LPWSQLDMOOBJECTLIST
  2529. #define LPASQLDMODATABASELIST LPASQLDMOOBJECTLIST
  2530. #undef LPSQLDMOKEYLIST
  2531. #define LPSQLDMOKEYLIST LPSQLDMOOBJECTLIST
  2532. #define LPWSQLDMOKEYLIST LPWSQLDMOOBJECTLIST
  2533. #define LPASQLDMOKEYLIST LPASQLDMOOBJECTLIST
  2534.  
  2535.  
  2536.  
  2537.  
  2538.  
  2539.  
  2540. #undef LPSQLDMOTRANSPUBLICATIONS
  2541. #undef ISQLDMOTransPublications
  2542. #undef IID_ISQLDMOTransPublications
  2543. interface IWSQLDMOTransPublications;            TYPEDEFINTERFACE IWSQLDMOTransPublications *                    LPWSQLDMOTRANSPUBLICATIONS;
  2544. #define LPSQLDMOTRANSPUBLICATIONS LPWSQLDMOTRANSPUBLICATIONS
  2545. #define ISQLDMOTransPublications IWSQLDMOTransPublications
  2546. #define IID_ISQLDMOTransPublications IID_IWSQLDMOTransPublications
  2547.  
  2548. #undef LPSQLDMOTRANSPUBLICATION
  2549. #undef ISQLDMOTransPublication
  2550. #undef IID_ISQLDMOTransPublication
  2551. interface IWSQLDMOTransPublication;                TYPEDEFINTERFACE IWSQLDMOTransPublication *                    LPWSQLDMOTRANSPUBLICATION;
  2552. #define LPSQLDMOTRANSPUBLICATION LPWSQLDMOTRANSPUBLICATION
  2553. #define ISQLDMOTransPublication IWSQLDMOTransPublication
  2554. #define IID_ISQLDMOTransPublication IID_IWSQLDMOTransPublication
  2555.  
  2556. #undef LPSQLDMOTRANSARTICLES
  2557. #undef ISQLDMOTransArticles
  2558. #undef IID_ISQLDMOTransArticles
  2559. interface IWSQLDMOTransArticles;            TYPEDEFINTERFACE IWSQLDMOTransArticles *                    LPWSQLDMOTRANSARTICLES;
  2560. #define LPSQLDMOTRANSARTICLES LPWSQLDMOTRANSARTICLES
  2561. #define ISQLDMOTransArticles IWSQLDMOTransArticles
  2562. #define IID_ISQLDMOTransArticles IID_IWSQLDMOTransArticles
  2563.  
  2564. #undef LPSQLDMOTRANSARTICLE
  2565. #undef ISQLDMOTransArticle
  2566. #undef IID_ISQLDMOTransArticle
  2567. interface IWSQLDMOTransArticle;                TYPEDEFINTERFACE IWSQLDMOTransArticle *                    LPWSQLDMOTRANSARTICLE;
  2568. #define LPSQLDMOTRANSARTICLE LPWSQLDMOTRANSARTICLE
  2569. #define ISQLDMOTransArticle IWSQLDMOTransArticle
  2570. #define IID_ISQLDMOTransArticle IID_IWSQLDMOTransArticle
  2571.  
  2572. #undef LPSQLDMOTRANSSUBSCRIPTIONS
  2573. #undef ISQLDMOTransSubscriptions
  2574. #undef IID_ISQLDMOTransSubscriptions
  2575. interface IWSQLDMOTransSubscriptions;            TYPEDEFINTERFACE IWSQLDMOTransSubscriptions *                    LPWSQLDMOTRANSSUBSCRIPTIONS;
  2576. #define LPSQLDMOTRANSSUBSCRIPTIONS LPWSQLDMOTRANSSUBSCRIPTIONS
  2577. #define ISQLDMOTransSubscriptions IWSQLDMOTransSubscriptions
  2578. #define IID_ISQLDMOTransSubscriptions IID_IWSQLDMOTransSubscriptions
  2579.  
  2580. #undef LPSQLDMOTRANSSUBSCRIPTION
  2581. #undef ISQLDMOTransSubscription
  2582. #undef IID_ISQLDMOTransSubscription
  2583. interface IWSQLDMOTransSubscription;                TYPEDEFINTERFACE IWSQLDMOTransSubscription *                    LPWSQLDMOTRANSSUBSCRIPTION;
  2584. #define LPSQLDMOTRANSSUBSCRIPTION LPWSQLDMOTRANSSUBSCRIPTION
  2585. #define ISQLDMOTransSubscription IWSQLDMOTransSubscription
  2586. #define IID_ISQLDMOTransSubscription IID_IWSQLDMOTransSubscription
  2587.  
  2588. #undef LPSQLDMOTRANSPULLSUBSCRIPTIONS
  2589. #undef ISQLDMOTransPullSubscriptions
  2590. #undef IID_ISQLDMOTransPullSubscriptions
  2591. interface IWSQLDMOTransPullSubscriptions;            TYPEDEFINTERFACE IWSQLDMOTransPullSubscriptions *                    LPWSQLDMOTRANSPULLSUBSCRIPTIONS;
  2592. #define LPSQLDMOTRANSPULLSUBSCRIPTIONS LPWSQLDMOTRANSPULLSUBSCRIPTIONS
  2593. #define ISQLDMOTransPullSubscriptions IWSQLDMOTransPullSubscriptions
  2594. #define IID_ISQLDMOTransPullSubscriptions IID_IWSQLDMOTransPullSubscriptions
  2595.  
  2596. #undef LPSQLDMOTRANSPULLSUBSCRIPTION
  2597. #undef ISQLDMOTransPullSubscription
  2598. #undef IID_ISQLDMOTransPullSubscription
  2599. interface IWSQLDMOTransPullSubscription;                TYPEDEFINTERFACE IWSQLDMOTransPullSubscription *                    LPWSQLDMOTRANSPULLSUBSCRIPTION;
  2600. #define LPSQLDMOTRANSPULLSUBSCRIPTION LPWSQLDMOTRANSPULLSUBSCRIPTION
  2601. #define ISQLDMOTransPullSubscription IWSQLDMOTransPullSubscription
  2602. #define IID_ISQLDMOTransPullSubscription IID_IWSQLDMOTransPullSubscription
  2603.  
  2604. #undef LPSQLDMOMERGEPUBLICATIONS
  2605. #undef ISQLDMOMergePublications
  2606. #undef IID_ISQLDMOMergePublications
  2607. interface IWSQLDMOMergePublications;            TYPEDEFINTERFACE IWSQLDMOMergePublications *                    LPWSQLDMOMERGEPUBLICATIONS;
  2608. #define LPSQLDMOMERGEPUBLICATIONS LPWSQLDMOMERGEPUBLICATIONS
  2609. #define ISQLDMOMergePublications IWSQLDMOMergePublications
  2610. #define IID_ISQLDMOMergePublications IID_IWSQLDMOMergePublications
  2611.  
  2612. #undef LPSQLDMOMERGEPUBLICATION
  2613. #undef ISQLDMOMergePublication
  2614. #undef IID_ISQLDMOMergePublication
  2615. interface IWSQLDMOMergePublication;                TYPEDEFINTERFACE IWSQLDMOMergePublication *                    LPWSQLDMOMERGEPUBLICATION;
  2616. #define LPSQLDMOMERGEPUBLICATION LPWSQLDMOMERGEPUBLICATION
  2617. #define ISQLDMOMergePublication IWSQLDMOMergePublication
  2618. #define IID_ISQLDMOMergePublication IID_IWSQLDMOMergePublication
  2619.  
  2620. #undef LPSQLDMOMERGEARTICLES
  2621. #undef ISQLDMOMergeArticles
  2622. #undef IID_ISQLDMOMergeArticles
  2623. interface IWSQLDMOMergeArticles;            TYPEDEFINTERFACE IWSQLDMOMergeArticles *                    LPWSQLDMOMERGEARTICLES;
  2624. #define LPSQLDMOMERGEARTICLES LPWSQLDMOMERGEARTICLES
  2625. #define ISQLDMOMergeArticles IWSQLDMOMergeArticles
  2626. #define IID_ISQLDMOMergeArticles IID_IWSQLDMOMergeArticles
  2627.  
  2628. #undef LPSQLDMOMERGEARTICLE
  2629. #undef ISQLDMOMergeArticle
  2630. #undef IID_ISQLDMOMergeArticle
  2631. interface IWSQLDMOMergeArticle;                TYPEDEFINTERFACE IWSQLDMOMergeArticle *                    LPWSQLDMOMERGEARTICLE;
  2632. #define LPSQLDMOMERGEARTICLE LPWSQLDMOMERGEARTICLE
  2633. #define ISQLDMOMergeArticle IWSQLDMOMergeArticle
  2634. #define IID_ISQLDMOMergeArticle IID_IWSQLDMOMergeArticle
  2635.  
  2636. #undef LPSQLDMOMERGESUBSCRIPTIONS
  2637. #undef ISQLDMOMergeSubscriptions
  2638. #undef IID_ISQLDMOMergeSubscriptions
  2639. interface IWSQLDMOMergeSubscriptions;            TYPEDEFINTERFACE IWSQLDMOMergeSubscriptions *                    LPWSQLDMOMERGESUBSCRIPTIONS;
  2640. #define LPSQLDMOMERGESUBSCRIPTIONS LPWSQLDMOMERGESUBSCRIPTIONS
  2641. #define ISQLDMOMergeSubscriptions IWSQLDMOMergeSubscriptions
  2642. #define IID_ISQLDMOMergeSubscriptions IID_IWSQLDMOMergeSubscriptions
  2643.  
  2644. #undef LPSQLDMOMERGESUBSCRIPTION
  2645. #undef ISQLDMOMergeSubscription
  2646. #undef IID_ISQLDMOMergeSubscription
  2647. interface IWSQLDMOMergeSubscription;                TYPEDEFINTERFACE IWSQLDMOMergeSubscription *                    LPWSQLDMOMERGESUBSCRIPTION;
  2648. #define LPSQLDMOMERGESUBSCRIPTION LPWSQLDMOMERGESUBSCRIPTION
  2649. #define ISQLDMOMergeSubscription IWSQLDMOMergeSubscription
  2650. #define IID_ISQLDMOMergeSubscription IID_IWSQLDMOMergeSubscription
  2651.  
  2652. #undef LPSQLDMOMERGEPULLSUBSCRIPTIONS
  2653. #undef ISQLDMOMergePullSubscriptions
  2654. #undef IID_ISQLDMOMergePullSubscriptions
  2655. interface IWSQLDMOMergePullSubscriptions;            TYPEDEFINTERFACE IWSQLDMOMergePullSubscriptions *                    LPWSQLDMOMERGEPULLSUBSCRIPTIONS;
  2656. #define LPSQLDMOMERGEPULLSUBSCRIPTIONS LPWSQLDMOMERGEPULLSUBSCRIPTIONS
  2657. #define ISQLDMOMergePullSubscriptions IWSQLDMOMergePullSubscriptions
  2658. #define IID_ISQLDMOMergePullSubscriptions IID_IWSQLDMOMergePullSubscriptions
  2659.  
  2660. #undef LPSQLDMOMERGEPULLSUBSCRIPTION
  2661. #undef ISQLDMOMergePullSubscription
  2662. #undef IID_ISQLDMOMergePullSubscription
  2663. interface IWSQLDMOMergePullSubscription;                TYPEDEFINTERFACE IWSQLDMOMergePullSubscription *                    LPWSQLDMOMERGEPULLSUBSCRIPTION;
  2664. #define LPSQLDMOMERGEPULLSUBSCRIPTION LPWSQLDMOMERGEPULLSUBSCRIPTION
  2665. #define ISQLDMOMergePullSubscription IWSQLDMOMergePullSubscription
  2666. #define IID_ISQLDMOMergePullSubscription IID_IWSQLDMOMergePullSubscription
  2667.  
  2668. #undef LPSQLDMOMERGESUBSETFILTERS
  2669. #undef ISQLDMOMergeSubsetFilters
  2670. #undef IID_ISQLDMOMergeSubsetFilters
  2671. interface IWSQLDMOMergeSubsetFilters;            TYPEDEFINTERFACE IWSQLDMOMergeSubsetFilters *                    LPWSQLDMOMERGESUBSETFILTERS;
  2672. #define LPSQLDMOMERGESUBSETFILTERS LPWSQLDMOMERGESUBSETFILTERS
  2673. #define ISQLDMOMergeSubsetFilters IWSQLDMOMergeSubsetFilters
  2674. #define IID_ISQLDMOMergeSubsetFilters IID_IWSQLDMOMergeSubsetFilters
  2675.  
  2676. #undef LPSQLDMOMERGESUBSETFILTER
  2677. #undef ISQLDMOMergeSubsetFilter
  2678. #undef IID_ISQLDMOMergeSubsetFilter
  2679. interface IWSQLDMOMergeSubsetFilter;                TYPEDEFINTERFACE IWSQLDMOMergeSubsetFilter *                    LPWSQLDMOMERGESUBSETFILTER;
  2680. #define LPSQLDMOMERGESUBSETFILTER LPWSQLDMOMERGESUBSETFILTER
  2681. #define ISQLDMOMergeSubsetFilter IWSQLDMOMergeSubsetFilter
  2682. #define IID_ISQLDMOMergeSubsetFilter IID_IWSQLDMOMergeSubsetFilter
  2683.  
  2684. #undef LPSQLDMOREPLICATION
  2685. #undef ISQLDMOReplication
  2686. #undef IID_ISQLDMOReplication
  2687. interface IWSQLDMOReplication;                TYPEDEFINTERFACE IWSQLDMOReplication *                    LPWSQLDMOREPLICATION;
  2688. #define LPSQLDMOREPLICATION LPWSQLDMOREPLICATION
  2689. #define ISQLDMOReplication IWSQLDMOReplication
  2690. #define IID_ISQLDMOReplication IID_IWSQLDMOReplication
  2691.  
  2692. #undef LPSQLDMOPUBLISHER
  2693. #undef ISQLDMOPublisher
  2694. #undef IID_ISQLDMOPublisher
  2695. interface IWSQLDMOPublisher;                TYPEDEFINTERFACE IWSQLDMOPublisher *                    LPWSQLDMOPUBLISHER;
  2696. #define LPSQLDMOPUBLISHER LPWSQLDMOPUBLISHER
  2697. #define ISQLDMOPublisher IWSQLDMOPublisher
  2698. #define IID_ISQLDMOPublisher IID_IWSQLDMOPublisher
  2699.  
  2700. #undef LPSQLDMOSUBSCRIBER
  2701. #undef ISQLDMOSubscriber
  2702. #undef IID_ISQLDMOSubscriber
  2703. interface IWSQLDMOSubscriber;                TYPEDEFINTERFACE IWSQLDMOSubscriber *                    LPWSQLDMOSUBSCRIBER;
  2704. #define LPSQLDMOSUBSCRIBER LPWSQLDMOSUBSCRIBER
  2705. #define ISQLDMOSubscriber IWSQLDMOSubscriber
  2706. #define IID_ISQLDMOSubscriber IID_IWSQLDMOSubscriber
  2707.  
  2708. #undef LPSQLDMODISTRIBUTOR
  2709. #undef ISQLDMODistributor
  2710. #undef IID_ISQLDMODistributor
  2711. interface IWSQLDMODistributor;                TYPEDEFINTERFACE IWSQLDMODistributor *                    LPWSQLDMODISTRIBUTOR;
  2712. #define LPSQLDMODISTRIBUTOR LPWSQLDMODISTRIBUTOR
  2713. #define ISQLDMODistributor IWSQLDMODistributor
  2714. #define IID_ISQLDMODistributor IID_IWSQLDMODistributor
  2715.  
  2716. #undef LPSQLDMOREPLICATIONSECURITY
  2717. #undef ISQLDMOReplicationSecurity
  2718. #undef IID_ISQLDMOReplicationSecurity
  2719. interface IWSQLDMOReplicationSecurity;                TYPEDEFINTERFACE IWSQLDMOReplicationSecurity *                    LPWSQLDMOREPLICATIONSECURITY;
  2720. #define LPSQLDMOREPLICATIONSECURITY LPWSQLDMOREPLICATIONSECURITY
  2721. #define ISQLDMOReplicationSecurity IWSQLDMOReplicationSecurity
  2722. #define IID_ISQLDMOReplicationSecurity IID_IWSQLDMOReplicationSecurity
  2723.  
  2724. #undef LPSQLDMOREGISTEREDSUBSCRIBER
  2725. #undef ISQLDMORegisteredSubscriber
  2726. #undef IID_ISQLDMORegisteredSubscriber
  2727. interface IWSQLDMORegisteredSubscriber;                TYPEDEFINTERFACE IWSQLDMORegisteredSubscriber *                    LPWSQLDMOREGISTEREDSUBSCRIBER;
  2728. #define LPSQLDMOREGISTEREDSUBSCRIBER LPWSQLDMOREGISTEREDSUBSCRIBER
  2729. #define ISQLDMORegisteredSubscriber IWSQLDMORegisteredSubscriber
  2730. #define IID_ISQLDMORegisteredSubscriber IID_IWSQLDMORegisteredSubscriber
  2731.  
  2732. #undef LPSQLDMOREGISTEREDSUBSCRIBERS
  2733. #undef ISQLDMORegisteredSubscribers
  2734. #undef IID_ISQLDMORegisteredSubscribers
  2735. interface IWSQLDMORegisteredSubscribers;                TYPEDEFINTERFACE IWSQLDMORegisteredSubscribers *                    LPWSQLDMOREGISTEREDSUBSCRIBERS;
  2736. #define LPSQLDMOREGISTEREDSUBSCRIBERS LPWSQLDMOREGISTEREDSUBSCRIBERS
  2737. #define ISQLDMORegisteredSubscribers IWSQLDMORegisteredSubscribers
  2738. #define IID_ISQLDMORegisteredSubscribers IID_IWSQLDMORegisteredSubscribers
  2739.  
  2740. #undef LPSQLDMOREPLICATIONDATABASE
  2741. #undef ISQLDMOReplicationDatabase
  2742. #undef IID_ISQLDMOReplicationDatabase
  2743. interface IWSQLDMOReplicationDatabase;            TYPEDEFINTERFACE IWSQLDMOReplicationDatabase *                LPWSQLDMOREPLICATIONDATABASE;
  2744. #define LPSQLDMOREPLICATIONDATABASE LPWSQLDMOREPLICATIONDATABASE
  2745. #define ISQLDMOReplicationDatabase IWSQLDMOReplicationDatabase
  2746. #define IID_ISQLDMOReplicationDatabase IID_IWSQLDMOReplicationDatabase
  2747.  
  2748. #undef LPSQLDMOREPLICATIONDATABASES
  2749. #undef ISQLDMOReplicationDatabases
  2750. #undef IID_ISQLDMOReplicationDatabases
  2751. interface IWSQLDMOReplicationDatabases;            TYPEDEFINTERFACE IWSQLDMOReplicationDatabases *                LPWSQLDMOREPLICATIONDATABASES;
  2752. #define LPSQLDMOREPLICATIONDATABASES LPWSQLDMOREPLICATIONDATABASES
  2753. #define ISQLDMOReplicationDatabases IWSQLDMOReplicationDatabases
  2754. #define IID_ISQLDMOReplicationDatabases IID_IWSQLDMOReplicationDatabases
  2755.  
  2756. #undef LPSQLDMODISTRIBUTIONPUBLISHER
  2757. #undef ISQLDMODistributionPublisher
  2758. #undef IID_ISQLDMODistributionPublisher
  2759. interface IWSQLDMODistributionPublisher;                TYPEDEFINTERFACE IWSQLDMODistributionPublisher *                    LPWSQLDMODISTRIBUTIONPUBLISHER;
  2760. #define LPSQLDMODISTRIBUTIONPUBLISHER LPWSQLDMODISTRIBUTIONPUBLISHER
  2761. #define ISQLDMODistributionPublisher IWSQLDMODistributionPublisher
  2762. #define IID_ISQLDMODistributionPublisher IID_IWSQLDMODistributionPublisher
  2763.  
  2764. #undef LPSQLDMODISTRIBUTIONPUBLISHERS
  2765. #undef ISQLDMODistributionPublishers
  2766. #undef IID_ISQLDMODistributionPublishers
  2767. interface IWSQLDMODistributionPublishers;                TYPEDEFINTERFACE IWSQLDMODistributionPublishers *                    LPWSQLDMODISTRIBUTIONPUBLISHERS;
  2768. #define LPSQLDMODISTRIBUTIONPUBLISHERS LPWSQLDMODISTRIBUTIONPUBLISHERS
  2769. #define ISQLDMODistributionPublishers IWSQLDMODistributionPublishers
  2770. #define IID_ISQLDMODistributionPublishers IID_IWSQLDMODistributionPublishers
  2771.  
  2772. #undef LPSQLDMODISTRIBUTIONDATABASE
  2773. #undef ISQLDMODistributionDatabase
  2774. #undef IID_ISQLDMODistributionDatabase
  2775. interface IWSQLDMODistributionDatabase;                TYPEDEFINTERFACE IWSQLDMODistributionDatabase *                    LPWSQLDMODISTRIBUTIONDATABASE;
  2776. #define LPSQLDMODISTRIBUTIONDATABASE LPWSQLDMODISTRIBUTIONDATABASE
  2777. #define ISQLDMODistributionDatabase IWSQLDMODistributionDatabase
  2778. #define IID_ISQLDMODistributionDatabase IID_IWSQLDMODistributionDatabase
  2779.  
  2780. #undef LPSQLDMODISTRIBUTIONDATABASES
  2781. #undef ISQLDMODistributionDatabases
  2782. #undef IID_ISQLDMODistributionDatabases
  2783. interface IWSQLDMODistributionDatabases;                TYPEDEFINTERFACE IWSQLDMODistributionDatabases *                    LPWSQLDMODISTRIBUTIONDATABASES;
  2784. #define LPSQLDMODISTRIBUTIONDATABASES LPWSQLDMODISTRIBUTIONDATABASES
  2785. #define ISQLDMODistributionDatabases IWSQLDMODistributionDatabases
  2786. #define IID_ISQLDMODistributionDatabases IID_IWSQLDMODistributionDatabases
  2787.  
  2788.  
  2789. #undef LPSQLDMOREPLICATIONTABLE
  2790. #undef ISQLDMOReplicationTable
  2791. #undef IID_ISQLDMOReplicationTable
  2792. interface IWSQLDMOReplicationTable;            TYPEDEFINTERFACE IWSQLDMOReplicationTable *                LPWSQLDMOREPLICATIONTABLE;
  2793. #define LPSQLDMOREPLICATIONTABLE LPWSQLDMOREPLICATIONTABLE
  2794. #define ISQLDMOReplicationTable IWSQLDMOReplicationTable
  2795. #define IID_ISQLDMOReplicationTable IID_IWSQLDMOReplicationTable
  2796.  
  2797. #undef LPSQLDMOREPLICATIONTABLES
  2798. #undef ISQLDMOReplicationTables
  2799. #undef IID_ISQLDMOReplicationTables
  2800. interface IWSQLDMOReplicationTables;            TYPEDEFINTERFACE IWSQLDMOReplicationTables *                LPWSQLDMOREPLICATIONTABLES;
  2801. #define LPSQLDMOREPLICATIONTABLES LPWSQLDMOREPLICATIONTABLES
  2802. #define ISQLDMOReplicationTables IWSQLDMOReplicationTables
  2803. #define IID_ISQLDMOReplicationTables IID_IWSQLDMOReplicationTables
  2804.  
  2805. #undef LPSQLDMOREPLICATIONSTOREDPROCEDURE
  2806. #undef ISQLDMOReplicationStoredProcedure
  2807. #undef IID_ISQLDMOReplicationStoredProcedure
  2808. interface IWSQLDMOReplicationStoredProcedure;            TYPEDEFINTERFACE IWSQLDMOReplicationStoredProcedure *                LPWSQLDMOREPLICATIONSTOREDPROCEDURE;
  2809. #define LPSQLDMOREPLICATIONSTOREDPROCEDURE LPWSQLDMOREPLICATIONSTOREDPROCEDURE
  2810. #define ISQLDMOReplicationStoredProcedure IWSQLDMOReplicationStoredProcedure
  2811. #define IID_ISQLDMOReplicationStoredProcedure IID_IWSQLDMOReplicationStoredProcedure
  2812.  
  2813. #undef LPSQLDMOREPLICATIONSTOREDPROCEDURES
  2814. #undef ISQLDMOReplicationStoredProcedures
  2815. #undef IID_ISQLDMOReplicationStoredProcedures
  2816. interface IWSQLDMOReplicationStoredProcedures;            TYPEDEFINTERFACE IWSQLDMOReplicationStoredProcedures *                LPWSQLDMOREPLICATIONSTOREDPROCEDURES;
  2817. #define LPSQLDMOREPLICATIONSTOREDPROCEDURES LPWSQLDMOREPLICATIONSTOREDPROCEDURES
  2818. #define ISQLDMOReplicationStoredProcedures IWSQLDMOReplicationStoredProcedures
  2819. #define IID_ISQLDMOReplicationStoredProcedures IID_IWSQLDMOReplicationStoredProcedures
  2820.  
  2821. #undef LPSQLDMODISTRIBUTIONPUBLICATIONS
  2822. #undef ISQLDMODistributionPublications
  2823. #undef IID_ISQLDMODistributionPublications
  2824. interface IWSQLDMODistributionPublications;            TYPEDEFINTERFACE IWSQLDMODistributionPublications *                    LPWSQLDMODISTRIBUTIONPUBLICATIONS;
  2825. #define LPSQLDMODISTRIBUTIONPUBLICATIONS LPWSQLDMODISTRIBUTIONPUBLICATIONS
  2826. #define ISQLDMODistributionPublications IWSQLDMODistributionPublications
  2827. #define IID_ISQLDMODistributionPublications IID_IWSQLDMODistributionPublications
  2828.  
  2829. #undef LPSQLDMODISTRIBUTIONPUBLICATION
  2830. #undef ISQLDMODistributionPublication
  2831. #undef IID_ISQLDMODistributionPublication
  2832. interface IWSQLDMODistributionPublication;                TYPEDEFINTERFACE IWSQLDMODistributionPublication *                    LPWSQLDMODISTRIBUTIONPUBLICATION;
  2833. #define LPSQLDMODISTRIBUTIONPUBLICATION LPWSQLDMODISTRIBUTIONPUBLICATION
  2834. #define ISQLDMODistributionPublication IWSQLDMODistributionPublication
  2835. #define IID_ISQLDMODistributionPublication IID_IWSQLDMODistributionPublication
  2836.  
  2837. #undef LPSQLDMODISTRIBUTIONARTICLES
  2838. #undef ISQLDMODistributionArticles
  2839. #undef IID_ISQLDMODistributionArticles
  2840. interface IWSQLDMODistributionArticles;            TYPEDEFINTERFACE IWSQLDMODistributionArticles *                    LPWSQLDMODISTRIBUTIONARTICLES;
  2841. #define LPSQLDMODISTRIBUTIONARTICLES LPWSQLDMODISTRIBUTIONARTICLES
  2842. #define ISQLDMODistributionArticles IWSQLDMODistributionArticles
  2843. #define IID_ISQLDMODistributionArticles IID_IWSQLDMODistributionArticles
  2844.  
  2845. #undef LPSQLDMODISTRIBUTIONARTICLE
  2846. #undef ISQLDMODistributionArticle
  2847. #undef IID_ISQLDMODistributionArticle
  2848. interface IWSQLDMODistributionArticle;                TYPEDEFINTERFACE IWSQLDMODistributionArticle *                    LPWSQLDMODISTRIBUTIONARTICLE;
  2849. #define LPSQLDMODISTRIBUTIONARTICLE LPWSQLDMODISTRIBUTIONARTICLE
  2850. #define ISQLDMODistributionArticle IWSQLDMODistributionArticle
  2851. #define IID_ISQLDMODistributionArticle IID_IWSQLDMODistributionArticle
  2852.  
  2853. #undef LPSQLDMODISTRIBUTIONSUBSCRIPTIONS
  2854. #undef ISQLDMODistributionSubscriptions
  2855. #undef IID_ISQLDMODistributionSubscriptions
  2856. interface IWSQLDMODistributionSubscriptions;            TYPEDEFINTERFACE IWSQLDMODistributionSubscriptions *                    LPWSQLDMODISTRIBUTIONSUBSCRIPTIONS;
  2857. #define LPSQLDMODISTRIBUTIONSUBSCRIPTIONS LPWSQLDMODISTRIBUTIONSUBSCRIPTIONS
  2858. #define ISQLDMODistributionSubscriptions IWSQLDMODistributionSubscriptions
  2859. #define IID_ISQLDMODistributionSubscriptions IID_IWSQLDMODistributionSubscriptions
  2860.  
  2861. #undef LPSQLDMODISTRIBUTIONSUBSCRIPTION
  2862. #undef ISQLDMODistributionSubscription
  2863. #undef IID_ISQLDMODistributionSubscription
  2864. interface IWSQLDMODistributionSubscription;                TYPEDEFINTERFACE IWSQLDMODistributionSubscription *                    LPWSQLDMODISTRIBUTIONSUBSCRIPTION;
  2865. #define LPSQLDMODISTRIBUTIONSUBSCRIPTION LPWSQLDMODISTRIBUTIONSUBSCRIPTION
  2866. #define ISQLDMODistributionSubscription IWSQLDMODistributionSubscription
  2867. #define IID_ISQLDMODistributionSubscription IID_IWSQLDMODistributionSubscription
  2868.  
  2869. ////////////////////////////////////////////////////////////////////////////////////////
  2870. // Event Sink Interfaces
  2871. ////////////////////////////////////////////////////////////////////////////////////////
  2872. #undef LPSQLDMOREPLICATIONSINK
  2873. #undef ISQLDMOReplicationSink
  2874. #undef IID_ISQLDMOReplicationSink
  2875. interface IWSQLDMOReplicationSink;                                         TYPEDEFINTERFACE IWSQLDMOReplicationSink *                         LPWSQLDMOREPLICATIONSINK;
  2876. #define LPSQLDMOREPLICATIONSINK LPWSQLDMOREPLICATIONSINK
  2877. #define ISQLDMOReplicationSink IWSQLDMOReplicationSink
  2878. #define IID_ISQLDMOReplicationSink IID_IWSQLDMOReplicationSink
  2879.  
  2880.  
  2881.  
  2882.  
  2883.  
  2884.  
  2885.  
  2886.  
  2887.  
  2888.  
  2889.  
  2890. #undef LPSQLDMOALERTS
  2891. #undef ISQLDMOAlerts
  2892. #undef IID_ISQLDMOAlerts
  2893. interface IWSQLDMOAlerts;                   TYPEDEFINTERFACE IWSQLDMOAlerts *             LPWSQLDMOALERTS;
  2894. #define LPSQLDMOALERTS    LPWSQLDMOALERTS
  2895. #define ISQLDMOAlerts     IWSQLDMOAlerts
  2896. #define IID_ISQLDMOAlerts IID_IWSQLDMOAlerts
  2897.  
  2898. #undef LPSQLDMOALERT
  2899. #undef ISQLDMOAlert
  2900. #undef IID_ISQLDMOAlert
  2901. interface IWSQLDMOAlert;                    TYPEDEFINTERFACE IWSQLDMOAlert *              LPWSQLDMOALERT;
  2902. #define LPSQLDMOALERT    LPWSQLDMOALERT
  2903. #define ISQLDMOAlert     IWSQLDMOAlert
  2904. #define IID_ISQLDMOAlert IID_IWSQLDMOAlert
  2905.  
  2906. #undef LPSQLDMOOPERATORS
  2907. #undef ISQLDMOOperators
  2908. #undef IID_ISQLDMOOperators
  2909. interface IWSQLDMOOperators;                TYPEDEFINTERFACE IWSQLDMOOperators *          LPWSQLDMOOPERATORS;
  2910. #define LPSQLDMOOPERATORS    LPWSQLDMOOPERATORS
  2911. #define ISQLDMOOperators     IWSQLDMOOperators
  2912. #define IID_ISQLDMOOperators IID_IWSQLDMOOperators
  2913.  
  2914. #undef LPSQLDMOOPERATOR
  2915. #undef ISQLDMOOperator
  2916. #undef IID_ISQLDMOOperator
  2917. interface IWSQLDMOOperator;                 TYPEDEFINTERFACE IWSQLDMOOperator *           LPWSQLDMOOPERATOR;
  2918. #define LPSQLDMOOPERATOR    LPWSQLDMOOPERATOR
  2919. #define ISQLDMOOperator     IWSQLDMOOperator
  2920. #define IID_ISQLDMOOperator IID_IWSQLDMOOperator
  2921.  
  2922. #undef LPSQLDMOJOBHISTORYFILTER
  2923. #undef ISQLDMOJobHistoryFilter
  2924. #undef IID_ISQLDMOJobHistoryFilter
  2925. interface IWSQLDMOJobHistoryFilter;         TYPEDEFINTERFACE IWSQLDMOJobHistoryFilter *   LPWSQLDMOJOBHISTORYFILTER;
  2926. #define LPSQLDMOJOBHISTORYFILTER    LPWSQLDMOJOBHISTORYFILTER
  2927. #define ISQLDMOJobHistoryFilter     IWSQLDMOJobHistoryFilter
  2928. #define IID_ISQLDMOJobHistoryFilter IID_IWSQLDMOJobHistoryFilter
  2929.  
  2930. #undef LPSQLDMOJOBSERVER
  2931. #undef ISQLDMOJobServer
  2932. #undef IID_ISQLDMOJobServer
  2933. interface IWSQLDMOJobServer;                TYPEDEFINTERFACE IWSQLDMOJobServer *          LPWSQLDMOJOBSERVER;
  2934. #define LPSQLDMOJOBSERVER    LPWSQLDMOJOBSERVER
  2935. #define ISQLDMOJobServer     IWSQLDMOJobServer
  2936. #define IID_ISQLDMOJobServer IID_IWSQLDMOJobServer
  2937.  
  2938. #undef LPSQLDMOALERTSYSTEM
  2939. #undef ISQLDMOAlertSystem
  2940. #undef IID_ISQLDMOAlertSystem
  2941. interface IWSQLDMOAlertSystem;              TYPEDEFINTERFACE IWSQLDMOAlertSystem *        LPWSQLDMOALERTSYSTEM;
  2942. #define LPSQLDMOALERTSYSTEM    LPWSQLDMOALERTSYSTEM
  2943. #define ISQLDMOAlertSystem     IWSQLDMOAlertSystem
  2944. #define IID_ISQLDMOAlertSystem IID_IWSQLDMOAlertSystem
  2945.  
  2946. #undef LPSQLDMOJOBS
  2947. #undef ISQLDMOJobs
  2948. #undef IID_ISQLDMOJobs
  2949. interface IWSQLDMOJobs;                     TYPEDEFINTERFACE IWSQLDMOJobs *               LPWSQLDMOJOBS;
  2950. #define LPSQLDMOJOBS    LPWSQLDMOJOBS
  2951. #define ISQLDMOJobs     IWSQLDMOJobs
  2952. #define IID_ISQLDMOJobs IID_IWSQLDMOJobs
  2953.  
  2954. #undef LPSQLDMOJOB
  2955. #undef ISQLDMOJob
  2956. #undef IID_ISQLDMOJob
  2957. interface IWSQLDMOJob;                      TYPEDEFINTERFACE IWSQLDMOJob *                LPWSQLDMOJOB;
  2958. #define LPSQLDMOJOB    LPWSQLDMOJOB
  2959. #define ISQLDMOJob     IWSQLDMOJob
  2960. #define IID_ISQLDMOJob IID_IWSQLDMOJob
  2961.  
  2962. #undef LPSQLDMOJOBSTEPS
  2963. #undef ISQLDMOJobSteps
  2964. #undef IID_ISQLDMOJobSteps
  2965. interface IWSQLDMOJobSteps;                 TYPEDEFINTERFACE IWSQLDMOJobSteps *           LPWSQLDMOJOBSTEPS;
  2966. #define LPSQLDMOJOBSTEPS    LPWSQLDMOJOBSTEPS
  2967. #define ISQLDMOJobSteps     IWSQLDMOJobSteps
  2968. #define IID_ISQLDMOJobSteps IID_IWSQLDMOJobSteps
  2969.  
  2970. #undef LPSQLDMOJOBSTEP
  2971. #undef ISQLDMOJobStep
  2972. #undef IID_ISQLDMOJobStep
  2973. interface IWSQLDMOJobStep;                  TYPEDEFINTERFACE IWSQLDMOJobStep *            LPWSQLDMOJOBSTEP;
  2974. #define LPSQLDMOJOBSTEP    LPWSQLDMOJOBSTEP
  2975. #define ISQLDMOJobStep     IWSQLDMOJobStep
  2976. #define IID_ISQLDMOJobStep IID_IWSQLDMOJobStep
  2977.  
  2978. #undef LPSQLDMOTARGETSERVERS
  2979. #undef ISQLDMOTargetServers
  2980. #undef IID_ISQLDMOTargetServers
  2981. interface IWSQLDMOTargetServers;            TYPEDEFINTERFACE IWSQLDMOTargetServers *      LPWSQLDMOTARGETSERVERS;
  2982. #define LPSQLDMOTARGETSERVERS    LPWSQLDMOTARGETSERVERS
  2983. #define ISQLDMOTargetServers     IWSQLDMOTargetServers
  2984. #define IID_ISQLDMOTargetServers IID_IWSQLDMOTargetServers
  2985.  
  2986. #undef LPSQLDMOTARGETSERVER
  2987. #undef ISQLDMOTargetServer
  2988. #undef IID_ISQLDMOTargetServer
  2989. interface IWSQLDMOTargetServer;             TYPEDEFINTERFACE IWSQLDMOTargetServer *       LPWSQLDMOTARGETSERVER;
  2990. #define LPSQLDMOTARGETSERVER    LPWSQLDMOTARGETSERVER
  2991. #define ISQLDMOTargetServer     IWSQLDMOTargetServer
  2992. #define IID_ISQLDMOTargetServer IID_IWSQLDMOTargetServer
  2993.  
  2994. #undef LPSQLDMOTARGETSERVERGROUPS
  2995. #undef ISQLDMOTargetServerGroups
  2996. #undef IID_ISQLDMOTargetServerGroups
  2997. interface IWSQLDMOTargetServerGroups;       TYPEDEFINTERFACE IWSQLDMOTargetServerGroups * LPWSQLDMOTARGETSERVERGROUPS;
  2998. #define LPSQLDMOTARGETSERVERGROUPS    LPWSQLDMOTARGETSERVERGROUPS
  2999. #define ISQLDMOTargetServerGroups     IWSQLDMOTargetServerGroups
  3000. #define IID_ISQLDMOTargetServerGroups IID_IWSQLDMOTargetServerGroups
  3001.  
  3002. #undef LPSQLDMOTARGETSERVERGROUP
  3003. #undef ISQLDMOTargetServerGroup
  3004. #undef IID_ISQLDMOTargetServerGroup
  3005. interface IWSQLDMOTargetServerGroup;        TYPEDEFINTERFACE IWSQLDMOTargetServerGroup *  LPWSQLDMOTARGETSERVERGROUP;
  3006. #define LPSQLDMOTARGETSERVERGROUP    LPWSQLDMOTARGETSERVERGROUP
  3007. #define ISQLDMOTargetServerGroup     IWSQLDMOTargetServerGroup
  3008. #define IID_ISQLDMOTargetServerGroup IID_IWSQLDMOTargetServerGroup
  3009.  
  3010. #undef LPSQLDMOJOBCATEGORIES
  3011. #undef ISQLDMOJobCategories
  3012. #undef IID_ISQLDMOJobCategories
  3013. interface IWSQLDMOJobCategories;            TYPEDEFINTERFACE IWSQLDMOJobCategories *      LPWSQLDMOJOBCATEGORIES;
  3014. #define LPSQLDMOJOBCATEGORIES    LPWSQLDMOJOBCATEGORIES
  3015. #define ISQLDMOJobCategories     IWSQLDMOJobCategories
  3016. #define IID_ISQLDMOJobCategories IID_IWSQLDMOJobCategories
  3017.  
  3018. #undef LPSQLDMOALERTCATEGORIES
  3019. #undef ISQLDMOAlertCategories
  3020. #undef IID_ISQLDMOAlertCategories
  3021. interface IWSQLDMOAlertCategories;            TYPEDEFINTERFACE IWSQLDMOAlertCategories *      LPWSQLDMOALERTCATEGORIES;
  3022. #define LPSQLDMOALERTCATEGORIES    LPWSQLDMOALERTCATEGORIES
  3023. #define ISQLDMOAlertCategories     IWSQLDMOAlertCategories
  3024. #define IID_ISQLDMOAlertCategories IID_IWSQLDMOAlertCategories
  3025.  
  3026. #undef LPSQLDMOOPERATORCATEGORIES
  3027. #undef ISQLDMOOperatorCategories
  3028. #undef IID_ISQLDMOOperatorCategories
  3029. interface IWSQLDMOOperatorCategories;            TYPEDEFINTERFACE IWSQLDMOOperatorCategories *      LPWSQLDMOOPERATORCATEGORIES;
  3030. #define LPSQLDMOOPERATORCATEGORIES    LPWSQLDMOOPERATORCATEGORIES
  3031. #define ISQLDMOOperatorCategories     IWSQLDMOOperatorCategories
  3032. #define IID_ISQLDMOOperatorCategories IID_IWSQLDMOOperatorCategories
  3033.  
  3034. #undef LPSQLDMOCATEGORY
  3035. #undef ISQLDMOCategory
  3036. #undef IID_ISQLDMOCategory
  3037. interface IWSQLDMOCategory;              TYPEDEFINTERFACE IWSQLDMOCategory *        LPWSQLDMOCATEGORY;
  3038. #define LPSQLDMOCATEGORY    LPWSQLDMOCATEGORY
  3039. #define ISQLDMOCategory     IWSQLDMOCategory
  3040. #define IID_ISQLDMOCategory IID_IWSQLDMOCategory
  3041.  
  3042. #undef LPSQLDMOSCHEDULE
  3043. #undef ISQLDMOSchedule
  3044. #undef IID_ISQLDMOSchedule
  3045. interface IWSQLDMOSchedule;                 TYPEDEFINTERFACE IWSQLDMOSchedule *           LPWSQLDMOSCHEDULE;
  3046. #define LPSQLDMOSCHEDULE    LPWSQLDMOSCHEDULE
  3047. #define ISQLDMOSchedule     IWSQLDMOSchedule
  3048. #define IID_ISQLDMOSchedule IID_IWSQLDMOSchedule
  3049.  
  3050. #undef LPSQLDMOJOBFILTER
  3051. #undef ISQLDMOJobFilter
  3052. #undef IID_ISQLDMOJobFilter
  3053. interface IWSQLDMOJobFilter;                TYPEDEFINTERFACE IWSQLDMOJobFilter *          LPWSQLDMOJOBFILTER;
  3054. #define LPSQLDMOJOBFILTER    LPWSQLDMOJOBFILTER
  3055. #define ISQLDMOJobFilter     IWSQLDMOJobFilter
  3056. #define IID_ISQLDMOJobFilter IID_IWSQLDMOJobFilter
  3057.  
  3058. #undef LPSQLDMOJOBSCHEDULES
  3059. #undef ISQLDMOJobSchedules
  3060. #undef IID_ISQLDMOJobSchedules
  3061. interface IWSQLDMOJobSchedules;             TYPEDEFINTERFACE IWSQLDMOJobSchedules *       LPWSQLDMOJOBSCHEDULES;
  3062. #define LPSQLDMOJOBSCHEDULES    LPWSQLDMOJOBSCHEDULES
  3063. #define ISQLDMOJobSchedules     IWSQLDMOJobSchedules
  3064. #define IID_ISQLDMOJobSchedules IID_IWSQLDMOJobSchedules
  3065.  
  3066. #undef LPSQLDMOJOBSCHEDULE
  3067. #undef ISQLDMOJobSchedule
  3068. #undef IID_ISQLDMOJobSchedule
  3069. interface IWSQLDMOJobSchedule;              TYPEDEFINTERFACE IWSQLDMOJobSchedule *        LPWSQLDMOJOBSCHEDULE;
  3070. #define LPSQLDMOJOBSCHEDULE    LPWSQLDMOJOBSCHEDULE
  3071. #define ISQLDMOJobSchedule     IWSQLDMOJobSchedule
  3072. #define IID_ISQLDMOJobSchedule IID_IWSQLDMOJobSchedule
  3073.  
  3074. // Auto-documenting names for these... They return an LPSQLDMOOBJECTLIST
  3075. // of the specified <objecttype>LIST objects.. e.g. LPSQLDMOCOLUMNLIST
  3076. // returns a list of LPSQLDMOCOLUMN objects.
  3077.  
  3078. #define SQLDMOCategory_UseDefault    TEXT("[DEFAULT]")
  3079. #define SQLDMOTargetServer_Local     TEXT("(local)")
  3080. #define SQLDMOAlert_NoJob            TEXT("00000000000000000000000000000000")
  3081.  
  3082.  
  3083.  
  3084.  
  3085.  
  3086. ////////////////////////////
  3087. // Interface definitions.
  3088. ////////////////////////////
  3089.  
  3090. // This is the base class for all SQLDMO objects.  It is never instantiated by itself.
  3091. // The members must be copied into all derived classes so that C clients can reference
  3092. // them, since the DECLARE_INTERFACE_ macro doesn't provide inheritance in C.  The
  3093. // undef/def of INTERFACE is likewise required for C programmers.
  3094. #undef INTERFACE
  3095. #define INTERFACE ISQLDMOStdObject
  3096. DECLARE_INTERFACE_(INTERFACE, IUnknown)
  3097. {
  3098.    //*** IUnknown methods
  3099.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  3100.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  3101.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  3102.  
  3103.     //*** SQLDMO standard object properties.
  3104.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  3105.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  3106.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  3107.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  3108.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  3109. };
  3110.  
  3111. #ifdef __cplusplus
  3112. #ifndef CTEMPOLEREF_DEFINED
  3113. #define CTEMPOLEREF_DEFINED
  3114. // This is a utility class that takes an IUnknown-derived pointer as input and automatically
  3115. // Release()s it in dtor.  Use this as a stack variable which will hold objects and
  3116. // Release() them when they go out of scope; useful if multiple exit points.
  3117. template < class OLEPTR> class CTempOLERef {
  3118.     OLEPTR m_oleptr;
  3119.  
  3120.     // Private copy operators -- we don't want these used due to refcounting issues.
  3121.     // Since they can't therefore be called, no need to assign a body.
  3122.     CTempOLERef(const CTempOLERef<OLEPTR>& Src);
  3123.     OLEPTR  operator = (const CTempOLERef<OLEPTR>& Src);
  3124.  
  3125. public:
  3126.     CTempOLERef() {m_oleptr = NULL;}
  3127.     CTempOLERef(OLEPTR pIn) {m_oleptr = pIn;}
  3128.     ~CTempOLERef() {if (m_oleptr) m_oleptr->Release();}
  3129.     OLEPTR p() {return m_oleptr;}                // Alternative to casting (better for cut 'n paste).
  3130.  
  3131.     operator OLEPTR () {return m_oleptr;}        // Return the input pointer on a cast
  3132.     operator LPUNKNOWN () {return m_oleptr;}
  3133.     operator void *() {return (void *)m_oleptr;}
  3134.     operator BOOL () {return m_oleptr ? TRUE : FALSE;}
  3135.     OLEPTR  operator = (OLEPTR pIn) {if (m_oleptr) m_oleptr->Release(); return m_oleptr = pIn;}
  3136.     OLEPTR * operator & () {return &m_oleptr;}    // Overload address-of operator
  3137.     BOOL operator ! () {return m_oleptr ? FALSE : TRUE;}
  3138.     OLEPTR operator -> () {return m_oleptr;}    // Pass operator-> thru to m_oleptr; allows tempxxxRef->xxxSpecificMember();
  3139.  
  3140.     // Apps should not Release() this object directly as it is intended to do so as it goes out of scope,
  3141.     // hence as a safety feature to avoid double-Release() clear the pointer if it's called directly.
  3142.     void Release() {if (m_oleptr) m_oleptr->Release(); m_oleptr = NULL;}
  3143. };
  3144.  
  3145. // Similar to above, for use with SQLDMO_BSTR's
  3146. class CTempBSTR {
  3147.     SQLDMO_BSTR m_bstr;
  3148.  
  3149.     // Private copy operators -- we don't want these used due to refcounting issues.
  3150.     // Since they can't therefore be called, no need to assign a body.
  3151.     CTempBSTR(const CTempBSTR& Src);
  3152.     SQLDMO_BSTR  operator = (const CTempBSTR& Src);
  3153.  
  3154. public:
  3155.     CTempBSTR() {m_bstr = NULL;}
  3156.     CTempBSTR(SQLDMO_BSTR bstrIn) {m_bstr = bstrIn;}
  3157.     ~CTempBSTR() {Free();}
  3158.     void Free() {if (m_bstr) {SQLDMOFreeString(m_bstr); m_bstr = NULL;}}
  3159.     SQLDMO_BSTR b() {return m_bstr;}
  3160.  
  3161.     operator SQLDMO_LPCSTR () {return (SQLDMO_LPCSTR)m_bstr;}
  3162.     operator void *() {return (void *)m_bstr;}
  3163.     SQLDMO_BSTR operator = (SQLDMO_BSTR bstrIn) {Free(); return m_bstr = bstrIn;}
  3164.     SQLDMO_BSTR * operator & () {return &m_bstr;}        // Overload address-of operator
  3165.     BOOL operator ! () {return m_bstr ? FALSE : TRUE;}
  3166. };
  3167.  
  3168. #endif  // CTEMPOLEREF_DEFINED
  3169. #endif    // __cplusplus
  3170.  
  3171.  
  3172.  
  3173.  
  3174.  
  3175. ////////////////////////////////////////////////////////////////////////////////////
  3176. ////////////////////////////////////////////////////////////////////////////////////
  3177.  
  3178. // Generic enumerator object.
  3179. #undef INTERFACE
  3180. #define INTERFACE ISQLDMOObjectList
  3181. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  3182. {
  3183.    //*** IUnknown methods
  3184.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  3185.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  3186.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  3187.  
  3188.         //*** SQLDMO standard object properties.
  3189.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  3190.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  3191.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  3192.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  3193.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  3194.  
  3195.     //*** SQLDMO standard enumeration properties.  The object returned must be
  3196.     //*** cast to the appropriate object type; the type to cast to is indicated
  3197.     //*** by the LPSQLDMO<objecttype>LIST typedef of the returned list object.
  3198.     //*** e.g. LPSQLDMOCOLUMNLIST returns a list of objects which cast to LPSQLDMOCOLUMN.
  3199.         STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLDMOSTDOBJECT *ppObject) PURE;
  3200.         STDMETHOD(GetItemByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOSTDOBJECT *ppObject) PURE;
  3201.         STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  3202.         STDMETHOD(Refresh)(THIS) PURE;
  3203. };
  3204.  
  3205. ////////////////////////////////////////////////////////////////////////////////////
  3206. ////////////////////////////////////////////////////////////////////////////////////
  3207.  
  3208. // Names collection object (LPSQLDMONAMES).
  3209. #undef INTERFACE
  3210. #define INTERFACE ISQLDMONames
  3211. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  3212. {
  3213.    //*** IUnknown methods
  3214.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  3215.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  3216.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  3217.  
  3218.         //*** SQLDMO standard object properties.
  3219.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  3220.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  3221.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  3222.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  3223.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  3224.  
  3225.     //*** SQLDMO standard enumeration properties
  3226.         STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, SQLDMO_LPBSTR pRetVal) PURE;
  3227.         STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  3228.  
  3229.     //*** SQLDMO standard collection methods
  3230.         STDMETHOD(Add)(THIS_ SQLDMO_LPCSTR szName) PURE;
  3231.         STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  3232.         STDMETHOD(RemoveByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  3233.         STDMETHOD(Refresh)(THIS) PURE;
  3234.         STDMETHOD(InsertByOrd)(THIS_ SQLDMO_LPCSTR szName, long lOrdinal) PURE;
  3235.         STDMETHOD(InsertByName)(THIS_ SQLDMO_LPCSTR szName, SQLDMO_LPCSTR szBeforeName) PURE;
  3236.         STDMETHOD(ReplaceByOrd)(THIS_ SQLDMO_LPCSTR szName, long lOrdinal) PURE;
  3237.         STDMETHOD(ReplaceByName)(THIS_ SQLDMO_LPCSTR szName, SQLDMO_LPCSTR szReplaceName) PURE;
  3238.         STDMETHOD(FindName)(THIS_ SQLDMO_LPCSTR szName, LPLONG pRetVal) PURE;
  3239. };
  3240.  
  3241. ////////////////////////////////////////////////////////////////////////////////////
  3242. ////////////////////////////////////////////////////////////////////////////////////
  3243.  
  3244. // Names enumerator object (LPSQLDMONAMELIST).
  3245. #undef INTERFACE
  3246. #define INTERFACE ISQLDMONameList
  3247. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  3248. {
  3249.    //*** IUnknown methods
  3250.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  3251.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  3252.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  3253.  
  3254.         //*** SQLDMO standard object properties.
  3255.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  3256.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  3257.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  3258.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  3259.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  3260.  
  3261.     //*** SQLDMO standard enumeration properties
  3262.         STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, SQLDMO_LPBSTR pRetVal) PURE;
  3263.         STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  3264.  
  3265.     //*** SQLDMO standard collection methods
  3266.         STDMETHOD(Refresh)(THIS) PURE;
  3267.         STDMETHOD(FindName)(THIS_ SQLDMO_LPCSTR szName, LPLONG pRetVal) PURE;
  3268.  
  3269. };
  3270.  
  3271. ////////////////////////////////////////////////////////////////////////////////////
  3272. ////////////////////////////////////////////////////////////////////////////////////
  3273.  
  3274. #undef INTERFACE
  3275. #define INTERFACE ISQLDMOApplication
  3276. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  3277. {
  3278.    //*** IUnknown methods
  3279.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  3280.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  3281.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  3282.  
  3283.         //*** SQLDMO standard object properties.
  3284.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  3285.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  3286.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  3287.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  3288.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  3289.  
  3290.         //*** properties
  3291.     STDMETHOD(GetName)(THIS_ SQLDMO_LPBSTR pbstrName) PURE;
  3292.     STDMETHOD(GetFullName)(THIS_ SQLDMO_LPBSTR pbstrName) PURE;
  3293.     STDMETHOD(GetODBCVersionString)(THIS_ SQLDMO_LPBSTR pbstrVersion) PURE;
  3294.     STDMETHOD(GetVersionMajor)(THIS_ LPLONG pRetVal) PURE;
  3295.     STDMETHOD(GetVersionMinor)(THIS_ LPLONG pRetVal) PURE;
  3296.  
  3297.         // Collection properties
  3298.     STDMETHOD(GetSQLServers)(THIS_ LPSQLDMOSERVERS *pServers) PURE;
  3299.     STDMETHOD(GetSQLServerByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOSERVER *ppSQLServer) PURE;
  3300.     STDMETHOD(GetSQLServerByOrd)(THIS_ long lOrdinal, LPSQLDMOSERVER *ppSQLServer) PURE;
  3301.     STDMETHOD(RemoveSQLServerByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  3302.     STDMETHOD(RemoveSQLServerByOrd)(THIS_ long lOrdinal) PURE;
  3303.     STDMETHOD(AddSQLServer)(THIS_ LPSQLDMOSERVER pSQLServer) PURE;
  3304.     STDMETHOD(GetSQLServerCount)(THIS_ LPLONG plCount) PURE;
  3305.  
  3306.         //*** methods
  3307.     STDMETHOD(Quit)(THIS) PURE;
  3308.  
  3309.    // Post-6.0 additions.
  3310.     STDMETHOD(GetGroupRegistrationServer)(THIS_ SQLDMO_LPBSTR pbstrVersion) PURE;
  3311.     STDMETHOD(SetGroupRegistrationServer)(THIS_ SQLDMO_LPCSTR pbstrVersion) PURE;
  3312.     STDMETHOD(GetGroupRegistrationVersion)(THIS_ LPLONG pRetVal) PURE;
  3313.     STDMETHOD(GetUseCurrentUserServerGroups)(THIS_ LPBOOL pRetVal) PURE;
  3314.     STDMETHOD(SetUseCurrentUserServerGroups)(THIS_ BOOL pRetVal) PURE;
  3315.     STDMETHOD(GetVersionBuild)(THIS_ LPLONG pRetVal) PURE;
  3316.  
  3317.     STDMETHOD(GetServerGroups)(THIS_ LPSQLDMOSERVERGROUPS *ppServerGroups) PURE;
  3318.     STDMETHOD(GetServerGroupByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOSERVERGROUP *ppServerGroup) PURE;
  3319.     STDMETHOD(GetServerGroupByOrd)(THIS_ long lOrdinal, LPSQLDMOSERVERGROUP *ppServerGroup) PURE;
  3320.     STDMETHOD(RemoveServerGroupByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  3321.     STDMETHOD(RemoveServerGroupByOrd)(THIS_ long lOrdinal) PURE;
  3322.     STDMETHOD(AddServerGroup)(THIS_ LPSQLDMOSERVERGROUP pServerGroup) PURE;
  3323.     STDMETHOD(GetServerGroupCount)(THIS_ LPLONG plCount) PURE;
  3324.  
  3325.     STDMETHOD(ListAvailableSQLServers)(THIS_ LPSQLDMONAMELIST *ppServerNames) PURE;
  3326.  
  3327.         // Post-6.5
  3328.     STDMETHOD(GetBlockingTimeout)(THIS_ LPLONG pRetVal) PURE;
  3329.     STDMETHOD(SetBlockingTimeout)(THIS_ long NewValue) PURE;
  3330.  
  3331. };
  3332.  
  3333. ////////////////////////////////////////////////////////////////////////////////////
  3334. ////////////////////////////////////////////////////////////////////////////////////
  3335.  
  3336. #undef INTERFACE
  3337. #define INTERFACE ISQLDMOServers
  3338. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  3339. {
  3340.    //*** IUnknown methods
  3341.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  3342.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  3343.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  3344.  
  3345.         //*** SQLDMO standard object properties.
  3346.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  3347.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  3348.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  3349.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  3350.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  3351.  
  3352.     //*** SQLDMO standard enumeration properties
  3353.         STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLDMOSERVER *ppObj) PURE;
  3354.         STDMETHOD(GetItemByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOSERVER *ppObj) PURE;
  3355.     STDMETHOD(GetItemByID)(THIS_ long lID, LPSQLDMOSERVER *ppObj) PURE;
  3356.         STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  3357. };
  3358.  
  3359. #undef INTERFACE
  3360. #define INTERFACE ISQLDMOServer
  3361. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  3362. {
  3363.    //*** IUnknown methods
  3364.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  3365.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  3366.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  3367.  
  3368.         //*** SQLDMO standard object properties.
  3369.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  3370.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  3371.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  3372.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  3373.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  3374.  
  3375.         //*** properties
  3376.     STDMETHOD(GetApplicationName)(THIS_ SQLDMO_LPBSTR pbstrAppName) PURE;
  3377.     STDMETHOD(SetApplicationName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  3378.     STDMETHOD(GetConnectionID)(THIS_ LPLONG plConnectionID) PURE;
  3379.     STDMETHOD(GetHostName)(THIS_ SQLDMO_LPBSTR pbstrHostName) PURE;
  3380.     STDMETHOD(SetHostName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  3381.     STDMETHOD(GetLanguage)(THIS_ SQLDMO_LPBSTR pbstrLanguage) PURE;
  3382.     STDMETHOD(SetLanguage)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  3383.     STDMETHOD(GetLogin)(THIS_ SQLDMO_LPBSTR pbstrLogin) PURE;
  3384.     STDMETHOD(SetLogin)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  3385.     STDMETHOD(GetName)(THIS_ SQLDMO_LPBSTR pbstrName) PURE;
  3386.     STDMETHOD(SetName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  3387.     STDMETHOD(GetNextDeviceNumber)(THIS_ LPLONG plNextDeviceNumber) PURE;
  3388.     STDMETHOD(GetQueryTimeout)(THIS_ LPLONG pRetVal) PURE;
  3389.     STDMETHOD(SetQueryTimeout)(THIS_ long NewValue) PURE;
  3390.     STDMETHOD(GetLoginTimeout)(THIS_ LPLONG pRetVal) PURE;
  3391.     STDMETHOD(SetLoginTimeout)(THIS_ long NewValue) PURE;
  3392.     STDMETHOD(GetLoginSecure)(THIS_ LPBOOL pRetVal) PURE;
  3393.     STDMETHOD(SetLoginSecure)(THIS_ BOOL NewValue) PURE;
  3394.     STDMETHOD(GetNetPacketSize)(THIS_ LPLONG pRetVal) PURE;
  3395.     STDMETHOD(SetNetPacketSize)(THIS_ long NewValue) PURE;
  3396.     STDMETHOD(GetPassword)(THIS_ SQLDMO_LPBSTR pbstrPassword) PURE;
  3397.     STDMETHOD(SetPassword)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  3398.     STDMETHOD(GetProcessID)(THIS_ LPLONG plProcessID) PURE;
  3399.     STDMETHOD(GetStatus)(THIS_ SQLDMO_SVCSTATUS_TYPE *pStatus) PURE;
  3400.     STDMETHOD(GetUserProfile)(THIS_ SQLDMO_SRVUSERPROFILE_TYPE *pProfileBits) PURE;
  3401.     STDMETHOD(GetMaxNumericPrecision)(THIS_ LPLONG pMaxPrec) PURE;
  3402.     STDMETHOD(GetTrueLogin)(THIS_ SQLDMO_LPBSTR pbstrTrueLogin) PURE;
  3403.     STDMETHOD(GetTrueName)(THIS_ SQLDMO_LPBSTR pbstrTrueName) PURE;
  3404.     STDMETHOD(GetVersionString)(THIS_ SQLDMO_LPBSTR pbstrVersion) PURE;
  3405.     STDMETHOD(GetVersionMajor)(THIS_ LPLONG pRetVal) PURE;
  3406.     STDMETHOD(GetVersionMinor)(THIS_ LPLONG pRetVal) PURE;
  3407.     STDMETHOD(GetCommandTerminator)(THIS_ SQLDMO_LPBSTR pbstrName) PURE;
  3408.     STDMETHOD(SetCommandTerminator)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  3409.     STDMETHOD(GetProcessInputBuffer)(THIS_ long lProcessID, SQLDMO_LPBSTR pRetVal) PURE;
  3410.     STDMETHOD(GetProcessOutputBuffer)(THIS_ long lProcessID, SQLDMO_LPBSTR pRetVal) PURE;
  3411.     STDMETHOD(GetAutoReConnect)(THIS_ LPBOOL pRetVal) PURE;
  3412.     STDMETHOD(SetAutoReConnect)(THIS_ BOOL NewValue) PURE;
  3413.     STDMETHOD(GetStatusInfoRefetchInterval)(THIS_ SQLDMO_STATUSINFO_TYPE StatusInfoType, LPLONG pRefetchSeconds) PURE;
  3414.     STDMETHOD(SetStatusInfoRefetchInterval)(THIS_ SQLDMO_STATUSINFO_TYPE StatusInfoType, long RefetchSeconds) PURE;
  3415.     STDMETHOD(GetSaLogin)(THIS_ LPBOOL pRetVal) PURE;
  3416.     STDMETHOD(GetAnsiNulls)(THIS_ LPBOOL pRetVal) PURE;
  3417.     STDMETHOD(SetAnsiNulls)(THIS_ BOOL NewValue) PURE;
  3418.  
  3419.         //*** Object properties
  3420.     STDMETHOD(GetConfiguration)(THIS_ LPSQLDMOCONFIGURATION *ppConfig) PURE;
  3421.     STDMETHOD(GetIntegratedSecurity)(THIS_ LPSQLDMOINTEGRATEDSECURITY *ppIntSec) PURE;
  3422.     STDMETHOD(GetRegistry)(THIS_ LPSQLDMOREGISTRY *ppRegistry) PURE;
  3423.     STDMETHOD(GetJobServer)(THIS_ LPSQLDMOJOBSERVER *ppJobServer) PURE;
  3424.  
  3425.         //*** collection properties
  3426.     STDMETHOD(GetDatabases)(THIS_ LPSQLDMODATABASES *ppDatabases) PURE;
  3427.     STDMETHOD(GetDatabaseByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMODATABASE *ppDatabase, SQLDMO_LPCSTR szOwner CPPDEFAULT(= NULL)) PURE;
  3428.     STDMETHOD(GetDatabaseByOrd)(THIS_ long lOrdinal, LPSQLDMODATABASE *ppDatabase) PURE;
  3429.     STDMETHOD(RemoveDatabaseByName)(THIS_ SQLDMO_LPCSTR szName, SQLDMO_LPCSTR szOwner CPPDEFAULT(= NULL)) PURE;
  3430.     STDMETHOD(RemoveDatabaseByOrd)(THIS_ long lOrdinal) PURE;
  3431.     STDMETHOD(AddDatabase)(THIS_ LPSQLDMODATABASE pDatabase) PURE;
  3432.     STDMETHOD(GetDatabaseCount)(THIS_ LPLONG plCount) PURE;
  3433.  
  3434.     STDMETHOD(GetBackupDevices)(THIS_ LPSQLDMOBACKUPDEVICES *ppBackupDevices) PURE;
  3435.     STDMETHOD(GetBackupDeviceByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOBACKUPDEVICE *ppBackupDevice) PURE;
  3436.     STDMETHOD(GetBackupDeviceByOrd)(THIS_ long lOrdinal, LPSQLDMOBACKUPDEVICE *ppBackupDevice) PURE;
  3437.     STDMETHOD(RemoveBackupDeviceByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  3438.     STDMETHOD(RemoveBackupDeviceByOrd)(THIS_ long lOrdinal) PURE;
  3439.     STDMETHOD(AddBackupDevice)(THIS_ LPSQLDMOBACKUPDEVICE pBackupDevice) PURE;
  3440.     STDMETHOD(GetBackupDeviceCount)(THIS_ LPLONG plCount) PURE;
  3441.  
  3442.     STDMETHOD(GetLogins)(THIS_ LPSQLDMOLOGINS *ppLogins) PURE;
  3443.     STDMETHOD(GetLoginByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOLOGIN *ppLogin) PURE;
  3444.     STDMETHOD(GetLoginByOrd)(THIS_ long lOrdinal, LPSQLDMOLOGIN *ppLogin) PURE;
  3445.     STDMETHOD(RemoveLoginByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  3446.     STDMETHOD(RemoveLoginByOrd)(THIS_ long lOrdinal) PURE;
  3447.     STDMETHOD(AddLogin)(THIS_ LPSQLDMOLOGIN pLogin) PURE;
  3448.     STDMETHOD(GetLoginCount)(THIS_ LPLONG plCount) PURE;
  3449.  
  3450.     STDMETHOD(GetLanguages)(THIS_ LPSQLDMOLANGUAGES *ppLanguages) PURE;
  3451.     STDMETHOD(GetLanguageByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOLANGUAGE *ppLanguage) PURE;
  3452.     STDMETHOD(GetLanguageByOrd)(THIS_ long lOrdinal, LPSQLDMOLANGUAGE *ppLanguage) PURE;
  3453.     STDMETHOD(GetLanguageCount)(THIS_ LPLONG plCount) PURE;
  3454.  
  3455.     STDMETHOD(GetRemoteServers)(THIS_ LPSQLDMOREMOTESERVERS *ppRemoteServers) PURE;
  3456.     STDMETHOD(GetRemoteServerByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOREMOTESERVER *ppRemoteServer) PURE;
  3457.     STDMETHOD(GetRemoteServerByOrd)(THIS_ long lOrdinal, LPSQLDMOREMOTESERVER *ppRemoteServer) PURE;
  3458.     STDMETHOD(RemoveRemoteServerByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  3459.     STDMETHOD(RemoveRemoteServerByOrd)(THIS_ long lOrdinal) PURE;
  3460.     STDMETHOD(AddRemoteServer)(THIS_ LPSQLDMOREMOTESERVER pRemoteServer) PURE;
  3461.     STDMETHOD(GetRemoteServerCount)(THIS_ LPLONG plCount) PURE;
  3462.  
  3463.         //*** methods
  3464.     STDMETHOD(Connect)(THIS_ SQLDMO_LPCSTR szServerName CPPDEFAULT(= NULL), SQLDMO_LPCSTR szLogin CPPDEFAULT(= NULL), SQLDMO_LPCSTR szPassword CPPDEFAULT(= NULL)) PURE;
  3465.     STDMETHOD(Close)(THIS) PURE;
  3466.     STDMETHOD(DisConnect)(THIS) PURE;
  3467.     STDMETHOD(ReConnect)(THIS) PURE;
  3468.     STDMETHOD(KillProcess)(THIS_ long lProcessID) PURE;
  3469.     STDMETHOD(ExecuteImmediate)(THIS_ SQLDMO_LPCSTR Command, SQLDMO_EXEC_TYPE ExecType CPPDEFAULT(= SQLDMOExec_Default), long lLength CPPDEFAULT(= 0)) PURE;
  3470.     STDMETHOD(ExecuteWithResults)(THIS_ SQLDMO_LPCSTR Command, LPSQLDMOQUERYRESULTS *ppResults, long lLength CPPDEFAULT(= 0)) PURE;
  3471.     STDMETHOD(UnloadODSDLL)(THIS_ SQLDMO_LPCSTR DLLName) PURE;
  3472.     STDMETHOD(KillDatabase)(THIS_ SQLDMO_LPCSTR DatabaseName) PURE;
  3473.     STDMETHOD(ReadErrorLog)(THIS_ LPSQLDMOQUERYRESULTS *ppResults, long lLogNumber CPPDEFAULT(= 0)) PURE;
  3474.     STDMETHOD(EnumErrorLogs)(THIS_ LPSQLDMOQUERYRESULTS *ppResults) PURE;
  3475.     STDMETHOD(EnumProcesses)(THIS_ LPSQLDMOQUERYRESULTS *ppResults, SQLDMO_LPCSTR szWho CPPDEFAULT(= NULL), long lWho CPPDEFAULT(= -1)) PURE;
  3476.     STDMETHOD(EnumLocks)(THIS_ LPSQLDMOQUERYRESULTS *ppResults, long lWho CPPDEFAULT(= -1)) PURE;
  3477.     STDMETHOD(ReadBackupHeader)(THIS_ LPSQLDMORESTORE LoadSpec, LPSQLDMOQUERYRESULTS *ppResults) PURE;
  3478.     STDMETHOD(EnumAvailableMedia)(THIS_ LPSQLDMOQUERYRESULTS *ppResults, SQLDMO_MEDIA_TYPE MediaType CPPDEFAULT(= SQLDMOMedia_All)) PURE;
  3479.     STDMETHOD(EnumDirectories)(THIS_ SQLDMO_LPCSTR PathName, LPSQLDMOQUERYRESULTS *ppResults) PURE;
  3480.     STDMETHOD(EnumServerAttributes)(THIS_ LPSQLDMOQUERYRESULTS *ppResults) PURE;
  3481.     STDMETHOD(EnumVersionInfo)(THIS_ LPSQLDMOQUERYRESULTS *ppResults, SQLDMO_LPCSTR szPrefixes CPPDEFAULT(= NULL)) PURE;
  3482.     STDMETHOD(BeginTransaction)(THIS_ SQLDMO_LPCSTR szTransactionName CPPDEFAULT(= NULL)) PURE;
  3483.     STDMETHOD(CommitTransaction)(THIS_ SQLDMO_LPCSTR TransactionName CPPDEFAULT(= NULL)) PURE;
  3484.     STDMETHOD(SaveTransaction)(THIS_ SQLDMO_LPCSTR SavepointName) PURE;
  3485.     STDMETHOD(RollbackTransaction)(THIS_ SQLDMO_LPCSTR TransactionOrSavepointName CPPDEFAULT(= NULL)) PURE;
  3486.     STDMETHOD(CommandShellImmediate)(THIS_ SQLDMO_LPCSTR Command) PURE;
  3487.     STDMETHOD(CommandShellWithResults)(THIS_ SQLDMO_LPCSTR Command, LPSQLDMOQUERYRESULTS *ppResults) PURE;
  3488.     STDMETHOD(Pause)(THIS) PURE;
  3489.     STDMETHOD(Continue)(THIS) PURE;
  3490.     STDMETHOD(Shutdown)(THIS_ BOOL Wait CPPDEFAULT(= TRUE)) PURE;
  3491.     STDMETHOD(Start)(THIS_ BOOL fConnect, SQLDMO_LPCSTR Server CPPDEFAULT(= NULL), SQLDMO_LPCSTR Login CPPDEFAULT(= NULL), SQLDMO_LPCSTR Password CPPDEFAULT(= NULL)) PURE;
  3492.     STDMETHOD(VerifyConnection)(THIS_ LPBOOL pRetVal, SQLDMO_VERIFYCONN_TYPE VerifyType CPPDEFAULT(= SQLDMOConn_ReconnectIfDead)) PURE;
  3493.     STDMETHOD(IsOS)(THIS_ SQLDMO_OS_TYPE lType, LPBOOL pRetVal) PURE;
  3494.     STDMETHOD(AddStartParameter)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  3495.  
  3496.         // List methods
  3497.     STDMETHOD(ListStartupProcedures)(THIS_ LPSQLDMOSTOREDPROCEDURELIST * ppList) PURE;
  3498.  
  3499.         // Post-6.0 additions
  3500.     STDMETHOD(ExecuteWithResultsAndMessages)(THIS_ SQLDMO_LPCSTR Command, LPSQLDMOQUERYRESULTS *ppResults, SQLDMO_LPBSTR ppszMessages CPPDEFAULT(= 0), long lLength CPPDEFAULT(= 0)) PURE;
  3501.     STDMETHOD(GetNetName)(THIS_ SQLDMO_LPBSTR pbstrNetName) PURE;
  3502.     STDMETHOD(EnumLoginMappings)(THIS_ LPSQLDMOQUERYRESULTS *ppResults) PURE;
  3503.  
  3504.     // Post-6.5 additions to object properties
  3505.     STDMETHOD(GetReplication)(THIS_ LPSQLDMOREPLICATION *ppReplication) PURE;
  3506.     STDMETHOD(GetEnableBcp)(THIS_ LPBOOL pRetVal) PURE;
  3507.     STDMETHOD(SetEnableBcp)(THIS_ BOOL NewValue) PURE;
  3508.  
  3509.     STDMETHOD(GetBlockingTimeout)(THIS_ LPLONG pRetVal) PURE;
  3510.     STDMETHOD(SetBlockingTimeout)(THIS_ long NewValue) PURE;
  3511.  
  3512.     // 7.0 collection properties
  3513.     STDMETHOD(GetServerRoles)(THIS_ LPSQLDMOSERVERROLES *ppServerRoles) PURE;
  3514.     STDMETHOD(GetServerRoleByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOSERVERROLE *ppServerRole) PURE;
  3515.     STDMETHOD(GetServerRoleByOrd)(THIS_ long lOrdinal, LPSQLDMOSERVERROLE *ppServerRole) PURE;
  3516.     STDMETHOD(GetServerRoleCount)(THIS_ LPLONG plCount) PURE;
  3517.     STDMETHOD(EnumNTDomainGroups)(THIS_ LPSQLDMOQUERYRESULTS *ppResults, SQLDMO_LPCSTR Domain CPPDEFAULT(= NULL)) PURE;
  3518.     STDMETHOD(EnumAccountInfo)(THIS_ LPSQLDMOQUERYRESULTS *ppResults, SQLDMO_LPCSTR Account CPPDEFAULT(= NULL), BOOL ListAll CPPDEFAULT(= FALSE)) PURE;
  3519.     STDMETHOD(ListMembers)(THIS_ SQLDMO_ROLE_TYPE Type, LPSQLDMONAMELIST *ppResults) PURE;
  3520.     STDMETHOD(IsLogin)(THIS_ SQLDMO_LPCSTR LoginName, LPBOOL pRetVal) PURE;
  3521.     STDMETHOD(Abort)(THIS) PURE;
  3522.     STDMETHOD(GetIsdbcreator)(THIS_ LPBOOL pRetVal) PURE;
  3523.     STDMETHOD(GetIsdiskadmin)(THIS_ LPBOOL pRetVal) PURE;
  3524.     STDMETHOD(GetIsprocessadmin)(THIS_ LPBOOL pRetVal) PURE;
  3525.     STDMETHOD(GetIssecurityadmin)(THIS_ LPBOOL pRetVal) PURE;
  3526.     STDMETHOD(GetIsserveradmin)(THIS_ LPBOOL pRetVal) PURE;
  3527.     STDMETHOD(GetIssetupadmin)(THIS_ LPBOOL pRetVal) PURE;
  3528.     STDMETHOD(GetIssysadmin)(THIS_ LPBOOL pRetVal) PURE;
  3529.     STDMETHOD(DetachDB)(THIS_ SQLDMO_LPCSTR DBName, SQLDMO_LPBSTR pResult, BOOL bCheck CPPDEFAULT(= TRUE)) PURE;
  3530.     STDMETHOD(AttachDB)(THIS_ SQLDMO_LPCSTR DBName, SQLDMO_LPCSTR DataFiles, SQLDMO_LPBSTR pResult) PURE;
  3531. //    STDMETHOD(RemapFile)(THIS_ SQLDMO_LPCSTR DBName, SQLDMO_LPCSTR LogicalName, SQLDMO_LPCSTR NewPhysicalPath, SQLDMO_LPBSTR pResult) PURE;
  3532. //    STDMETHOD(ClearMap)(THIS_ SQLDMO_LPBSTR pResult) PURE;
  3533.     STDMETHOD(GetQuotedIdentifier)(THIS_ LPBOOL pRetVal) PURE;
  3534.     STDMETHOD(SetQuotedIdentifier)(THIS_ BOOL NewValue) PURE;
  3535.     STDMETHOD(GetLinkedServers)(THIS_ LPSQLDMOLINKEDSERVERS *ppLinkedServers) PURE;
  3536.     STDMETHOD(GetLinkedServerByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOLINKEDSERVER *ppLinkedServer) PURE;
  3537.     STDMETHOD(GetLinkedServerByOrd)(THIS_ long lOrdinal, LPSQLDMOLINKEDSERVER *ppLinkedServer) PURE;
  3538.     STDMETHOD(RemoveLinkedServerByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  3539.     STDMETHOD(RemoveLinkedServerByOrd)(THIS_ long lOrdinal) PURE;
  3540.     STDMETHOD(AddLinkedServer)(THIS_ LPSQLDMOLINKEDSERVER pLinkedServer) PURE;
  3541.     STDMETHOD(GetLinkedServerCount)(THIS_ LPLONG plCount) PURE;
  3542.     STDMETHOD(SetCodePageOverride)(THIS_ long NewValue) PURE;
  3543.     STDMETHOD(GetFullTextService)(THIS_ LPSQLDMOFULLTEXTSERVICE *ppFullTextService) PURE;
  3544.     STDMETHOD(GetODBCPrefix)(THIS_ LPBOOL pRetVal) PURE;
  3545.     STDMETHOD(SetODBCPrefix)(THIS_ BOOL NewValue) PURE;
  3546.     STDMETHOD(Stop)(THIS) PURE;
  3547.     STDMETHOD(PingSQLServerVersion)(THIS_ SQLDMO_SQL_VER *pRetVal, SQLDMO_LPCSTR szServerName CPPDEFAULT(= NULL), SQLDMO_LPCSTR szLogin CPPDEFAULT(= NULL), SQLDMO_LPCSTR szPassword CPPDEFAULT(= NULL)) PURE;
  3548.     STDMETHOD(IsPackage)(THIS_ SQLDMO_PACKAGE_TYPE *pRetVal) PURE;
  3549.     STDMETHOD(GetRegionalSetting)(THIS_ LPBOOL pRetVal) PURE;
  3550.     STDMETHOD(SetRegionalSetting)(THIS_ BOOL NewValue) PURE;
  3551.     STDMETHOD(GetCodePage)(THIS_ LPLONG plCount) PURE;
  3552.     STDMETHOD(AttachDBWithSingleFile)(THIS_ SQLDMO_LPCSTR DBName, SQLDMO_LPCSTR DataFile, SQLDMO_LPBSTR pResult) PURE;
  3553.     STDMETHOD(IsNTGroupMember)(THIS_ SQLDMO_LPCSTR NTGroup, SQLDMO_LPCSTR NTUser, LPBOOL pRetVal) PURE;
  3554.     STDMETHOD(GetServerTime)(THIS_ SQLDMO_LPBSTR pbstrServerTime) PURE;
  3555.     STDMETHOD(GetTranslateChar)(THIS_ LPBOOL pRetVal) PURE;
  3556.     STDMETHOD(SetTranslateChar)(THIS_ BOOL NewValue) PURE;
  3557. };
  3558.  
  3559. #undef INTERFACE
  3560. #define INTERFACE ISQLDMOServerSink
  3561. DECLARE_INTERFACE_(INTERFACE, IUnknown)
  3562. {
  3563.    //*** IUnknown methods
  3564.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  3565.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  3566.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  3567.  
  3568.         //*** Sink properties and methods.
  3569.     STDMETHOD(QueryTimeout)(THIS_ SQLDMO_LPCSTR Message, LPBOOL Continue) PURE;
  3570.     STDMETHOD(ServerMessage)(THIS_ long Severity, long MessageNumber, long MessageState, SQLDMO_LPCSTR Message) PURE;
  3571.     STDMETHOD(ConnectionBroken)(THIS_ SQLDMO_LPCSTR Message, LPBOOL Retry) PURE;
  3572.     STDMETHOD(RemoteLoginFailed)(THIS_ long Severity, long MessageNumber, long MessageState, SQLDMO_LPCSTR Message) PURE;
  3573.         STDMETHOD(CommandSent)(THIS_ SQLDMO_LPCSTR szSQL) PURE;
  3574. };
  3575.  
  3576. ////////////////////////////////////////////////////////////////////////////////////
  3577. ////////////////////////////////////////////////////////////////////////////////////
  3578.  
  3579. #undef INTERFACE
  3580. #define INTERFACE ISQLDMORegistry
  3581. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  3582. {
  3583.    //*** IUnknown methods
  3584.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  3585.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  3586.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  3587.  
  3588.         //*** SQLDMO standard object properties.
  3589.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  3590.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  3591.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  3592.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  3593.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  3594.  
  3595.         //*** properties
  3596.     STDMETHOD(GetAutostartMail)(THIS_ LPBOOL pRetVal) PURE;
  3597.     STDMETHOD(SetAutostartMail)(THIS_ BOOL NewValue) PURE;
  3598.     STDMETHOD(GetAutostartServer)(THIS_ LPBOOL pRetVal) PURE;
  3599.     STDMETHOD(SetAutostartServer)(THIS_ BOOL NewValue) PURE;
  3600.     STDMETHOD(GetCaseSensitive)(THIS_ LPBOOL pRetVal) PURE;
  3601.     STDMETHOD(GetCharacterSet)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  3602.     STDMETHOD(GetErrorLogPath)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  3603.     STDMETHOD(SetErrorLogPath)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  3604.     STDMETHOD(GetMailAccountName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  3605.     STDMETHOD(SetMailAccountName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  3606.     STDMETHOD(GetMailPassword)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  3607.     STDMETHOD(SetMailPassword)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  3608.     STDMETHOD(GetMasterDBPath)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  3609.     STDMETHOD(SetMasterDBPath)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  3610.     STDMETHOD(GetNTEventLogging)(THIS_ LPBOOL pRetVal) PURE;
  3611.     STDMETHOD(GetNumberOfProcessors)(THIS_ LPLONG pRetVal) PURE;
  3612.     STDMETHOD(GetPerfMonMode)(THIS_ SQLDMO_PERFMON_TYPE *pRetVal) PURE;
  3613.     STDMETHOD(SetPerfMonMode)(THIS_ SQLDMO_PERFMON_TYPE NewValue) PURE;
  3614.     STDMETHOD(GetPhysicalMemory)(THIS_ LPLONG pRetVal) PURE;
  3615.     STDMETHOD(GetAutostartLicensing)(THIS_ LPBOOL pRetVal) PURE;
  3616.     STDMETHOD(SetAutostartLicensing)(THIS_ BOOL NewValue) PURE;
  3617.     STDMETHOD(GetRegisteredOrganization)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  3618.     STDMETHOD(GetRegisteredOwner)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  3619.     STDMETHOD(GetSortOrder)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  3620.     STDMETHOD(GetSQLRootPath)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  3621.     STDMETHOD(SetSQLRootPath)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  3622.     STDMETHOD(GetSQLDataRoot)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  3623.     STDMETHOD(SetSQLDataRoot)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  3624.     STDMETHOD(GetTapeLoadWaitTime)(THIS_ LPLONG pRetVal) PURE;
  3625.     STDMETHOD(SetTapeLoadWaitTime)(THIS_ long NewValue) PURE;
  3626.     STDMETHOD(GetReplicationInstalled)(THIS_ LPBOOL pRetVal) PURE;
  3627.  
  3628.     // 7.0
  3629.     STDMETHOD(GetAutostartDTC)(THIS_ LPBOOL pRetVal) PURE;
  3630.     STDMETHOD(SetAutostartDTC)(THIS_ BOOL NewValue) PURE;
  3631. };
  3632.  
  3633. ////////////////////////////////////////////////////////////////////////////////////
  3634. ////////////////////////////////////////////////////////////////////////////////////
  3635.  
  3636. #undef INTERFACE
  3637. #define INTERFACE ISQLDMODatabases
  3638. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  3639. {
  3640.    //*** IUnknown methods
  3641.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  3642.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  3643.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  3644.  
  3645.         //*** SQLDMO standard object properties.
  3646.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  3647.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  3648.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  3649.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  3650.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  3651.  
  3652.     //*** SQLDMO standard enumeration properties
  3653.         STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLDMODATABASE *ppObj) PURE;
  3654.         STDMETHOD(GetItemByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMODATABASE *ppObj, SQLDMO_LPCSTR szOwner CPPDEFAULT(= NULL)) PURE;
  3655.     STDMETHOD(GetItemByID)(THIS_ long lID, LPSQLDMODATABASE *ppObj) PURE;
  3656.         STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  3657.  
  3658.     //*** SQLDMO standard collection methods
  3659.         STDMETHOD(Add)(THIS_ LPSQLDMODATABASE Object) PURE;
  3660.         STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  3661.         STDMETHOD(RemoveByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  3662.         STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  3663. };
  3664.  
  3665. #undef INTERFACE
  3666. #define INTERFACE ISQLDMODatabase
  3667. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  3668. {
  3669.    //*** IUnknown methods
  3670.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  3671.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  3672.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  3673.  
  3674.         //*** SQLDMO standard object properties.
  3675.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  3676.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  3677.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  3678.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  3679.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  3680.  
  3681.         //*** properties
  3682.     STDMETHOD(GetName)(THIS_ SQLDMO_LPBSTR pbstrName) PURE;
  3683.     STDMETHOD(SetName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  3684.     STDMETHOD(GetOwner)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  3685.     STDMETHOD(SetOwner)(THIS_ SQLDMO_LPCSTR NewValue, BOOL bTransferAliases CPPDEFAULT(= FALSE), BOOL bOverrideIfAlreadyUser CPPDEFAULT(= FALSE)) PURE;
  3686.     STDMETHOD(GetVersion)(THIS_ LPLONG pRetVal) PURE;
  3687.     STDMETHOD(GetCreateDate)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  3688.     STDMETHOD(GetUserName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  3689.     STDMETHOD(SetUserName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  3690.     STDMETHOD(GetSize)(THIS_ LPLONG pRetVal) PURE;
  3691.     STDMETHOD(GetSpaceAvailable)(THIS_ LPLONG pRetVal) PURE;
  3692.     STDMETHOD(GetID)(THIS_ LPLONG pRetVal) PURE;
  3693.     STDMETHOD(GetSystemObject)(THIS_ LPBOOL pRetVal) PURE;
  3694.     STDMETHOD(GetUserProfile)(THIS_ SQLDMO_DBUSERPROFILE_TYPE *pProfileBits) PURE;
  3695.     STDMETHOD(GetDataSpaceUsage)(THIS_ LPFLOAT pRetVal) PURE;
  3696.     STDMETHOD(GetStatus)(THIS_ SQLDMO_DBSTATUS_TYPE *pRetVal) PURE;
  3697.     STDMETHOD(GetIndexSpaceUsage)(THIS_ LPFLOAT pRetVal) PURE;
  3698.     STDMETHOD(GetSpaceAvailableInMB)(THIS_ LPFLOAT pRetVal) PURE;
  3699.     STDMETHOD(GetCreateForAttach)(THIS_ LPBOOL pRetVal) PURE;
  3700.     STDMETHOD(SetCreateForAttach)(THIS_ BOOL NewValue) PURE;
  3701.     STDMETHOD(GetDboLogin)(THIS_ LPBOOL pRetVal) PURE;
  3702.  
  3703.         //*** Object Properties
  3704.     STDMETHOD(GetDBOption)(THIS_ LPSQLDMODBOPTION *ppDBOption) PURE;
  3705.     STDMETHOD(GetTransactionLog)(THIS_ LPSQLDMOTRANSACTIONLOG * ppTransactionLog) PURE;
  3706.  
  3707.         //*** Collection properties
  3708.     STDMETHOD(GetTables)(THIS_ LPSQLDMOTABLES * ppTables) PURE;
  3709.     STDMETHOD(GetTableByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOTABLE *ppTable, SQLDMO_LPCSTR szOwner CPPDEFAULT(= NULL)) PURE;
  3710.     STDMETHOD(GetTableByOrd)(THIS_ long lOrdinal, LPSQLDMOTABLE *ppTable) PURE;
  3711.     STDMETHOD(RemoveTableByName)(THIS_ SQLDMO_LPCSTR szName, SQLDMO_LPCSTR szOwner CPPDEFAULT(= NULL)) PURE;
  3712.     STDMETHOD(RemoveTableByOrd)(THIS_ long lOrdinal) PURE;
  3713.     STDMETHOD(AddTable)(THIS_ LPSQLDMOTABLE pTable) PURE;
  3714.     STDMETHOD(GetTableCount)(THIS_ LPLONG plCount) PURE;
  3715.  
  3716.     STDMETHOD(GetViews)(THIS_ LPSQLDMOVIEWS * ppViews) PURE;
  3717.     STDMETHOD(GetViewByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOVIEW *ppView, SQLDMO_LPCSTR szOwner CPPDEFAULT(= NULL)) PURE;
  3718.     STDMETHOD(GetViewByOrd)(THIS_ long lOrdinal, LPSQLDMOVIEW *ppView) PURE;
  3719.     STDMETHOD(RemoveViewByName)(THIS_ SQLDMO_LPCSTR szName, SQLDMO_LPCSTR szOwner CPPDEFAULT(= NULL)) PURE;
  3720.     STDMETHOD(RemoveViewByOrd)(THIS_ long lOrdinal) PURE;
  3721.     STDMETHOD(AddView)(THIS_ LPSQLDMOVIEW pView) PURE;
  3722.     STDMETHOD(GetViewCount)(THIS_ LPLONG plCount) PURE;
  3723.  
  3724.     STDMETHOD(GetStoredProcedures)(THIS_ LPSQLDMOSTOREDPROCEDURES * ppProcs) PURE;
  3725.     STDMETHOD(GetStoredProcedureByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOSTOREDPROCEDURE *ppProc, SQLDMO_LPCSTR szOwner CPPDEFAULT(= NULL)) PURE;
  3726.     STDMETHOD(GetStoredProcedureByOrd)(THIS_ long lOrdinal, LPSQLDMOSTOREDPROCEDURE *ppProc) PURE;
  3727.     STDMETHOD(RemoveStoredProcedureByName)(THIS_ SQLDMO_LPCSTR szName, SQLDMO_LPCSTR szOwner CPPDEFAULT(= NULL)) PURE;
  3728.     STDMETHOD(RemoveStoredProcedureByOrd)(THIS_ long lOrdinal) PURE;
  3729.     STDMETHOD(AddStoredProcedure)(THIS_ LPSQLDMOSTOREDPROCEDURE pProc) PURE;
  3730.     STDMETHOD(GetStoredProcedureCount)(THIS_ LPLONG plCount) PURE;
  3731.  
  3732.     STDMETHOD(GetDefaults)(THIS_ LPSQLDMODEFAULTS * ppDefaults) PURE;
  3733.     STDMETHOD(GetDefaultByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMODEFAULT *ppDefault, SQLDMO_LPCSTR szOwner CPPDEFAULT(= NULL)) PURE;
  3734.     STDMETHOD(GetDefaultByOrd)(THIS_ long lOrdinal, LPSQLDMODEFAULT *ppDefault) PURE;
  3735.     STDMETHOD(RemoveDefaultByName)(THIS_ SQLDMO_LPCSTR szName, SQLDMO_LPCSTR szOwner CPPDEFAULT(= NULL)) PURE;
  3736.     STDMETHOD(RemoveDefaultByOrd)(THIS_ long lOrdinal) PURE;
  3737.     STDMETHOD(AddDefault)(THIS_ LPSQLDMODEFAULT pDefault) PURE;
  3738.     STDMETHOD(GetDefaultCount)(THIS_ LPLONG plCount) PURE;
  3739.  
  3740.     STDMETHOD(GetRules)(THIS_ LPSQLDMORULES * ppRules) PURE;
  3741.     STDMETHOD(GetRuleByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMORULE *ppRule, SQLDMO_LPCSTR szOwner CPPDEFAULT(= NULL)) PURE;
  3742.     STDMETHOD(GetRuleByOrd)(THIS_ long lOrdinal, LPSQLDMORULE *ppRule) PURE;
  3743.     STDMETHOD(RemoveRuleByName)(THIS_ SQLDMO_LPCSTR szName, SQLDMO_LPCSTR szOwner CPPDEFAULT(= NULL)) PURE;
  3744.     STDMETHOD(RemoveRuleByOrd)(THIS_ long lOrdinal) PURE;
  3745.     STDMETHOD(AddRule)(THIS_ LPSQLDMORULE pRule) PURE;
  3746.     STDMETHOD(GetRuleCount)(THIS_ LPLONG plCount) PURE;
  3747.  
  3748.     STDMETHOD(GetUserDefinedDatatypes)(THIS_ LPSQLDMOUSERDEFINEDDATATYPES * ppUDDTs) PURE;
  3749.     STDMETHOD(GetUserDefinedDatatypeByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOUSERDEFINEDDATATYPE *ppUDDT, SQLDMO_LPCSTR szOwner CPPDEFAULT(= NULL)) PURE;
  3750.     STDMETHOD(GetUserDefinedDatatypeByOrd)(THIS_ long lOrdinal, LPSQLDMOUSERDEFINEDDATATYPE *ppUDDT) PURE;
  3751.     STDMETHOD(RemoveUserDefinedDatatypeByName)(THIS_ SQLDMO_LPCSTR szName, SQLDMO_LPCSTR szOwner CPPDEFAULT(= NULL)) PURE;
  3752.     STDMETHOD(RemoveUserDefinedDatatypeByOrd)(THIS_ long lOrdinal) PURE;
  3753.     STDMETHOD(AddUserDefinedDatatype)(THIS_ LPSQLDMOUSERDEFINEDDATATYPE pUDDT) PURE;
  3754.     STDMETHOD(GetUserDefinedDatatypeCount)(THIS_ LPLONG plCount) PURE;
  3755.  
  3756.     STDMETHOD(GetUsers)(THIS_ LPSQLDMOUSERS * ppUsers) PURE;
  3757.     STDMETHOD(GetUserByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOUSER *ppUser) PURE;
  3758.     STDMETHOD(GetUserByOrd)(THIS_ long lOrdinal, LPSQLDMOUSER *ppUser) PURE;
  3759.     STDMETHOD(RemoveUserByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  3760.     STDMETHOD(RemoveUserByOrd)(THIS_ long lOrdinal) PURE;
  3761.     STDMETHOD(AddUser)(THIS_ LPSQLDMOUSER pUser) PURE;
  3762.     STDMETHOD(GetUserCount)(THIS_ LPLONG plCount) PURE;
  3763.  
  3764.     STDMETHOD(GetGroups)(THIS_ LPSQLDMOGROUPS * ppGroups) PURE;
  3765.     STDMETHOD(GetGroupByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOGROUP *ppGroup) PURE;
  3766.     STDMETHOD(GetGroupByOrd)(THIS_ long lOrdinal, LPSQLDMOGROUP *ppGroup) PURE;
  3767.     STDMETHOD(RemoveGroupByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  3768.     STDMETHOD(RemoveGroupByOrd)(THIS_ long lOrdinal) PURE;
  3769.     STDMETHOD(AddGroup)(THIS_ LPSQLDMOGROUP pGroup) PURE;
  3770.     STDMETHOD(GetGroupCount)(THIS_ LPLONG plCount) PURE;
  3771.  
  3772.     STDMETHOD(GetSystemDatatypes)(THIS_ LPSQLDMOSYSTEMDATATYPES * ppSDTs) PURE;
  3773.     STDMETHOD(GetSystemDatatypeByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOSYSTEMDATATYPE *ppSDT) PURE;
  3774.     STDMETHOD(GetSystemDatatypeByOrd)(THIS_ long lOrdinal, LPSQLDMOSYSTEMDATATYPE *ppSDT) PURE;
  3775.     STDMETHOD(GetSystemDatatypeCount)(THIS_ LPLONG plCount) PURE;
  3776.  
  3777.         //*** Methods
  3778.     STDMETHOD(Grant)(THIS_ SQLDMO_PRIVILEGE_TYPE iPrivileges, SQLDMO_LPCSTR GranteeNames) PURE;
  3779.     STDMETHOD(Revoke)(THIS_ SQLDMO_PRIVILEGE_TYPE iPrivileges, SQLDMO_LPCSTR RevokeeNames) PURE;
  3780.     STDMETHOD(ExecuteImmediate)(THIS_ SQLDMO_LPCSTR Command, SQLDMO_EXEC_TYPE ExecType CPPDEFAULT(= SQLDMOExec_Default), long lLength CPPDEFAULT(= 0)) PURE;
  3781.     STDMETHOD(ExecuteWithResults)(THIS_ SQLDMO_LPCSTR Command, LPSQLDMOQUERYRESULTS *ppResults, long lLength CPPDEFAULT(= 0)) PURE;
  3782.     STDMETHOD(Checkpoint)(THIS) PURE;
  3783.     STDMETHOD(CheckTables)(THIS_ SQLDMO_LPBSTR pResult, SQLDMO_DBCC_REPAIR_TYPE lType CPPDEFAULT(= SQLDMORepair_None)) PURE;
  3784.     STDMETHOD(CheckAllocations)(THIS_ SQLDMO_LPBSTR pResult, SQLDMO_DBCC_REPAIR_TYPE lType CPPDEFAULT(= SQLDMORepair_None)) PURE;
  3785.     STDMETHOD(CheckCatalog)(THIS_ SQLDMO_LPBSTR pResult) PURE;
  3786.     STDMETHOD(GetMemoryUsage)(THIS_ SQLDMO_LPBSTR pResult) PURE;
  3787.     STDMETHOD(EnumLocks)(THIS_ LPSQLDMOQUERYRESULTS *ppResults, long lWho CPPDEFAULT(= -1)) PURE;
  3788.     STDMETHOD(Remove)(THIS) PURE;
  3789.     STDMETHOD(GetObjectByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMODBOBJECT *ppDBObject, SQLDMO_OBJECT_TYPE lType CPPDEFAULT(= SQLDMOObj_AllDatabaseObjects), SQLDMO_LPCSTR szOwner CPPDEFAULT(= NULL)) PURE;
  3790.     STDMETHOD(GetDatatypeByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOSTDOBJECT *ppDBObject) PURE;
  3791.     STDMETHOD(EnumCandidateKeys)(THIS_ LPSQLDMOQUERYRESULTS * ppResults) PURE;
  3792.     STDMETHOD(IsValidKeyDatatype)(THIS_ SQLDMO_LPCSTR szKeyColType, LPBOOL pRetVal, SQLDMO_LPCSTR szReferencingColType CPPDEFAULT(= NULL)) PURE;
  3793.     STDMETHOD(RecalcSpaceUsage)(THIS) PURE;
  3794.     STDMETHOD(EnumDependencies)(THIS_ LPSQLDMOQUERYRESULTS *ppResults, SQLDMO_DEPENDENCY_TYPE DependencyType CPPDEFAULT(= SQLDMODep_Parents)) PURE;
  3795.  
  3796.         //*** List methods
  3797.     STDMETHOD(ListObjectPermissions)(THIS_ LPSQLDMOPERMISSIONLIST * ppList, SQLDMO_PRIVILEGE_TYPE lPrivilegeTypes CPPDEFAULT(= SQLDMOPriv_AllObjectPrivs)) PURE;
  3798.     STDMETHOD(ListDatabasePermissions)(THIS_ LPSQLDMOPERMISSIONLIST * ppList, SQLDMO_PRIVILEGE_TYPE lPrivilegeTypes CPPDEFAULT(= SQLDMOPriv_AllDatabasePrivs)) PURE;
  3799.     STDMETHOD(ListObjects)(THIS_ LPSQLDMODBOBJECTLIST * ppList, SQLDMO_OBJECT_TYPE lObjectTypes CPPDEFAULT(= SQLDMOObj_AllDatabaseObjects), SQLDMO_OBJSORT_TYPE SortBy CPPDEFAULT(= SQLDMOObjSort_Name)) PURE;
  3800.  
  3801.         // Post-6.0 additions
  3802.     STDMETHOD(Transfer)(THIS_ LPSQLDMOTRANSFER TransferSpec) PURE;
  3803.     STDMETHOD(ScriptTransfer)(THIS_ LPSQLDMOTRANSFER TransferSpec, SQLDMO_XFRSCRIPTMODE_TYPE ScriptFileMode CPPDEFAULT(= SQLDMOXfrFile_Default), SQLDMO_LPCSTR ScriptFilePath CPPDEFAULT(= NULL), SQLDMO_LPBSTR ScriptText CPPDEFAULT(= NULL)) PURE;
  3804.         STDMETHOD(CheckIdentityValues)(THIS) PURE;
  3805.     STDMETHOD(ExecuteWithResultsAndMessages)(THIS_ SQLDMO_LPCSTR Command, LPSQLDMOQUERYRESULTS *ppResults, SQLDMO_LPBSTR ppszMessages CPPDEFAULT(= 0), long lLength CPPDEFAULT(= 0)) PURE;
  3806.     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;
  3807.     STDMETHOD(CheckTablesDataOnly)(THIS_ SQLDMO_LPBSTR pResult) PURE;
  3808.     STDMETHOD(CheckAllocationsDataOnly)(THIS_ SQLDMO_LPBSTR pResult) PURE;
  3809.         STDMETHOD(UpdateIndexStatistics)(THIS) PURE;
  3810.     STDMETHOD(EnumLoginMappings)(THIS_ LPSQLDMOQUERYRESULTS *ppResults) PURE;
  3811.  
  3812.     // 7.0
  3813.     STDMETHOD(GetPrimaryFilePath)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  3814.     STDMETHOD(GetFileGroups)(THIS_ LPSQLDMOFILEGROUPS * ppFileGroups) PURE;
  3815.     STDMETHOD(GetFileGroupByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOFILEGROUP *ppFileGroup) PURE;
  3816.     STDMETHOD(GetFileGroupByOrd)(THIS_ long lOrdinal, LPSQLDMOFILEGROUP *ppFileGroup) PURE;
  3817.     STDMETHOD(RemoveFileGroupByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  3818.     STDMETHOD(RemoveFileGroupByOrd)(THIS_ long lOrdinal) PURE;
  3819.     STDMETHOD(AddFileGroup)(THIS_ LPSQLDMOFILEGROUP pFileGroup) PURE;
  3820.     STDMETHOD(GetFileGroupCount)(THIS_ LPLONG plCount) PURE;
  3821.     STDMETHOD(GetDatabaseRoles)(THIS_ LPSQLDMODATABASEROLES * ppDatabaseRoles) PURE;
  3822.     STDMETHOD(GetDatabaseRoleByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMODATABASEROLE *ppDatabaseRole) PURE;
  3823.     STDMETHOD(GetDatabaseRoleByOrd)(THIS_ long lOrdinal, LPSQLDMODATABASEROLE *ppDatabaseRole) PURE;
  3824.     STDMETHOD(RemoveDatabaseRoleByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  3825.     STDMETHOD(RemoveDatabaseRoleByOrd)(THIS_ long lOrdinal) PURE;
  3826.     STDMETHOD(AddDatabaseRole)(THIS_ LPSQLDMODATABASEROLE pDatabaseRole) PURE;
  3827.     STDMETHOD(GetDatabaseRoleCount)(THIS_ LPLONG plCount) PURE;
  3828.     STDMETHOD(GetPermissions)(THIS_ SQLDMO_PRIVILEGE_TYPE *Permissions) PURE;
  3829.     STDMETHOD(EnumFiles)(THIS_ LPSQLDMOQUERYRESULTS *ppResults) PURE;
  3830.     STDMETHOD(EnumFileGroups)(THIS_ LPSQLDMOQUERYRESULTS *ppResults) PURE;
  3831.     STDMETHOD(EnumUsers)(THIS_ LPSQLDMOQUERYRESULTS * ppResults, LPCOLESTR UserName CPPDEFAULT(= NULL)) PURE;
  3832.     STDMETHOD(EnumNTGroups)(THIS_ LPSQLDMOQUERYRESULTS * ppResults, LPCOLESTR GroupName CPPDEFAULT(= NULL)) PURE;
  3833.     STDMETHOD(Deny)(THIS_ SQLDMO_PRIVILEGE_TYPE iPrivileges, SQLDMO_LPCSTR DenyeeNames) PURE;
  3834.     STDMETHOD(IsUser)(THIS_ SQLDMO_LPCSTR UserName, LPBOOL pRetVal) PURE;
  3835.     STDMETHOD(GetIsdb_accessadmin)(THIS_ LPBOOL pRetVal) PURE;
  3836.     STDMETHOD(GetIsdb_datareader)(THIS_ LPBOOL pRetVal) PURE;
  3837.     STDMETHOD(GetIsdb_ddladmin)(THIS_ LPBOOL pRetVal) PURE;
  3838.     STDMETHOD(GetIsdb_denydatareader)(THIS_ LPBOOL pRetVal) PURE;
  3839.     STDMETHOD(GetIsdb_denydatawriter)(THIS_ LPBOOL pRetVal) PURE;
  3840.     STDMETHOD(GetIsdb_backupoperator)(THIS_ LPBOOL pRetVal) PURE;
  3841.     STDMETHOD(GetIsdb_owner)(THIS_ LPBOOL pRetVal) PURE;
  3842.     STDMETHOD(GetIsdb_securityadmin)(THIS_ LPBOOL pRetVal) PURE;
  3843.     STDMETHOD(GetIsdb_datawriter)(THIS_ LPBOOL pRetVal) PURE;
  3844.     STDMETHOD(GenerateSQL)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  3845.     STDMETHOD(Shrink)(THIS_ long lFreeSpaceInPercent, SQLDMO_SHRINK_TYPE Truncate) PURE;
  3846.     // Following CheckTextAllocsXXXX are for backward compatible
  3847.     STDMETHOD(CheckTextAllocsFast)(THIS_ SQLDMO_LPBSTR pResult) PURE;
  3848.     STDMETHOD(CheckTextAllocsFull)(THIS_ SQLDMO_LPBSTR pResult) PURE;
  3849.     STDMETHOD(EnumMatchingSPs)(THIS_ LPCOLESTR Text, LPSQLDMOQUERYRESULTS * ppResults, BOOL IncSys CPPDEFAULT (= FALSE)) PURE;
  3850.     STDMETHOD(EnableFullTextCatalogs)(THIS) PURE;
  3851.     STDMETHOD(RemoveFullTextCatalogs)(THIS) PURE;
  3852.     STDMETHOD(FullTextIndexScript)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  3853.     STDMETHOD(GetIsFullTextEnabled)(THIS_ LPBOOL pRetVal) PURE;
  3854.     STDMETHOD(GetFullTextCatalogs)(THIS_ LPSQLDMOFULLTEXTCATALOGS * ppFullTextCatalogs) PURE;
  3855.     STDMETHOD(GetFullTextCatalogByName)(THIS_ LPCOLESTR szName, LPSQLDMOFULLTEXTCATALOG *ppFullTextCatalog) PURE;
  3856.     STDMETHOD(GetFullTextCatalogByOrd)(THIS_ long lOrdinal, LPSQLDMOFULLTEXTCATALOG *ppFullTextCatalog) PURE;
  3857.     STDMETHOD(RemoveFullTextCatalogByName)(THIS_ LPCOLESTR szName) PURE;
  3858.     STDMETHOD(RemoveFullTextCatalogByOrd)(THIS_ long lOrdinal) PURE;
  3859.     STDMETHOD(AddFullTextCatalog)(THIS_ LPSQLDMOFULLTEXTCATALOG pFullTextCatalog) PURE;
  3860.     STDMETHOD(GetFullTextCatalogCount)(THIS_ LPLONG plCount) PURE;
  3861.     STDMETHOD(DisableFullTextCatalogs)(THIS) PURE;
  3862.     STDMETHOD(GetCompatibilityLevel)(THIS_ SQLDMO_COMP_LEVEL_TYPE * pRetVal) PURE;
  3863.     STDMETHOD(SetCompatibilityLevel)(THIS_ SQLDMO_COMP_LEVEL_TYPE NewValue) PURE;
  3864.     STDMETHOD(GetUseServerName)(THIS_ SQLDMO_LPBSTR pbstrName) PURE;
  3865.     STDMETHOD(SetUseServerName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  3866. };
  3867.  
  3868. ////////////////////////////////////////////////////////////////////////////////////
  3869. ////////////////////////////////////////////////////////////////////////////////////
  3870.  
  3871. #undef INTERFACE
  3872. #define INTERFACE ISQLDMOBackupDevices
  3873. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  3874. {
  3875.    //*** IUnknown methods
  3876.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  3877.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  3878.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  3879.  
  3880.         //*** SQLDMO standard object properties.
  3881.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  3882.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  3883.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  3884.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  3885.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  3886.  
  3887.     //*** SQLDMO standard enumeration properties
  3888.         STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLDMOBACKUPDEVICE *ppObj) PURE;
  3889.         STDMETHOD(GetItemByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOBACKUPDEVICE *ppObj) PURE;
  3890.         STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  3891.  
  3892.     //*** SQLDMO standard collection methods
  3893.         STDMETHOD(Add)(THIS_ LPSQLDMOBACKUPDEVICE Object) PURE;
  3894.         STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  3895.         STDMETHOD(RemoveByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  3896.         STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  3897. };
  3898.  
  3899. #undef INTERFACE
  3900. #define INTERFACE ISQLDMOBackupDevice
  3901. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  3902. {
  3903.    //*** IUnknown methods
  3904.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  3905.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  3906.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  3907.  
  3908.         //*** SQLDMO standard object properties.
  3909.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  3910.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  3911.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  3912.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  3913.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  3914.  
  3915.         //*** properties
  3916.     STDMETHOD(GetName)(THIS_ SQLDMO_LPBSTR pbstrName) PURE;
  3917.     STDMETHOD(SetName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  3918.     STDMETHOD(GetPhysicalLocation)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  3919.     STDMETHOD(SetPhysicalLocation)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  3920.     STDMETHOD(GetType)(THIS_ SQLDMO_DEVICE_TYPE *pRetVal) PURE;
  3921.     STDMETHOD(SetType)(THIS_ SQLDMO_DEVICE_TYPE NewValue) PURE;
  3922.     STDMETHOD(GetStatus)(THIS_ LPLONG pRetVal) PURE;
  3923.     STDMETHOD(GetDeviceNumber)(THIS_ LPLONG pRetVal) PURE;
  3924.     STDMETHOD(GetSkipTapeLabel)(THIS_ LPBOOL pRetVal) PURE;
  3925.     STDMETHOD(SetSkipTapeLabel)(THIS_ BOOL NewValue) PURE;
  3926.     STDMETHOD(GetSystemObject)(THIS_ LPBOOL pRetVal) PURE;
  3927.  
  3928.         //*** methods
  3929.     STDMETHOD(Remove)(THIS) PURE;
  3930.     STDMETHOD(ReadBackupHeader)(THIS_ LPSQLDMOQUERYRESULTS *ppResults) PURE;
  3931.  
  3932.         // Post-6.0 Additions
  3933.     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;
  3934.  
  3935.     // 7.0
  3936.     STDMETHOD(ReadMediaHeader)(THIS_ LPSQLDMOQUERYRESULTS *ppResults) PURE;
  3937. };
  3938.  
  3939. ////////////////////////////////////////////////////////////////////////////////////
  3940. ////////////////////////////////////////////////////////////////////////////////////
  3941.  
  3942. #undef INTERFACE
  3943. #define INTERFACE ISQLDMOLogins
  3944. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  3945. {
  3946.    //*** IUnknown methods
  3947.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  3948.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  3949.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  3950.  
  3951.         //*** SQLDMO standard object properties.
  3952.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  3953.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  3954.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  3955.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  3956.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  3957.  
  3958.     //*** SQLDMO standard enumeration properties
  3959.         STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLDMOLOGIN *ppObj) PURE;
  3960.         STDMETHOD(GetItemByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOLOGIN *ppObj) PURE;
  3961.         STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  3962.  
  3963.     //*** SQLDMO standard collection methods
  3964.         STDMETHOD(Add)(THIS_ LPSQLDMOLOGIN Object) PURE;
  3965.         STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  3966.         STDMETHOD(RemoveByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  3967.         STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  3968. };
  3969.  
  3970. #undef INTERFACE
  3971. #define INTERFACE ISQLDMOLogin
  3972. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  3973. {
  3974.    //*** IUnknown methods
  3975.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  3976.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  3977.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  3978.  
  3979.         //*** SQLDMO standard object properties.
  3980.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  3981.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  3982.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  3983.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  3984.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  3985.  
  3986.         //*** properties
  3987.     STDMETHOD(GetName)(THIS_ SQLDMO_LPBSTR pbstrName) PURE;
  3988.     STDMETHOD(SetName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  3989. //    STDMETHOD(GetID)(THIS_ LPLONG plID) PURE;
  3990.     STDMETHOD(GetSystemObject)(THIS_ LPBOOL pRetVal) PURE;
  3991.     STDMETHOD(GetLanguage)(THIS_ SQLDMO_LPBSTR pbstrLanguage) PURE;
  3992.     STDMETHOD(SetLanguage)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  3993.     STDMETHOD(GetDatabase)(THIS_ SQLDMO_LPBSTR pbstrDatabase) PURE;
  3994.     STDMETHOD(SetDatabase)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  3995.  
  3996.    //*** methods
  3997.     STDMETHOD(Remove)(THIS) PURE;
  3998.     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;
  3999.     STDMETHOD(SetPassword)(THIS_ SQLDMO_LPCSTR OldValue, SQLDMO_LPCSTR NewValue) PURE;
  4000.  
  4001.         // Post-6.0 additions
  4002.     STDMETHOD(EnumDatabaseMappings)(THIS_ LPSQLDMOQUERYRESULTS *ppResults) PURE;
  4003.  
  4004.     // 7.0
  4005.     STDMETHOD(GetType)(THIS_ SQLDMO_LOGIN_TYPE *pRetVal) PURE;
  4006.     STDMETHOD(SetType)(THIS_ SQLDMO_LOGIN_TYPE NewValue) PURE;
  4007.     STDMETHOD(GetDenyNTLogin)(THIS_ LPBOOL pRetVal) PURE;
  4008.     STDMETHOD(SetDenyNTLogin)(THIS_ BOOL NewVal) PURE;
  4009.     STDMETHOD(ListMembers)(THIS_ LPSQLDMONAMELIST *ppList) PURE;
  4010.     STDMETHOD(IsMember)(THIS_ SQLDMO_LPCSTR ServerRole, LPBOOL pRetVal) PURE;
  4011.     STDMETHOD(GetUserName)(THIS_ SQLDMO_LPCSTR DatabaseName, SQLDMO_LPBSTR pRetVal) PURE;
  4012.     STDMETHOD(GetAliasName)(THIS_ SQLDMO_LPCSTR DatabaseName, SQLDMO_LPBSTR pRetVal) PURE;
  4013.     STDMETHOD(GetLanguageAlias)(THIS_ SQLDMO_LPBSTR pbstrLanguageAlias) PURE;
  4014.     STDMETHOD(GetNTLoginAccessType)(THIS_ SQLDMO_NTACCESS_TYPE *pRetVal) PURE;
  4015. };
  4016.  
  4017. ////////////////////////////////////////////////////////////////////////////////////
  4018. ////////////////////////////////////////////////////////////////////////////////////
  4019.  
  4020. #undef INTERFACE
  4021. #define INTERFACE ISQLDMOLanguages
  4022. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  4023. {
  4024.    //*** IUnknown methods
  4025.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  4026.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  4027.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  4028.  
  4029.         //*** SQLDMO standard object properties.
  4030.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  4031.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  4032.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  4033.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  4034.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  4035.  
  4036.     //*** SQLDMO standard enumeration properties
  4037.     STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLDMOLANGUAGE *ppObj) PURE;
  4038.     STDMETHOD(GetItemByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOLANGUAGE *ppObj) PURE;
  4039.     STDMETHOD(GetItemByID)(THIS_ long lID, LPSQLDMOLANGUAGE *ppObj) PURE;
  4040.     STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  4041.  
  4042.     //*** SQLDMO standard collection methods
  4043.     STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  4044. };
  4045.  
  4046. #undef INTERFACE
  4047. #define INTERFACE ISQLDMOLanguage
  4048. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  4049. {
  4050.    //*** IUnknown methods
  4051.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  4052.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  4053.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  4054.  
  4055.         //*** SQLDMO standard object properties.
  4056.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  4057.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  4058.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  4059.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  4060.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  4061.  
  4062.         //*** properties
  4063.     STDMETHOD(GetName)(THIS_ SQLDMO_LPBSTR pbstrName) PURE;
  4064.     STDMETHOD(GetID)(THIS_ LPLONG plID) PURE;
  4065.     STDMETHOD(GetUpgrade)(THIS_ LPLONG pRetVal) PURE;
  4066.     STDMETHOD(GetAlias)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  4067.     STDMETHOD(SetAlias)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  4068.     STDMETHOD(GetMonths)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  4069.     STDMETHOD(GetShortMonths)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  4070.     STDMETHOD(GetDays)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  4071.     STDMETHOD(GetLangDateFormat)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  4072.     STDMETHOD(GetFirstDayOfWeek)(THIS_ LPINT pRetVal) PURE;
  4073.     STDMETHOD(GetMonth)(THIS_ int iMonth, SQLDMO_LPBSTR pRetVal) PURE;
  4074.     STDMETHOD(GetShortMonth)(THIS_ int iMonth, SQLDMO_LPBSTR pRetVal) PURE;
  4075.     STDMETHOD(GetDay)(THIS_ int iDay, SQLDMO_LPBSTR pRetVal) PURE;
  4076.  
  4077.    //*** methods
  4078. };
  4079.  
  4080. ////////////////////////////////////////////////////////////////////////////////////
  4081. ////////////////////////////////////////////////////////////////////////////////////
  4082.  
  4083. #undef INTERFACE
  4084. #define INTERFACE ISQLDMOConfiguration
  4085. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  4086. {
  4087.    //*** IUnknown methods
  4088.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  4089.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  4090.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  4091.  
  4092.         //*** SQLDMO standard object properties.
  4093.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  4094.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  4095.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  4096.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  4097.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  4098.  
  4099.         //*** properties
  4100.     STDMETHOD(GetShowAdvancedOptions)(THIS_ LPBOOL pRetVal) PURE;
  4101.     STDMETHOD(SetShowAdvancedOptions)(THIS_ BOOL NewValue) PURE;
  4102.  
  4103.         //*** collection properties
  4104.     STDMETHOD(GetConfigValues)(THIS_ LPSQLDMOCONFIGVALUES * ppRemoteLogins) PURE;
  4105.     STDMETHOD(GetConfigValueByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOCONFIGVALUE *ppRemoteLogin) PURE;
  4106.     STDMETHOD(GetConfigValueByOrd)(THIS_ long lOrdinal, LPSQLDMOCONFIGVALUE *ppRemoteLogin) PURE;
  4107.     STDMETHOD(GetConfigValueCount)(THIS_ LPLONG plCount) PURE;
  4108.  
  4109.     STDMETHOD(GetParameters)(THIS_ LPSQLDMONAMES *ppParameters) PURE;
  4110.  
  4111.         //*** methods
  4112.     STDMETHOD(ReconfigureCurrentValues)(THIS) PURE;
  4113.     STDMETHOD(ReconfigureWithOverride)(THIS) PURE;
  4114. };
  4115.  
  4116. ////////////////////////////////////////////////////////////////////////////////////
  4117. ////////////////////////////////////////////////////////////////////////////////////
  4118.  
  4119. #undef INTERFACE
  4120. #define INTERFACE ISQLDMOConfigValues
  4121. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  4122. {
  4123.    //*** IUnknown methods
  4124.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  4125.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  4126.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  4127.  
  4128.         //*** SQLDMO standard object properties.
  4129.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  4130.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  4131.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  4132.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  4133.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  4134.  
  4135.     //*** SQLDMO standard enumeration properties
  4136.         STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLDMOCONFIGVALUE *ppObj) PURE;
  4137.         STDMETHOD(GetItemByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOCONFIGVALUE *ppObj) PURE;
  4138.     STDMETHOD(GetItemByID)(THIS_ long lID, LPSQLDMOCONFIGVALUE *ppObj) PURE;
  4139.         STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  4140.     STDMETHOD(Refresh)(THIS) PURE;
  4141. };
  4142.  
  4143. #undef INTERFACE
  4144. #define INTERFACE ISQLDMOConfigValue
  4145. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  4146. {
  4147.    //*** IUnknown methods
  4148.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  4149.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  4150.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  4151.  
  4152.         //*** SQLDMO standard object properties.
  4153.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  4154.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  4155.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  4156.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  4157.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  4158.  
  4159.         //*** properties
  4160.     STDMETHOD(GetName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  4161.     STDMETHOD(GetMinimumValue)(THIS_ LPLONG pRetVal) PURE;
  4162.     STDMETHOD(GetMaximumValue)(THIS_ LPLONG pRetVal) PURE;
  4163.     STDMETHOD(GetDynamicReconfigure)(THIS_ LPBOOL pRetVal) PURE;
  4164.     STDMETHOD(GetCurrentValue)(THIS_ LPLONG pRetVal) PURE;
  4165.     STDMETHOD(SetCurrentValue)(THIS_ long NewValue) PURE;
  4166.     STDMETHOD(GetRunningValue)(THIS_ LPLONG pRetVal) PURE;
  4167.     STDMETHOD(GetDescription)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  4168.     STDMETHOD(GetID)(THIS_ SQLDMO_CONFIGVALUE_TYPE *pRetVal) PURE;
  4169. };
  4170.  
  4171. ////////////////////////////////////////////////////////////////////////////////////
  4172. ////////////////////////////////////////////////////////////////////////////////////
  4173.  
  4174. #undef INTERFACE
  4175. #define INTERFACE ISQLDMOIntegratedSecurity
  4176. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  4177. {
  4178.    //*** IUnknown methods
  4179.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  4180.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  4181.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  4182.  
  4183.         //*** SQLDMO standard object properties.
  4184.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  4185.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  4186.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  4187.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  4188.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  4189.  
  4190.         //*** properties
  4191.     STDMETHOD(GetMapUnderscore)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  4192.     STDMETHOD(SetMapUnderscore)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  4193.     STDMETHOD(GetMapDollarSign)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  4194.     STDMETHOD(SetMapDollarSign)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  4195.     STDMETHOD(GetMapPoundSign)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  4196.     STDMETHOD(SetMapPoundSign)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  4197.  
  4198.     STDMETHOD(GetSecurityMode)(THIS_ SQLDMO_SECURITY_TYPE * pRetVal) PURE;
  4199.     STDMETHOD(SetSecurityMode)(THIS_ SQLDMO_SECURITY_TYPE NewValue) PURE;
  4200.     STDMETHOD(GetDefaultLogin)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  4201.     STDMETHOD(SetDefaultLogin)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  4202.     STDMETHOD(GetDefaultDomain)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  4203.     STDMETHOD(SetDefaultDomain)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  4204.     STDMETHOD(GetAuditLevel)(THIS_ SQLDMO_AUDIT_TYPE * pRetVal) PURE;
  4205.     STDMETHOD(SetAuditLevel)(THIS_ SQLDMO_AUDIT_TYPE NewValue) PURE;
  4206.     STDMETHOD(GetSetHostName)(THIS_ LPBOOL pRetVal) PURE;
  4207.     STDMETHOD(SetSetHostName)(THIS_ BOOL NewValue) PURE;
  4208.     STDMETHOD(GetImpersonateClient)(THIS_ LPBOOL pRetVal) PURE;
  4209.     STDMETHOD(SetImpersonateClient)(THIS_ BOOL NewValue) PURE;
  4210.  
  4211.    //*** methods
  4212.     STDMETHOD(Refresh)(THIS) PURE;
  4213. };
  4214.  
  4215. ////////////////////////////////////////////////////////////////////////////////////
  4216. ////////////////////////////////////////////////////////////////////////////////////
  4217.  
  4218. #undef INTERFACE
  4219. #define INTERFACE ISQLDMOTables
  4220. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  4221. {
  4222.    //*** IUnknown methods
  4223.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  4224.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  4225.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  4226.  
  4227.         //*** SQLDMO standard object properties.
  4228.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  4229.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  4230.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  4231.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  4232.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  4233.  
  4234.     //*** SQLDMO standard enumeration properties
  4235.         STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLDMOTABLE *ppObj) PURE;
  4236.         STDMETHOD(GetItemByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOTABLE *ppObj, SQLDMO_LPCSTR szOwner CPPDEFAULT(= NULL)) PURE;
  4237.     STDMETHOD(GetItemByID)(THIS_ long lID, LPSQLDMOTABLE *ppObj) PURE;
  4238.         STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  4239.  
  4240.     //*** SQLDMO standard collection methods
  4241.         STDMETHOD(Add)(THIS_ LPSQLDMOTABLE Object) PURE;
  4242.         STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  4243.         STDMETHOD(RemoveByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  4244.         STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  4245. };
  4246.  
  4247. #undef INTERFACE
  4248. #define INTERFACE ISQLDMOTable
  4249. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  4250. {
  4251.    //*** IUnknown methods
  4252.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  4253.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  4254.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  4255.  
  4256.         //*** SQLDMO standard object properties.
  4257.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  4258.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  4259.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  4260.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  4261.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  4262.  
  4263.         //*** properties
  4264.     STDMETHOD(GetName)(THIS_ SQLDMO_LPBSTR pbstrName) PURE;
  4265.     STDMETHOD(SetName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  4266.     STDMETHOD(GetID)(THIS_ LPLONG plID) PURE;
  4267.     STDMETHOD(GetOwner)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  4268.     STDMETHOD(GetCreateDate)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  4269.     STDMETHOD(GetSystemObject)(THIS_ LPBOOL pRetVal) PURE;
  4270.     STDMETHOD(GetRows)(THIS_ LPLONG pRetVal) PURE;
  4271.     STDMETHOD(GetDataSpaceUsed)(THIS_ LPLONG pRetVal) PURE;
  4272.     STDMETHOD(GetIndexSpaceUsed)(THIS_ LPLONG pRetVal) PURE;
  4273.     STDMETHOD(GetAttributes)(THIS_ SQLDMO_TABLEATT_TYPE *pRetVal) PURE;
  4274.     STDMETHOD(GetPrimaryKey)(THIS_ LPSQLDMOKEY *ppPrimaryKey) PURE;
  4275.     STDMETHOD(GetClusteredIndex)(THIS_ LPSQLDMOINDEX *ppPrimaryKey) PURE;
  4276.  
  4277.         // Collection properties
  4278.     STDMETHOD(GetColumns)(THIS_ LPSQLDMOCOLUMNS *ppColumns) PURE;
  4279.     STDMETHOD(GetColumnByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOCOLUMN *ppColumn) PURE;
  4280.     STDMETHOD(GetColumnByOrd)(THIS_ long lOrdinal, LPSQLDMOCOLUMN *ppColumn) PURE;
  4281.     STDMETHOD(RemoveColumnByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  4282.     STDMETHOD(RemoveColumnByOrd)(THIS_ long lOrdinal) PURE;
  4283.     STDMETHOD(AddColumn)(THIS_ LPSQLDMOCOLUMN pColumn) PURE;
  4284.     STDMETHOD(GetColumnCount)(THIS_ LPLONG plCount) PURE;
  4285.  
  4286.     STDMETHOD(GetKeys)(THIS_ LPSQLDMOKEYS *ppKeys) PURE;
  4287.     STDMETHOD(GetKeyByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOKEY *ppKey) PURE;
  4288.     STDMETHOD(GetKeyByOrd)(THIS_ long lOrdinal, LPSQLDMOKEY *ppKey) PURE;
  4289.     STDMETHOD(RemoveKeyByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  4290.     STDMETHOD(RemoveKeyByOrd)(THIS_ long lOrdinal) PURE;
  4291.     STDMETHOD(AddKey)(THIS_ LPSQLDMOKEY pKey) PURE;
  4292.     STDMETHOD(GetKeyCount)(THIS_ LPLONG plCount) PURE;
  4293.  
  4294.     STDMETHOD(GetChecks)(THIS_ LPSQLDMOCHECKS *ppChecks) PURE;
  4295.     STDMETHOD(GetCheckByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOCHECK *ppCheck) PURE;
  4296.     STDMETHOD(GetCheckByOrd)(THIS_ long lOrdinal, LPSQLDMOCHECK *ppCheck) PURE;
  4297.     STDMETHOD(RemoveCheckByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  4298.     STDMETHOD(RemoveCheckByOrd)(THIS_ long lOrdinal) PURE;
  4299.     STDMETHOD(AddCheck)(THIS_ LPSQLDMOCHECK pCheck) PURE;
  4300.     STDMETHOD(GetCheckCount)(THIS_ LPLONG plCount) PURE;
  4301.  
  4302.     STDMETHOD(GetIndexes)(THIS_ LPSQLDMOINDEXES *ppIndexes) PURE;
  4303.     STDMETHOD(GetIndexByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOINDEX *ppIndex) PURE;
  4304.     STDMETHOD(GetIndexByOrd)(THIS_ long lOrdinal, LPSQLDMOINDEX *ppIndex) PURE;
  4305.     STDMETHOD(RemoveIndexByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  4306.     STDMETHOD(RemoveIndexByOrd)(THIS_ long lOrdinal) PURE;
  4307.     STDMETHOD(AddIndex)(THIS_ LPSQLDMOINDEX pIndex) PURE;
  4308.     STDMETHOD(GetIndexCount)(THIS_ LPLONG plCount) PURE;
  4309.  
  4310.     STDMETHOD(GetTriggers)(THIS_ LPSQLDMOTRIGGERS *ppTriggers) PURE;
  4311.     STDMETHOD(GetTriggerByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOTRIGGER *ppTrigger, SQLDMO_LPCSTR szOwner CPPDEFAULT(= NULL)) PURE;
  4312.     STDMETHOD(GetTriggerByOrd)(THIS_ long lOrdinal, LPSQLDMOTRIGGER *ppTrigger) PURE;
  4313.     STDMETHOD(RemoveTriggerByName)(THIS_ SQLDMO_LPCSTR szName, SQLDMO_LPCSTR szOwner CPPDEFAULT(= NULL)) PURE;
  4314.     STDMETHOD(RemoveTriggerByOrd)(THIS_ long lOrdinal) PURE;
  4315.     STDMETHOD(AddTrigger)(THIS_ LPSQLDMOTRIGGER pTrigger) PURE;
  4316.     STDMETHOD(GetTriggerCount)(THIS_ LPLONG plCount) PURE;
  4317.  
  4318.         //*** methods
  4319.     STDMETHOD(BeginAlter)(THIS) PURE;
  4320.     STDMETHOD(DoAlter)(THIS) PURE;
  4321.     STDMETHOD(DoAlterWithNoCheck)(THIS) PURE;
  4322.     STDMETHOD(CancelAlter)(THIS) PURE;
  4323.     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;
  4324.     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;
  4325.     STDMETHOD(CheckTable)(THIS_ SQLDMO_LPBSTR pResult) PURE;
  4326.     STDMETHOD(TruncateData)(THIS) PURE;
  4327.     STDMETHOD(UpdateStatistics)(THIS) PURE;
  4328.     STDMETHOD(ReCompileReferences)(THIS) PURE;
  4329.     STDMETHOD(Remove)(THIS) PURE;
  4330.     STDMETHOD(Refresh)(THIS) PURE;
  4331.     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;
  4332.     STDMETHOD(EnumReferencedKeys)(THIS_ LPSQLDMOQUERYRESULTS * ppResults, SQLDMO_LPCSTR ReferencedTableName CPPDEFAULT(= NULL), BOOL IncludeAllCandidates CPPDEFAULT(= NULL)) PURE;
  4333.     STDMETHOD(EnumReferencedTables)(THIS_ LPSQLDMOQUERYRESULTS * ppResults, BOOL IncludeAllCandidates CPPDEFAULT(= NULL)) PURE;
  4334.     STDMETHOD(EnumReferencingKeys)(THIS_ LPSQLDMOQUERYRESULTS * ppResults, SQLDMO_LPCSTR ReferencingTableName CPPDEFAULT(= NULL), BOOL IncludeAllCandidates CPPDEFAULT(= NULL)) PURE;
  4335.     STDMETHOD(EnumReferencingTables)(THIS_ LPSQLDMOQUERYRESULTS * ppResults, BOOL IncludeAllCandidates CPPDEFAULT(= NULL)) PURE;
  4336.     STDMETHOD(InsertColumn)(THIS_ LPSQLDMOCOLUMN pNewColumn, SQLDMO_LPCSTR BeforeColumnName) PURE;
  4337.     STDMETHOD(RecalcSpaceUsage)(THIS) PURE;
  4338.     STDMETHOD(EnumDependencies)(THIS_ LPSQLDMOQUERYRESULTS *ppResults, SQLDMO_DEPENDENCY_TYPE DependencyType CPPDEFAULT(= SQLDMODep_Parents)) PURE;
  4339.     STDMETHOD(EnumLastStatisticsUpdates)(THIS_ LPSQLDMOQUERYRESULTS * ppResults, SQLDMO_LPCSTR IndexName CPPDEFAULT(= NULL)) PURE;
  4340.  
  4341.         // List methods
  4342.     STDMETHOD(ListPermissions)(THIS_ LPSQLDMOPERMISSIONLIST * ppList, SQLDMO_PRIVILEGE_TYPE lPrivilegeTypes CPPDEFAULT(= SQLDMOPriv_AllObjectPrivs)) PURE;
  4343.     STDMETHOD(ListUserPermissions)(THIS_ SQLDMO_LPCSTR UserName, LPSQLDMOPERMISSIONLIST * ppList) PURE;
  4344.  
  4345.         // Post-6.0 additions.
  4346.     STDMETHOD(CheckIdentityValue)(THIS) PURE;
  4347.     STDMETHOD(RebuildIndexes)(THIS_ SQLDMO_INDEX_TYPE SortedDataType CPPDEFAULT(= SQLDMOIndex_Default), long lFillFactor CPPDEFAULT(= SQLDMO_USEEXISTINGFILLFACTOR)) PURE;
  4348.     STDMETHOD(ImportData)(THIS_ LPSQLDMOBULKCOPY Bcp, LPLONG plRowsImported CPPDEFAULT(= NULL)) PURE;
  4349.     STDMETHOD(ExportData)(THIS_ LPSQLDMOBULKCOPY Bcp, LPLONG plRowsExported CPPDEFAULT(= NULL)) PURE;
  4350.     STDMETHOD(CheckTableDataOnly)(THIS_ SQLDMO_LPBSTR pResult) PURE;
  4351.     STDMETHOD(InAlter)(THIS_ LPBOOL pRetVal) PURE;
  4352.  
  4353.     // 7.0
  4354.     STDMETHOD(GetFileGroup)(THIS_ SQLDMO_LPBSTR pbstrName) PURE;
  4355.     STDMETHOD(SetFileGroup)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  4356.     STDMETHOD(GetTextFileGroup)(THIS_ SQLDMO_LPBSTR pbstrName) PURE;
  4357.     STDMETHOD(SetTextFileGroup)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  4358.     STDMETHOD(Deny)(THIS_ SQLDMO_PRIVILEGE_TYPE iPrivileges, SQLDMO_LPCSTR DenyeeNames, SQLDMO_LPCSTR ColumnNames CPPDEFAULT(= NULL), BOOL GrantGrant CPPDEFAULT(=FALSE)) PURE;
  4359.     STDMETHOD(SetOwner)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  4360.     STDMETHOD(GenerateSQL)(THIS_ LPSQLDMODATABASE pDB, SQLDMO_LPBSTR pRetVal) PURE;
  4361.     // Following CheckTextAllocsXXXX are for backward compatible
  4362.     STDMETHOD(CheckTextAllocsFast)(THIS_ SQLDMO_LPBSTR pResult) PURE;
  4363.     STDMETHOD(CheckTextAllocsFull)(THIS_ SQLDMO_LPBSTR pResult) PURE;
  4364.     STDMETHOD(UpdateStatisticsWith)(THIS_ SQLDMO_STAT_AFFECT_TYPE AffectType, SQLDMO_STAT_SCAN_TYPE ScanType, long ScanNumber CPPDEFAULT(=0), BOOL ReCompute CPPDEFAULT(=TRUE)) PURE;
  4365.     STDMETHOD(GetFullTextIndex)(THIS_ LPBOOL pRetVal) PURE;
  4366.     STDMETHOD(SetFullTextIndex)(THIS_ BOOL NewValue) PURE;
  4367.     STDMETHOD(GetUniqueIndexForFullText)(THIS_ SQLDMO_LPBSTR pbstrName) PURE;
  4368.     STDMETHOD(SetUniqueIndexForFullText)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  4369.     STDMETHOD(GetFullTextCatalogName)(THIS_ SQLDMO_LPBSTR pbstrName) PURE;
  4370.     STDMETHOD(SetFullTextCatalogName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  4371.     STDMETHOD(GetFullTextIndexActive)(THIS_ LPBOOL pRetVal) PURE;
  4372.     STDMETHOD(SetFullTextIndexActive)(THIS_ BOOL NewValue) PURE;
  4373.     STDMETHOD(GetFullTextKeyColumn)(THIS_ LPLONG pRetVal) PURE;
  4374.     STDMETHOD(ListAvailableUniqueIndexesForFullText)(THIS_ LPSQLDMONAMELIST *ppUniqueIndexNames) PURE;
  4375.     STDMETHOD(FullTextIndexScript)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  4376.     STDMETHOD(GetHasClusteredIndex)(THIS_ LPBOOL pRetVal) PURE;
  4377.     STDMETHOD(GetHasIndex)(THIS_ LPBOOL pRetVal) PURE;
  4378.     STDMETHOD(GetFakeSystemTable)(THIS_ LPBOOL pRetVal) PURE;
  4379. };
  4380.  
  4381. ////////////////////////////////////////////////////////////////////////////////////
  4382. ////////////////////////////////////////////////////////////////////////////////////
  4383.  
  4384. #undef INTERFACE
  4385. #define INTERFACE ISQLDMOViews
  4386. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  4387. {
  4388.    //*** IUnknown methods
  4389.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  4390.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  4391.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  4392.  
  4393.         //*** SQLDMO standard object properties.
  4394.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  4395.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  4396.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  4397.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  4398.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  4399.  
  4400.     //*** SQLDMO standard enumeration properties
  4401.         STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLDMOVIEW *ppObj) PURE;
  4402.         STDMETHOD(GetItemByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOVIEW *ppObj, SQLDMO_LPCSTR szOwner CPPDEFAULT(= NULL)) PURE;
  4403.     STDMETHOD(GetItemByID)(THIS_ long lID, LPSQLDMOVIEW *ppObj) PURE;
  4404.         STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  4405.  
  4406.     //*** SQLDMO standard collection methods
  4407.         STDMETHOD(Add)(THIS_ LPSQLDMOVIEW Object) PURE;
  4408.         STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  4409.         STDMETHOD(RemoveByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  4410.         STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  4411. };
  4412.  
  4413. #undef INTERFACE
  4414. #define INTERFACE ISQLDMOView
  4415. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  4416. {
  4417.    //*** IUnknown methods
  4418.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  4419.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  4420.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  4421.  
  4422.         //*** SQLDMO standard object properties.
  4423.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  4424.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  4425.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  4426.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  4427.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  4428.  
  4429.         //*** properties
  4430.     STDMETHOD(GetName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  4431.     STDMETHOD(SetName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  4432.     STDMETHOD(GetID)(THIS_ LPLONG plID) PURE;
  4433.     STDMETHOD(GetOwner)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  4434.     STDMETHOD(GetCreateDate)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  4435.     STDMETHOD(GetText)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  4436.     STDMETHOD(SetText)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  4437.     STDMETHOD(GetSystemObject)(THIS_ LPBOOL pRetVal) PURE;
  4438.  
  4439.         //*** methods
  4440.     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;
  4441.     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;
  4442.     STDMETHOD(Remove)(THIS) PURE;
  4443.     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;
  4444.     STDMETHOD(EnumDependencies)(THIS_ LPSQLDMOQUERYRESULTS *ppResults, SQLDMO_DEPENDENCY_TYPE DependencyType CPPDEFAULT(= SQLDMODep_Parents)) PURE;
  4445.  
  4446.     // List methods
  4447.     STDMETHOD(ListPermissions)(THIS_ LPSQLDMOPERMISSIONLIST * ppList, SQLDMO_PRIVILEGE_TYPE lPrivilegeTypes CPPDEFAULT(= SQLDMOPriv_AllObjectPrivs)) PURE;
  4448.     STDMETHOD(ListUserPermissions)(THIS_ SQLDMO_LPCSTR UserName, LPSQLDMOPERMISSIONLIST * ppList) PURE;
  4449.     STDMETHOD(ListColumns)(THIS_ LPSQLDMOCOLUMNLIST * ppList) PURE;
  4450.  
  4451.         // Post-6.0 additions.
  4452.     STDMETHOD(ExportData)(THIS_ LPSQLDMOBULKCOPY Bcp, LPLONG plRowsExported CPPDEFAULT(= NULL)) PURE;
  4453.  
  4454.     // 7.0
  4455.     STDMETHOD(Deny)(THIS_ SQLDMO_PRIVILEGE_TYPE iPrivileges, SQLDMO_LPCSTR DenyeeNames, SQLDMO_LPCSTR ColumnNames CPPDEFAULT(= NULL), BOOL GrantGrant CPPDEFAULT(=FALSE)) PURE;
  4456.     STDMETHOD(SetOwner)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  4457.     STDMETHOD(Alter)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  4458.     STDMETHOD(GetQuotedIdentifierStatus)(THIS_ LPBOOL pRetVal) PURE;
  4459.     STDMETHOD(GetAnsiNullsStatus)(THIS_ LPBOOL pRetVal) PURE;
  4460. };
  4461.  
  4462. ////////////////////////////////////////////////////////////////////////////////////
  4463. ////////////////////////////////////////////////////////////////////////////////////
  4464.  
  4465. #undef INTERFACE
  4466. #define INTERFACE ISQLDMORules
  4467. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  4468. {
  4469.    //*** IUnknown methods
  4470.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  4471.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  4472.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  4473.  
  4474.         //*** SQLDMO standard object properties.
  4475.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  4476.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  4477.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  4478.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  4479.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  4480.  
  4481.     //*** SQLDMO standard enumeration properties
  4482.         STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLDMORULE *ppObj) PURE;
  4483.         STDMETHOD(GetItemByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMORULE *ppObj, SQLDMO_LPCSTR szOwner CPPDEFAULT(= NULL)) PURE;
  4484.     STDMETHOD(GetItemByID)(THIS_ long lID, LPSQLDMORULE *ppObj) PURE;
  4485.         STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  4486.  
  4487.     //*** SQLDMO standard collection methods
  4488.         STDMETHOD(Add)(THIS_ LPSQLDMORULE Object) PURE;
  4489.         STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  4490.         STDMETHOD(RemoveByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  4491.         STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  4492. };
  4493.  
  4494. #undef INTERFACE
  4495. #define INTERFACE ISQLDMORule
  4496. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  4497. {
  4498.    //*** IUnknown methods
  4499.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  4500.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  4501.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  4502.  
  4503.         //*** SQLDMO standard object properties.
  4504.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  4505.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  4506.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  4507.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  4508.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  4509.  
  4510.         //*** properties
  4511.     STDMETHOD(GetName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  4512.     STDMETHOD(SetName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  4513.     STDMETHOD(GetOwner)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  4514.     STDMETHOD(GetCreateDate)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  4515.     STDMETHOD(GetID)(THIS_ LPLONG pRetVal) PURE;
  4516.     STDMETHOD(GetText)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  4517.     STDMETHOD(SetText)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  4518.  
  4519.         //*** methods
  4520.     STDMETHOD(BindToColumn)(THIS_ SQLDMO_LPCSTR TableName, SQLDMO_LPCSTR ColumnName) PURE;
  4521.     STDMETHOD(BindToDatatype)(THIS_ SQLDMO_LPCSTR DatatypeName, BOOL bFutureOnly CPPDEFAULT(= FALSE)) PURE;
  4522.     STDMETHOD(UnbindFromColumn)(THIS_ SQLDMO_LPCSTR TableName, SQLDMO_LPCSTR ColumnName) PURE;
  4523.     STDMETHOD(UnbindFromDatatype)(THIS_ SQLDMO_LPCSTR DatatypeName, BOOL bFutureOnly CPPDEFAULT(= FALSE)) PURE;
  4524.     STDMETHOD(Remove)(THIS) PURE;
  4525.     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;
  4526.  
  4527.         // List methods
  4528.     STDMETHOD(ListBoundColumns)(THIS_ LPSQLDMOCOLUMNLIST * ppList) PURE;
  4529.     STDMETHOD(ListBoundDatatypes)(THIS_ LPSQLDMOUSERDEFINEDDATATYPELIST * ppList) PURE;
  4530.  
  4531.     // 7.0
  4532.     STDMETHOD(SetOwner)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  4533. };
  4534.  
  4535. ////////////////////////////////////////////////////////////////////////////////////
  4536. ////////////////////////////////////////////////////////////////////////////////////
  4537.  
  4538. #undef INTERFACE
  4539. #define INTERFACE ISQLDMODefaults
  4540. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  4541. {
  4542.    //*** IUnknown methods
  4543.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  4544.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  4545.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  4546.  
  4547.         //*** SQLDMO standard object properties.
  4548.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  4549.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  4550.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  4551.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  4552.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  4553.  
  4554.     //*** SQLDMO standard enumeration properties
  4555.         STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLDMODEFAULT *ppObj) PURE;
  4556.         STDMETHOD(GetItemByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMODEFAULT *ppObj, SQLDMO_LPCSTR szOwner CPPDEFAULT(= NULL)) PURE;
  4557.     STDMETHOD(GetItemByID)(THIS_ long lID, LPSQLDMODEFAULT *ppObj) PURE;
  4558.         STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  4559.  
  4560.     //*** SQLDMO standard collection methods
  4561.         STDMETHOD(Add)(THIS_ LPSQLDMODEFAULT Object) PURE;
  4562.         STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  4563.         STDMETHOD(RemoveByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  4564.         STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  4565. };
  4566.  
  4567. #undef INTERFACE
  4568. #define INTERFACE ISQLDMODefault
  4569. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  4570. {
  4571.    //*** IUnknown methods
  4572.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  4573.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  4574.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  4575.  
  4576.         //*** SQLDMO standard object properties.
  4577.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  4578.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  4579.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  4580.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  4581.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  4582.  
  4583.         //*** properties
  4584.     STDMETHOD(GetName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  4585.     STDMETHOD(SetName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  4586.     STDMETHOD(GetOwner)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  4587.     STDMETHOD(GetCreateDate)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  4588.     STDMETHOD(GetID)(THIS_ LPLONG pRetVal) PURE;
  4589.     STDMETHOD(GetText)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  4590.     STDMETHOD(SetText)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  4591.  
  4592.         //*** methods
  4593.     STDMETHOD(BindToColumn)(THIS_ SQLDMO_LPCSTR TableName, SQLDMO_LPCSTR ColumnName) PURE;
  4594.     STDMETHOD(BindToDatatype)(THIS_ SQLDMO_LPCSTR DatatypeName, BOOL bFutureOnly CPPDEFAULT(= FALSE)) PURE;
  4595.     STDMETHOD(UnbindFromColumn)(THIS_ SQLDMO_LPCSTR TableName, SQLDMO_LPCSTR ColumnName) PURE;
  4596.     STDMETHOD(UnbindFromDatatype)(THIS_ SQLDMO_LPCSTR DatatypeName, BOOL bFutureOnly CPPDEFAULT(= FALSE)) PURE;
  4597.     STDMETHOD(Remove)(THIS) PURE;
  4598.     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;
  4599.  
  4600.         // List methods
  4601.     STDMETHOD(ListBoundColumns)(THIS_ LPSQLDMOCOLUMNLIST * ppList) PURE;
  4602.     STDMETHOD(ListBoundDatatypes)(THIS_ LPSQLDMOUSERDEFINEDDATATYPELIST * ppList) PURE;
  4603.  
  4604.     // 7.0
  4605.     STDMETHOD(SetOwner)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  4606. };
  4607.  
  4608. ////////////////////////////////////////////////////////////////////////////////////
  4609. ////////////////////////////////////////////////////////////////////////////////////
  4610.  
  4611. #undef INTERFACE
  4612. #define INTERFACE ISQLDMOColumns
  4613. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  4614. {
  4615.    //*** IUnknown methods
  4616.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  4617.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  4618.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  4619.  
  4620.         //*** SQLDMO standard object properties.
  4621.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  4622.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  4623.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  4624.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  4625.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  4626.  
  4627.     //*** SQLDMO standard enumeration properties
  4628.         STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLDMOCOLUMN *ppObj) PURE;
  4629.         STDMETHOD(GetItemByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOCOLUMN *ppObj) PURE;
  4630.     STDMETHOD(GetItemByID)(THIS_ long lID, LPSQLDMOCOLUMN *ppObj) PURE;
  4631.         STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  4632.  
  4633.     //*** SQLDMO standard collection methods
  4634.         STDMETHOD(Add)(THIS_ LPSQLDMOCOLUMN Object) PURE;
  4635.         STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  4636.         STDMETHOD(RemoveByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  4637.         STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  4638. };
  4639.  
  4640. #undef INTERFACE
  4641. #define INTERFACE ISQLDMOColumn
  4642. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  4643. {
  4644.    //*** IUnknown methods
  4645.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  4646.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  4647.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  4648.  
  4649.         //*** SQLDMO standard object properties.
  4650.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  4651.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  4652.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  4653.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  4654.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  4655.  
  4656.         //*** properties
  4657.     STDMETHOD(GetName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  4658.     STDMETHOD(SetName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  4659.     STDMETHOD(GetDatatype)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  4660.     STDMETHOD(SetDatatype)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  4661.     STDMETHOD(GetPhysicalDatatype)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  4662.     STDMETHOD(GetLength)(THIS_ LPLONG pRetVal) PURE;
  4663.     STDMETHOD(SetLength)(THIS_ long NewValue) PURE;
  4664.     STDMETHOD(GetDefault)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  4665.     STDMETHOD(SetDefault)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  4666.     STDMETHOD(GetRule)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  4667.     STDMETHOD(SetRule)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  4668.     STDMETHOD(GetAllowNulls)(THIS_ LPBOOL pRetVal) PURE;
  4669.     STDMETHOD(SetAllowNulls)(THIS_ BOOL NewValue) PURE;
  4670.     STDMETHOD(GetID)(THIS_ LPLONG pRetVal) PURE;
  4671.     STDMETHOD(GetIdentity)(THIS_ LPBOOL pRetVal) PURE;
  4672.     STDMETHOD(SetIdentity)(THIS_ BOOL NewValue) PURE;
  4673.     STDMETHOD(GetNumericPrecision)(THIS_ LPLONG pRetVal) PURE;
  4674.     STDMETHOD(SetNumericPrecision)(THIS_ long NewValue) PURE;
  4675.     STDMETHOD(GetNumericScale)(THIS_ LPLONG pRetVal) PURE;
  4676.     STDMETHOD(SetNumericScale)(THIS_ long NewValue) PURE;
  4677.     STDMETHOD(GetIdentitySeed)(THIS_ LPLONG pRetVal) PURE;
  4678.     STDMETHOD(SetIdentitySeed)(THIS_ long NewValue) PURE;
  4679.     STDMETHOD(GetIdentityIncrement)(THIS_ LPLONG pRetVal) PURE;
  4680.     STDMETHOD(SetIdentityIncrement)(THIS_ long NewValue) PURE;
  4681.     STDMETHOD(GetDRIDefault)(THIS_ LPSQLDMODRIDEFAULT *ppDRIDefault) PURE;
  4682.     STDMETHOD(GetInPrimaryKey)(THIS_ LPBOOL pRetVal) PURE;
  4683.  
  4684.    //*** methods
  4685.     STDMETHOD(Remove)(THIS) PURE;
  4686.     STDMETHOD(ListKeys)(THIS_ LPSQLDMOKEYLIST * ppList) PURE;
  4687.  
  4688.     // 7.0
  4689.     STDMETHOD(GetIsRowGuidCol)(THIS_ LPBOOL pRetVal) PURE;
  4690.     STDMETHOD(SetIsRowGuidCol)(THIS_ BOOL NewValue) PURE;
  4691.     STDMETHOD(GetIsComputed)(THIS_ LPBOOL pRetVal) PURE;
  4692.     STDMETHOD(SetIsComputed)(THIS_ BOOL NewValue) PURE;
  4693.     STDMETHOD(GetComputedText)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  4694.     STDMETHOD(SetComputedText)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  4695.     STDMETHOD(GetNotForRepl)(THIS_ LPBOOL pRetVal) PURE;
  4696.     STDMETHOD(SetNotForRepl)(THIS_ BOOL NewValue) PURE;
  4697.     STDMETHOD(UpdateStatisticsWith)(THIS_ SQLDMO_STAT_SCAN_TYPE ScanType, long ScanNumber CPPDEFAULT(=0), BOOL ReCompute CPPDEFAULT(=TRUE)) PURE;
  4698.     STDMETHOD(GetFullTextIndex)(THIS_ LPBOOL pRetVal) PURE;
  4699.     STDMETHOD(SetFullTextIndex)(THIS_ BOOL NewValue) PURE;
  4700.     STDMETHOD(GetAnsiPaddingStatus)(THIS_ LPBOOL pRetVal) PURE;
  4701.     STDMETHOD(GetDefaultOwner)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  4702.     STDMETHOD(GetRuleOwner)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  4703.     STDMETHOD(BindDefault)(THIS_ SQLDMO_LPCSTR DefaultOwner, SQLDMO_LPCSTR DefaultName, BOOL Bind) PURE;
  4704.     STDMETHOD(BindRule)(THIS_ SQLDMO_LPCSTR RuleOwner, SQLDMO_LPCSTR RuleName, BOOL Bind) PURE;
  4705. };
  4706.  
  4707. ////////////////////////////////////////////////////////////////////////////////////
  4708. ////////////////////////////////////////////////////////////////////////////////////
  4709.  
  4710. #undef INTERFACE
  4711. #define INTERFACE ISQLDMOIndexes
  4712. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  4713. {
  4714.    //*** IUnknown methods
  4715.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  4716.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  4717.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  4718.  
  4719.         //*** SQLDMO standard object properties.
  4720.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  4721.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  4722.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  4723.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  4724.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  4725.  
  4726.     //*** SQLDMO standard enumeration properties
  4727.         STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLDMOINDEX *ppObj) PURE;
  4728.         STDMETHOD(GetItemByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOINDEX *ppObj) PURE;
  4729.     STDMETHOD(GetItemByID)(THIS_ long lID, LPSQLDMOINDEX *ppObj) PURE;
  4730.         STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  4731.  
  4732.     //*** SQLDMO standard collection methods
  4733.         STDMETHOD(Add)(THIS_ LPSQLDMOINDEX Object) PURE;
  4734.         STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  4735.         STDMETHOD(RemoveByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  4736.         STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  4737. };
  4738.  
  4739. #undef INTERFACE
  4740. #define INTERFACE ISQLDMOIndex
  4741. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  4742. {
  4743.    //*** IUnknown methods
  4744.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  4745.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  4746.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  4747.  
  4748.         //*** SQLDMO standard object properties.
  4749.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  4750.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  4751.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  4752.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  4753.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  4754.  
  4755.         //*** properties
  4756.     STDMETHOD(GetName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  4757.     STDMETHOD(SetName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  4758.     STDMETHOD(GetType)(THIS_ SQLDMO_INDEX_TYPE *pRetVal) PURE;
  4759.     STDMETHOD(SetType)(THIS_ SQLDMO_INDEX_TYPE NewValue) PURE;
  4760.     STDMETHOD(GetID)(THIS_ LPLONG pRetVal) PURE;
  4761.     STDMETHOD(GetFillFactor)(THIS_ LPLONG pRetVal) PURE;
  4762.     STDMETHOD(SetFillFactor)(THIS_ long lNewValue) PURE;
  4763.     STDMETHOD(GetSpaceUsed)(THIS_ LPLONG pRetVal) PURE;
  4764.     STDMETHOD(SetIndexedColumns)(THIS_ SQLDMO_LPCSTR ColumnNames) PURE;
  4765.  
  4766.     //*** methods
  4767.     STDMETHOD(UpdateStatistics)(THIS) PURE;
  4768.     STDMETHOD(Remove)(THIS) PURE;
  4769.     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;
  4770.     STDMETHOD(Rebuild)(THIS) PURE;
  4771.     STDMETHOD(RecalcSpaceUsage)(THIS) PURE;
  4772.     STDMETHOD(EnumStatistics)(THIS_ LPSQLDMOQUERYRESULTS *ppResults) PURE;
  4773.     STDMETHOD(GenerateCreationSQL)(THIS_ LPSQLDMOTABLE TargetTable, SQLDMO_LPBSTR pSQLStatement) PURE;
  4774.  
  4775.         // List methods
  4776.     STDMETHOD(ListIndexedColumns)(THIS_ LPSQLDMOCOLUMNLIST * ppList) PURE;
  4777.  
  4778.         // Post-6.0 additions.
  4779.     STDMETHOD(CheckIndex)(THIS_ SQLDMO_LPBSTR pResult) PURE;
  4780.  
  4781.     // 7.0
  4782.     STDMETHOD(GetFileGroup)(THIS_ SQLDMO_LPBSTR pbstrName) PURE;
  4783.     STDMETHOD(SetFileGroup)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  4784.     STDMETHOD(GenerateSQL)(THIS_ LPSQLDMOTABLE pTable, SQLDMO_LPBSTR pRetVal) PURE;
  4785.     STDMETHOD(UpdateStatisticsWith)(THIS_ SQLDMO_STAT_SCAN_TYPE ScanType, long ScanNumber CPPDEFAULT(=0), BOOL ReCompute CPPDEFAULT(=TRUE)) PURE;
  4786.     STDMETHOD(GetIsFullTextKey)(THIS_ LPBOOL pRetVal) PURE;
  4787.     STDMETHOD(GetNoRecompute)(THIS_ LPBOOL pRetVal) PURE;
  4788.     STDMETHOD(SetNoRecompute)(THIS_ BOOL NewValue) PURE;
  4789.     STDMETHOD(GetStatisticsIndex)(THIS_ LPBOOL pRetVal) PURE;
  4790.     STDMETHOD(SetStatisticsIndex)(THIS_ BOOL NewValue) PURE;
  4791. };
  4792.  
  4793. ////////////////////////////////////////////////////////////////////////////////////
  4794. ////////////////////////////////////////////////////////////////////////////////////
  4795.  
  4796. #undef INTERFACE
  4797. #define INTERFACE ISQLDMOKeys
  4798. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  4799. {
  4800.    //*** IUnknown methods
  4801.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  4802.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  4803.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  4804.  
  4805.         //*** SQLDMO standard object properties.
  4806.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  4807.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  4808.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  4809.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  4810.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  4811.  
  4812.     //*** SQLDMO standard enumeration properties
  4813.         STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLDMOKEY *ppObj) PURE;
  4814.         STDMETHOD(GetItemByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOKEY *ppObj) PURE;
  4815.         STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  4816.  
  4817.     //*** SQLDMO standard collection methods
  4818.         STDMETHOD(Add)(THIS_ LPSQLDMOKEY Object) PURE;
  4819.         STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  4820.         STDMETHOD(RemoveByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  4821.         STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  4822. };
  4823.  
  4824. #undef INTERFACE
  4825. #define INTERFACE ISQLDMOKey
  4826. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  4827. {
  4828.    //*** IUnknown methods
  4829.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  4830.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  4831.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  4832.  
  4833.         //*** SQLDMO standard object properties.
  4834.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  4835.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  4836.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  4837.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  4838.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  4839.  
  4840.         //*** properties
  4841.     STDMETHOD(GetName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  4842.     STDMETHOD(SetName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  4843.     STDMETHOD(GetType)(THIS_ SQLDMO_KEY_TYPE *pRetVal) PURE;
  4844.     STDMETHOD(SetType)(THIS_ SQLDMO_KEY_TYPE NewValue) PURE;
  4845.     STDMETHOD(GetClustered)(THIS_ LPBOOL pRetVal) PURE;
  4846.     STDMETHOD(SetClustered)(THIS_ BOOL bNewValue) PURE;
  4847.     STDMETHOD(GetFillFactor)(THIS_ LPLONG pRetVal) PURE;
  4848.     STDMETHOD(SetFillFactor)(THIS_ long lNewValue) PURE;
  4849.     STDMETHOD(GetReferencedTable)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  4850.     STDMETHOD(SetReferencedTable)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  4851.     STDMETHOD(GetReferencedKey)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  4852.  
  4853.         //*** Collection properties
  4854.     STDMETHOD(GetKeyColumns)(THIS_ LPSQLDMONAMES *ppColumnNames) PURE;
  4855.     STDMETHOD(GetReferencedColumns)(THIS_ LPSQLDMONAMES *ppColumnNames) PURE;
  4856.  
  4857.     //*** methods
  4858.     STDMETHOD(Remove)(THIS) PURE;
  4859.     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;
  4860.  
  4861.         // Post-6.0 additions.
  4862.     STDMETHOD(RebuildIndex)(THIS) PURE;
  4863.     STDMETHOD(GetExcludeReplication)(THIS_ LPBOOL pRetVal) PURE;
  4864.     STDMETHOD(SetExcludeReplication)(THIS_ BOOL NewValue) PURE;
  4865.  
  4866.     // 7.0
  4867.     STDMETHOD(GetFileGroup)(THIS_ SQLDMO_LPBSTR pbstrName) PURE;
  4868.     STDMETHOD(SetFileGroup)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  4869.     STDMETHOD(GetChecked)(THIS_ LPBOOL pRetVal) PURE;
  4870.     STDMETHOD(SetChecked)(THIS_ BOOL NewValue) PURE;
  4871. };
  4872.  
  4873. ////////////////////////////////////////////////////////////////////////////////////
  4874. ////////////////////////////////////////////////////////////////////////////////////
  4875.  
  4876. #undef INTERFACE
  4877. #define INTERFACE ISQLDMOStoredProcedures
  4878. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  4879. {
  4880.    //*** IUnknown methods
  4881.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  4882.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  4883.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  4884.  
  4885.         //*** SQLDMO standard object properties.
  4886.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  4887.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  4888.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  4889.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  4890.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  4891.  
  4892.     //*** SQLDMO standard enumeration properties
  4893.         STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLDMOSTOREDPROCEDURE *ppObj) PURE;
  4894.         STDMETHOD(GetItemByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOSTOREDPROCEDURE *ppObj, SQLDMO_LPCSTR szOwner CPPDEFAULT(= NULL)) PURE;
  4895.     STDMETHOD(GetItemByID)(THIS_ long lID, LPSQLDMOSTOREDPROCEDURE *ppObj) PURE;
  4896.         STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  4897.  
  4898.     //*** SQLDMO standard collection methods
  4899.         STDMETHOD(Add)(THIS_ LPSQLDMOSTOREDPROCEDURE Object) PURE;
  4900.         STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  4901.         STDMETHOD(RemoveByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  4902.         STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  4903. };
  4904.  
  4905. #undef INTERFACE
  4906. #define INTERFACE ISQLDMOStoredProcedure
  4907. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  4908. {
  4909.    //*** IUnknown methods
  4910.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  4911.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  4912.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  4913.  
  4914.         //*** SQLDMO standard object properties.
  4915.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  4916.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  4917.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  4918.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  4919.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  4920.  
  4921.         //*** properties
  4922.     STDMETHOD(GetName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  4923.     STDMETHOD(SetName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  4924.     STDMETHOD(GetOwner)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  4925.     STDMETHOD(GetCreateDate)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  4926.     STDMETHOD(GetID)(THIS_ LPLONG pRetVal) PURE;
  4927.     STDMETHOD(GetText)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  4928.     STDMETHOD(SetText)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  4929.     STDMETHOD(GetType)(THIS_ SQLDMO_PROCEDURE_TYPE *pRetVal) PURE;
  4930.     STDMETHOD(SetType)(THIS_ SQLDMO_PROCEDURE_TYPE NewValue) PURE;
  4931.     STDMETHOD(GetStartup)(THIS_ LPBOOL pRetVal) PURE;
  4932.     STDMETHOD(SetStartup)(THIS_ BOOL NewValue) PURE;
  4933.     STDMETHOD(GetSystemObject)(THIS_ LPBOOL pRetVal) PURE;
  4934.  
  4935.         //*** methods
  4936.     STDMETHOD(Grant)(THIS_ SQLDMO_PRIVILEGE_TYPE iPrivileges, SQLDMO_LPCSTR GranteeNames, BOOL GrantGrant CPPDEFAULT(=FALSE), SQLDMO_LPCSTR AsRole CPPDEFAULT(= NULL)) PURE;
  4937.     STDMETHOD(Revoke)(THIS_ SQLDMO_PRIVILEGE_TYPE iPrivileges, SQLDMO_LPCSTR RevokeeNames, BOOL GrantGrant CPPDEFAULT(=FALSE), BOOL RevokeGrantOption CPPDEFAULT(=FALSE), SQLDMO_LPCSTR AsRole CPPDEFAULT(= NULL)) PURE;
  4938.     STDMETHOD(Remove)(THIS) PURE;
  4939.     STDMETHOD(EnumParameters)(THIS_ LPSQLDMOQUERYRESULTS * ppResults) PURE;
  4940.     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;
  4941.     STDMETHOD(EnumDependencies)(THIS_ LPSQLDMOQUERYRESULTS *ppResults, SQLDMO_DEPENDENCY_TYPE DependencyType CPPDEFAULT(= SQLDMODep_Parents)) PURE;
  4942.  
  4943.         // List methods
  4944.     STDMETHOD(ListPermissions)(THIS_ LPSQLDMOPERMISSIONLIST * ppList, SQLDMO_PRIVILEGE_TYPE lPrivilegeTypes CPPDEFAULT(= SQLDMOPriv_Execute)) PURE;
  4945.     STDMETHOD(ListUserPermissions)(THIS_ SQLDMO_LPCSTR UserName, LPSQLDMOPERMISSIONLIST * ppList) PURE;
  4946.  
  4947.     // 7.0
  4948.     STDMETHOD(Deny)(THIS_ SQLDMO_PRIVILEGE_TYPE iPrivileges, SQLDMO_LPCSTR DenyeeNames, BOOL GrantGrant CPPDEFAULT(=FALSE)) PURE;
  4949.     STDMETHOD(SetOwner)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  4950.     STDMETHOD(Alter)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  4951.     STDMETHOD(GetQuotedIdentifierStatus)(THIS_ LPBOOL pRetVal) PURE;
  4952.     STDMETHOD(GetAnsiNullsStatus)(THIS_ LPBOOL pRetVal) PURE;
  4953. };
  4954.  
  4955. ////////////////////////////////////////////////////////////////////////////////////
  4956. ////////////////////////////////////////////////////////////////////////////////////
  4957.  
  4958. #undef INTERFACE
  4959. #define INTERFACE ISQLDMOUserDefinedDatatypes
  4960. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  4961. {
  4962.    //*** IUnknown methods
  4963.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  4964.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  4965.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  4966.  
  4967.         //*** SQLDMO standard object properties.
  4968.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  4969.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  4970.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  4971.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  4972.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  4973.  
  4974.     //*** SQLDMO standard enumeration properties
  4975.         STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLDMOUSERDEFINEDDATATYPE *ppObj) PURE;
  4976.         STDMETHOD(GetItemByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOUSERDEFINEDDATATYPE *ppObj, SQLDMO_LPCSTR szOwner CPPDEFAULT(= NULL)) PURE;
  4977.     STDMETHOD(GetItemByID)(THIS_ long lID, LPSQLDMOUSERDEFINEDDATATYPE *ppObj) PURE;
  4978.         STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  4979.  
  4980.     //*** SQLDMO standard collection methods
  4981.         STDMETHOD(Add)(THIS_ LPSQLDMOUSERDEFINEDDATATYPE Object) PURE;
  4982.         STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  4983.         STDMETHOD(RemoveByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  4984.         STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  4985. };
  4986.  
  4987. #undef INTERFACE
  4988. #define INTERFACE ISQLDMOUserDefinedDatatype
  4989. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  4990. {
  4991.    //*** IUnknown methods
  4992.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  4993.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  4994.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  4995.  
  4996.         //*** SQLDMO standard object properties.
  4997.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  4998.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  4999.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  5000.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  5001.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  5002.  
  5003.         //*** properties
  5004.     STDMETHOD(GetName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  5005.     STDMETHOD(SetName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  5006.     STDMETHOD(GetOwner)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  5007.     STDMETHOD(GetAllowNulls)(THIS_ LPBOOL pRetVal) PURE;
  5008.     STDMETHOD(SetAllowNulls)(THIS_ BOOL NewValue) PURE;
  5009.     STDMETHOD(GetBaseType)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  5010.     STDMETHOD(SetBaseType)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  5011.     STDMETHOD(GetLength)(THIS_ LPLONG pRetVal) PURE;
  5012.     STDMETHOD(SetLength)(THIS_ long NewValue) PURE;
  5013.     STDMETHOD(GetDefault)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  5014.     STDMETHOD(SetDefault)(THIS_ SQLDMO_LPCSTR NewValue, BOOL bFutureOnly CPPDEFAULT(= FALSE)) PURE;
  5015.     STDMETHOD(GetRule)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  5016.     STDMETHOD(SetRule)(THIS_ SQLDMO_LPCSTR NewValue, BOOL bFutureOnly CPPDEFAULT(= FALSE)) PURE;
  5017.     STDMETHOD(GetID)(THIS_ LPLONG pRetVal) PURE;
  5018.     STDMETHOD(GetNumericPrecision)(THIS_ LPLONG pRetVal) PURE;
  5019.     STDMETHOD(SetNumericPrecision)(THIS_ long NewValue) PURE;
  5020.     STDMETHOD(GetNumericScale)(THIS_ LPLONG pRetVal) PURE;
  5021.     STDMETHOD(SetNumericScale)(THIS_ long NewValue) PURE;
  5022.     STDMETHOD(GetAllowIdentity)(THIS_ LPBOOL pRetVal) PURE;
  5023.  
  5024.         //*** methods
  5025.     STDMETHOD(Remove)(THIS) PURE;
  5026.     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;
  5027.  
  5028.         // List methods
  5029.     STDMETHOD(ListBoundColumns)(THIS_ LPSQLDMOCOLUMNLIST * ppList) PURE;
  5030.  
  5031.     // 7.0
  5032.     STDMETHOD(GetIsVariableLength)(THIS_ LPBOOL pRetVal) PURE;
  5033.     STDMETHOD(GenerateSQL)(THIS_ LPSQLDMODATABASE pDB, SQLDMO_LPBSTR pRetVal) PURE;
  5034.     STDMETHOD(GetMaxSize)(THIS_ LPLONG pRetVal) PURE;
  5035.     STDMETHOD(GetDefaultOwner)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  5036.     STDMETHOD(GetRuleOwner)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  5037.     STDMETHOD(BindDefault)(THIS_ SQLDMO_LPCSTR DefaultOwner, SQLDMO_LPCSTR DefaultName, BOOL Bind, BOOL bFutureOnly CPPDEFAULT(= FALSE)) PURE;
  5038.     STDMETHOD(BindRule)(THIS_ SQLDMO_LPCSTR RuleOwner, SQLDMO_LPCSTR RuleName, BOOL Bind, BOOL bFutureOnly CPPDEFAULT(= FALSE)) PURE;
  5039. };
  5040.  
  5041. ////////////////////////////////////////////////////////////////////////////////////
  5042. ////////////////////////////////////////////////////////////////////////////////////
  5043.  
  5044. #undef INTERFACE
  5045. #define INTERFACE ISQLDMOUsers
  5046. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  5047. {
  5048.    //*** IUnknown methods
  5049.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  5050.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  5051.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  5052.  
  5053.         //*** SQLDMO standard object properties.
  5054.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  5055.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  5056.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  5057.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  5058.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  5059.  
  5060.     //*** SQLDMO standard enumeration properties
  5061.         STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLDMOUSER *ppObj) PURE;
  5062.         STDMETHOD(GetItemByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOUSER *ppObj) PURE;
  5063.     STDMETHOD(GetItemByID)(THIS_ long lID, LPSQLDMOUSER *ppObj) PURE;
  5064.         STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  5065.  
  5066.     //*** SQLDMO standard collection methods
  5067.         STDMETHOD(Add)(THIS_ LPSQLDMOUSER Object) PURE;
  5068.         STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  5069.         STDMETHOD(RemoveByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  5070.         STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  5071. };
  5072.  
  5073. #undef INTERFACE
  5074. #define INTERFACE ISQLDMOUser
  5075. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  5076. {
  5077.    //*** IUnknown methods
  5078.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  5079.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  5080.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  5081.  
  5082.         //*** SQLDMO standard object properties.
  5083.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  5084.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  5085.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  5086.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  5087.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  5088.  
  5089.         //*** properties
  5090.     STDMETHOD(GetName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  5091.     STDMETHOD(SetName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  5092.     STDMETHOD(GetLogin)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  5093.     STDMETHOD(SetLogin)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  5094.     STDMETHOD(GetGroup)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  5095.     STDMETHOD(SetGroup)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  5096.     STDMETHOD(GetID)(THIS_ LPLONG pRetVal) PURE;
  5097.     STDMETHOD(GetSystemObject)(THIS_ LPBOOL pRetVal) PURE;
  5098.  
  5099.         //*** methods
  5100.     STDMETHOD(AddAlias)(THIS_ SQLDMO_LPCSTR LoginNames) PURE;
  5101.     STDMETHOD(RemoveAlias)(THIS_ SQLDMO_LPCSTR LoginNames) PURE;
  5102.     STDMETHOD(Remove)(THIS) PURE;
  5103.     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;
  5104.  
  5105.         // List methods
  5106.     STDMETHOD(ListAliases)(THIS_ LPSQLDMOLOGINLIST * ppList) PURE;
  5107.     STDMETHOD(ListOwnedObjects)(THIS_ LPSQLDMODBOBJECTLIST * ppList, SQLDMO_OBJECT_TYPE lObjectTypes CPPDEFAULT(= SQLDMOObj_AllDatabaseObjects), SQLDMO_OBJSORT_TYPE SortBy CPPDEFAULT(= SQLDMOObjSort_Name)) PURE;
  5108.     STDMETHOD(ListDatabasePermissions)(THIS_ LPSQLDMOPERMISSIONLIST * ppList, SQLDMO_PRIVILEGE_TYPE lPrivilegeTypes CPPDEFAULT(= SQLDMOPriv_AllDatabasePrivs)) PURE;
  5109.     STDMETHOD(ListObjectPermissions)(THIS_ LPSQLDMOPERMISSIONLIST * ppList, SQLDMO_PRIVILEGE_TYPE lPrivilegeTypes CPPDEFAULT(= SQLDMOPriv_AllObjectPrivs)) PURE;
  5110.  
  5111.     // 7.0
  5112.     STDMETHOD(ListMembers)(THIS_ LPSQLDMONAMELIST *ppList) PURE;
  5113.     STDMETHOD(GetRole)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  5114.     STDMETHOD(SetRole)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  5115.     STDMETHOD(IsMember)(THIS_ SQLDMO_LPCSTR DatabaseRole, LPBOOL pRetVal) PURE;
  5116.     STDMETHOD(GetHasDBAccess)(THIS_ LPBOOL pRetVal) PURE;
  5117.     STDMETHOD(GrantNTUserDBAccess)(THIS) PURE;
  5118. };
  5119.  
  5120. ////////////////////////////////////////////////////////////////////////////////////
  5121. ////////////////////////////////////////////////////////////////////////////////////
  5122.  
  5123. #undef INTERFACE
  5124. #define INTERFACE ISQLDMOGroups
  5125. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  5126. {
  5127.    //*** IUnknown methods
  5128.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  5129.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  5130.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  5131.  
  5132.         //*** SQLDMO standard object properties.
  5133.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  5134.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  5135.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  5136.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  5137.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  5138.  
  5139.     //*** SQLDMO standard enumeration properties
  5140.         STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLDMOGROUP *ppObj) PURE;
  5141.         STDMETHOD(GetItemByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOGROUP *ppObj) PURE;
  5142.     STDMETHOD(GetItemByID)(THIS_ long lID, LPSQLDMOGROUP *ppObj) PURE;
  5143.         STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  5144.  
  5145.     //*** SQLDMO standard collection methods
  5146.         STDMETHOD(Add)(THIS_ LPSQLDMOGROUP Object) PURE;
  5147.         STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  5148.         STDMETHOD(RemoveByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  5149.         STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  5150. };
  5151.  
  5152. #undef INTERFACE
  5153. #define INTERFACE ISQLDMOGroup
  5154. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  5155. {
  5156.    //*** IUnknown methods
  5157.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  5158.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  5159.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  5160.  
  5161.         //*** SQLDMO standard object properties.
  5162.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  5163.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  5164.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  5165.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  5166.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  5167.  
  5168.         //*** properties
  5169.     STDMETHOD(GetName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  5170.     STDMETHOD(SetName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  5171.     STDMETHOD(GetID)(THIS_ LPLONG pRetVal) PURE;
  5172.     STDMETHOD(GetSystemObject)(THIS_ LPBOOL pRetVal) PURE;
  5173.  
  5174.         //*** methods
  5175.     STDMETHOD(Remove)(THIS) PURE;
  5176.  
  5177.         // List methods
  5178.     STDMETHOD(ListUsers)(THIS_ LPSQLDMOUSERLIST * ppList) PURE;
  5179.     STDMETHOD(ListDatabasePermissions)(THIS_ LPSQLDMOPERMISSIONLIST * ppList, SQLDMO_PRIVILEGE_TYPE lPrivilegeTypes CPPDEFAULT(= SQLDMOPriv_AllDatabasePrivs)) PURE;
  5180.     STDMETHOD(ListObjectPermissions)(THIS_ LPSQLDMOPERMISSIONLIST * ppList, SQLDMO_PRIVILEGE_TYPE lPrivilegeTypes CPPDEFAULT(= SQLDMOPriv_AllObjectPrivs)) PURE;
  5181.     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;
  5182. };
  5183.  
  5184. ////////////////////////////////////////////////////////////////////////////////////
  5185. ////////////////////////////////////////////////////////////////////////////////////
  5186.  
  5187. #undef INTERFACE
  5188. #define INTERFACE ISQLDMOTriggers
  5189. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  5190. {
  5191.    //*** IUnknown methods
  5192.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  5193.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  5194.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  5195.  
  5196.         //*** SQLDMO standard object properties.
  5197.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  5198.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  5199.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  5200.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  5201.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  5202.  
  5203.     //*** SQLDMO standard enumeration properties
  5204.         STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLDMOTRIGGER *ppObj) PURE;
  5205.         STDMETHOD(GetItemByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOTRIGGER *ppObj, SQLDMO_LPCSTR szOwner CPPDEFAULT(= NULL)) PURE;
  5206.     STDMETHOD(GetItemByID)(THIS_ long lID, LPSQLDMOTRIGGER *ppObj) PURE;
  5207.         STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  5208.  
  5209.     //*** SQLDMO standard collection methods
  5210.         STDMETHOD(Add)(THIS_ LPSQLDMOTRIGGER Object) PURE;
  5211.         STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  5212.         STDMETHOD(RemoveByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  5213.         STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  5214. };
  5215.  
  5216. #undef INTERFACE
  5217. #define INTERFACE ISQLDMOTrigger
  5218. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  5219. {
  5220.    //*** IUnknown methods
  5221.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  5222.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  5223.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  5224.  
  5225.         //*** SQLDMO standard object properties.
  5226.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  5227.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  5228.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  5229.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  5230.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  5231.  
  5232.         //*** properties
  5233.     STDMETHOD(GetName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  5234.     STDMETHOD(SetName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  5235.     STDMETHOD(GetOwner)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  5236.     STDMETHOD(GetCreateDate)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  5237.     STDMETHOD(GetID)(THIS_ LPLONG pRetVal) PURE;
  5238.     STDMETHOD(GetText)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  5239.     STDMETHOD(SetText)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  5240.     STDMETHOD(GetType)(THIS_ SQLDMO_TRIGGER_TYPE *pRetVal) PURE;
  5241.     STDMETHOD(GetSystemObject)(THIS_ LPBOOL pRetVal) PURE;
  5242.  
  5243.         //*** methods
  5244.     STDMETHOD(Remove)(THIS) PURE;
  5245.     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;
  5246.     STDMETHOD(EnumDependencies)(THIS_ LPSQLDMOQUERYRESULTS *ppResults, SQLDMO_DEPENDENCY_TYPE DependencyType CPPDEFAULT(= SQLDMODep_Parents)) PURE;
  5247.  
  5248.     // 7.0
  5249.     STDMETHOD(SetOwner)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  5250.     STDMETHOD(Alter)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  5251.     STDMETHOD(GetEnabled)(THIS_ LPBOOL pRetVal) PURE;
  5252.     STDMETHOD(SetEnabled)(THIS_ BOOL NewValue) PURE;
  5253.     STDMETHOD(GetQuotedIdentifierStatus)(THIS_ LPBOOL pRetVal) PURE;
  5254.     STDMETHOD(GetAnsiNullsStatus)(THIS_ LPBOOL pRetVal) PURE;
  5255. };
  5256.  
  5257. ////////////////////////////////////////////////////////////////////////////////////
  5258. ////////////////////////////////////////////////////////////////////////////////////
  5259.  
  5260. #undef INTERFACE
  5261. #define INTERFACE ISQLDMORemoteServers
  5262. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  5263. {
  5264.    //*** IUnknown methods
  5265.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  5266.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  5267.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  5268.  
  5269.         //*** SQLDMO standard object properties.
  5270.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  5271.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  5272.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  5273.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  5274.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  5275.  
  5276.     //*** SQLDMO standard enumeration properties
  5277.         STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLDMOREMOTESERVER *ppObj) PURE;
  5278.         STDMETHOD(GetItemByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOREMOTESERVER *ppObj) PURE;
  5279.     STDMETHOD(GetItemByID)(THIS_ long lID, LPSQLDMOREMOTESERVER *ppObj) PURE;
  5280.         STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  5281.  
  5282.     //*** SQLDMO standard collection methods
  5283.         STDMETHOD(Add)(THIS_ LPSQLDMOREMOTESERVER Object) PURE;
  5284.         STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  5285.         STDMETHOD(RemoveByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  5286.         STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  5287. };
  5288.  
  5289. #undef INTERFACE
  5290. #define INTERFACE ISQLDMORemoteServer
  5291. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  5292. {
  5293.    //*** IUnknown methods
  5294.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  5295.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  5296.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  5297.  
  5298.         //*** SQLDMO standard object properties.
  5299.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  5300.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  5301.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  5302.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  5303.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  5304.  
  5305.         //*** properties
  5306.     STDMETHOD(GetName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  5307.     STDMETHOD(SetName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  5308.     STDMETHOD(GetID)(THIS_ LPLONG pRetVal) PURE;
  5309.     STDMETHOD(GetNetName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  5310.     STDMETHOD(SetNetName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  5311.     STDMETHOD(GetOptions)(THIS_ SQLDMO_SRVOPTION_TYPE *pRetVal) PURE;
  5312.     STDMETHOD(GetTopologyX)(THIS_ LPLONG pRetVal) PURE;
  5313.     STDMETHOD(GetTopologyY)(THIS_ LPLONG pRetVal) PURE;
  5314.  
  5315.        //*** collection properties
  5316.     STDMETHOD(GetRemoteLogins)(THIS_ LPSQLDMOREMOTELOGINS * ppRemoteLogins) PURE;
  5317.     STDMETHOD(GetRemoteLoginByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOREMOTELOGIN *ppRemoteLogin) PURE;
  5318.     STDMETHOD(GetRemoteLoginByOrd)(THIS_ long lOrdinal, LPSQLDMOREMOTELOGIN *ppRemoteLogin) PURE;
  5319.     STDMETHOD(RemoveRemoteLoginByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  5320.     STDMETHOD(RemoveRemoteLoginByOrd)(THIS_ long lOrdinal) PURE;
  5321.     STDMETHOD(AddRemoteLogin)(THIS_ LPSQLDMOREMOTELOGIN pRemoteLogin) PURE;
  5322.     STDMETHOD(GetRemoteLoginCount)(THIS_ LPLONG plCount) PURE;
  5323.  
  5324.         //*** methods
  5325.     STDMETHOD(Remove)(THIS) PURE;
  5326.     STDMETHOD(ExecuteImmediate)(THIS_ SQLDMO_LPCSTR Command, long lLength CPPDEFAULT(= 0)) PURE;
  5327.     STDMETHOD(ExecuteWithResults)(THIS_ SQLDMO_LPCSTR Command, LPSQLDMOQUERYRESULTS *ppResults, long lLength CPPDEFAULT(= 0)) PURE;
  5328.     STDMETHOD(SetOptions)(THIS_ SQLDMO_SRVOPTION_TYPE Options, BOOL NewValue) PURE;
  5329. //    STDMETHOD(EnumTasks)(THIS_ LPSQLDMOQUERYRESULTS *ppResults, SQLDMO_LPCSTR TaskName CPPDEFAULT(= NULL), long TaskID CPPDEFAULT(= 0)) PURE;
  5330.     STDMETHOD(SetTopologyXY)(THIS_ long X, long Y) PURE;
  5331.  
  5332.         // Post-6.0 additions
  5333.     STDMETHOD(ExecuteWithResultsAndMessages)(THIS_ SQLDMO_LPCSTR Command, LPSQLDMOQUERYRESULTS *ppResults, SQLDMO_LPBSTR ppszMessages CPPDEFAULT(= 0), long lLength CPPDEFAULT(= 0)) PURE;
  5334. };
  5335.  
  5336. ////////////////////////////////////////////////////////////////////////////////////
  5337. ////////////////////////////////////////////////////////////////////////////////////
  5338.  
  5339. #undef INTERFACE
  5340. #define INTERFACE ISQLDMORemoteLogins
  5341. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  5342. {
  5343.    //*** IUnknown methods
  5344.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  5345.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  5346.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  5347.  
  5348.         //*** SQLDMO standard object properties.
  5349.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  5350.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  5351.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  5352.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  5353.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  5354.  
  5355.     //*** SQLDMO standard enumeration properties
  5356.         STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLDMOREMOTELOGIN *ppObj) PURE;
  5357.         STDMETHOD(GetItemByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOREMOTELOGIN *ppObj) PURE;
  5358.         STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  5359.  
  5360.     //*** SQLDMO standard collection methods
  5361.         STDMETHOD(Add)(THIS_ LPSQLDMOREMOTELOGIN Object) PURE;
  5362.         STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  5363.         STDMETHOD(RemoveByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  5364.         STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  5365. };
  5366.  
  5367. #undef INTERFACE
  5368. #define INTERFACE ISQLDMORemoteLogin
  5369. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  5370. {
  5371.    //*** IUnknown methods
  5372.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  5373.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  5374.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  5375.  
  5376.         //*** SQLDMO standard object properties.
  5377.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  5378.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  5379.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  5380.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  5381.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  5382.  
  5383.         //*** properties
  5384.     STDMETHOD(GetLocalName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  5385.     STDMETHOD(SetLocalName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  5386.     STDMETHOD(GetRemoteName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  5387.     STDMETHOD(SetRemoteName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  5388.     STDMETHOD(GetTrusted)(THIS_ LPBOOL pRetVal) PURE;
  5389.     STDMETHOD(SetTrusted)(THIS_ BOOL NewValue) PURE;
  5390.  
  5391.         //*** methods
  5392.     STDMETHOD(Remove)(THIS) PURE;
  5393. };
  5394.  
  5395. ////////////////////////////////////////////////////////////////////////////////////
  5396. ////////////////////////////////////////////////////////////////////////////////////
  5397.  
  5398. #undef INTERFACE
  5399. #define INTERFACE ISQLDMOSystemDatatypes
  5400. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  5401. {
  5402.    //*** IUnknown methods
  5403.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  5404.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  5405.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  5406.  
  5407.         //*** SQLDMO standard object properties.
  5408.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  5409.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  5410.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  5411.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  5412.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  5413.  
  5414.     //*** SQLDMO standard enumeration properties
  5415.         STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLDMOSYSTEMDATATYPE *ppObj) PURE;
  5416.         STDMETHOD(GetItemByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOSYSTEMDATATYPE *ppObj) PURE;
  5417.         STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  5418. };
  5419.  
  5420. #undef INTERFACE
  5421. #define INTERFACE ISQLDMOSystemDatatype
  5422. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  5423. {
  5424.    //*** IUnknown methods
  5425.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  5426.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  5427.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  5428.  
  5429.         //*** SQLDMO standard object properties.
  5430.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  5431.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  5432.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  5433.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  5434.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  5435.  
  5436.         //*** properties
  5437.     STDMETHOD(GetName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  5438.     STDMETHOD(GetMaximumLength)(THIS_ LPLONG pRetVal) PURE;
  5439.     STDMETHOD(GetAllowNulls)(THIS_ LPBOOL pRetVal) PURE;
  5440.     STDMETHOD(GetIsNumeric)(THIS_ LPBOOL pRetVal) PURE;
  5441.     STDMETHOD(GetAllowIdentity)(THIS_ LPBOOL pRetVal) PURE;
  5442.  
  5443.     // 7.0
  5444.     STDMETHOD(GetIsVariableLength)(THIS_ LPBOOL pRetVal) PURE;
  5445.     STDMETHOD(GetAllowLength)(THIS_ LPBOOL pRetVal) PURE;
  5446.     STDMETHOD(GetMaximumChar)(THIS_ LPLONG pRetVal) PURE;
  5447. };
  5448.  
  5449. ////////////////////////////////////////////////////////////////////////////////////
  5450. ////////////////////////////////////////////////////////////////////////////////////
  5451.  
  5452. #undef INTERFACE
  5453. #define INTERFACE ISQLDMOChecks
  5454. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  5455. {
  5456.    //*** IUnknown methods
  5457.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  5458.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  5459.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  5460.  
  5461.         //*** SQLDMO standard object properties.
  5462.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  5463.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  5464.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  5465.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  5466.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  5467.  
  5468.     //*** SQLDMO standard enumeration properties
  5469.         STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLDMOCHECK *ppObj) PURE;
  5470.         STDMETHOD(GetItemByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOCHECK *ppObj) PURE;
  5471.         STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  5472.  
  5473.     //*** SQLDMO standard collection methods
  5474.         STDMETHOD(Add)(THIS_ LPSQLDMOCHECK Object) PURE;
  5475.         STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  5476.         STDMETHOD(RemoveByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  5477.         STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  5478. };
  5479.  
  5480. #undef INTERFACE
  5481. #define INTERFACE ISQLDMOCheck
  5482. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  5483. {
  5484.    //*** IUnknown methods
  5485.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  5486.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  5487.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  5488.  
  5489.         //*** SQLDMO standard object properties.
  5490.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  5491.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  5492.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  5493.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  5494.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  5495.  
  5496.         //*** properties
  5497.     STDMETHOD(GetName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  5498.     STDMETHOD(SetName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  5499.     STDMETHOD(GetText)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  5500.     STDMETHOD(SetText)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  5501.     STDMETHOD(GetExcludeReplication)(THIS_ LPBOOL pRetVal) PURE;
  5502.     STDMETHOD(SetExcludeReplication)(THIS_ BOOL NewValue) PURE;
  5503.  
  5504.         //*** methods
  5505.     STDMETHOD(Remove)(THIS) PURE;
  5506.     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;
  5507.  
  5508.     // 7.0
  5509.     STDMETHOD(GetChecked)(THIS_ LPBOOL pRetVal) PURE;
  5510.     STDMETHOD(SetChecked)(THIS_ BOOL NewValue) PURE;
  5511. };
  5512.  
  5513. ////////////////////////////////////////////////////////////////////////////////////
  5514. ////////////////////////////////////////////////////////////////////////////////////
  5515.  
  5516. #undef INTERFACE
  5517. #define INTERFACE ISQLDMOServerGroups
  5518. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  5519. {
  5520.    //*** IUnknown methods
  5521.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  5522.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  5523.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  5524.  
  5525.         //*** SQLDMO standard object properties.
  5526.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  5527.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  5528.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  5529.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  5530.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  5531.  
  5532.     //*** SQLDMO standard enumeration properties
  5533.         STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLDMOSERVERGROUP *ppObj) PURE;
  5534.     STDMETHOD(GetItemByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOSERVERGROUP *ppObj) PURE;
  5535.     STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  5536.  
  5537.     //*** SQLDMO standard collection methods
  5538.     STDMETHOD(Add)(THIS_ LPSQLDMOSERVERGROUP Object) PURE;
  5539.     STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  5540.     STDMETHOD(RemoveByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  5541.     STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  5542. };
  5543.  
  5544. #undef INTERFACE
  5545. #define INTERFACE ISQLDMOServerGroup
  5546. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  5547. {
  5548.    //*** IUnknown methods
  5549.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  5550.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  5551.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  5552.  
  5553.         //*** SQLDMO standard object properties.
  5554.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  5555.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  5556.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  5557.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  5558.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  5559.  
  5560.         //*** properties
  5561.     STDMETHOD(GetName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  5562.     STDMETHOD(SetName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  5563.  
  5564.         //*** Collection Properties
  5565.     STDMETHOD(GetRegisteredServers)(THIS_ LPSQLDMOREGISTEREDSERVERS *ppRegisteredServers) PURE;
  5566.     STDMETHOD(GetRegisteredServerByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOREGISTEREDSERVER *ppRegisteredServer) PURE;
  5567.     STDMETHOD(GetRegisteredServerByOrd)(THIS_ long lOrdinal, LPSQLDMOREGISTEREDSERVER *ppRegisteredServer) PURE;
  5568.     STDMETHOD(RemoveRegisteredServerByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  5569.     STDMETHOD(RemoveRegisteredServerByOrd)(THIS_ long lOrdinal) PURE;
  5570.     STDMETHOD(AddRegisteredServer)(THIS_ LPSQLDMOREGISTEREDSERVER pRegisteredServer) PURE;
  5571.     STDMETHOD(GetRegisteredServerCount)(THIS_ LPLONG plCount) PURE;
  5572.  
  5573.     STDMETHOD(GetServerGroups)(THIS_ LPSQLDMOSERVERGROUPS *ppServerGroups) PURE;
  5574.     STDMETHOD(GetServerGroupByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOSERVERGROUP *ppServerGroup) PURE;
  5575.     STDMETHOD(GetServerGroupByOrd)(THIS_ long lOrdinal, LPSQLDMOSERVERGROUP *ppServerGroup) PURE;
  5576.     STDMETHOD(RemoveServerGroupByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  5577.     STDMETHOD(RemoveServerGroupByOrd)(THIS_ long lOrdinal) PURE;
  5578.     STDMETHOD(AddServerGroup)(THIS_ LPSQLDMOSERVERGROUP pServerGroup) PURE;
  5579.     STDMETHOD(GetServerGroupCount)(THIS_ LPLONG plCount) PURE;
  5580.  
  5581.         //*** methods
  5582.     STDMETHOD(Remove)(THIS) PURE;
  5583. };
  5584.  
  5585. ////////////////////////////////////////////////////////////////////////////////////
  5586. ////////////////////////////////////////////////////////////////////////////////////
  5587.  
  5588. #undef INTERFACE
  5589. #define INTERFACE ISQLDMORegisteredServers
  5590. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  5591. {
  5592.    //*** IUnknown methods
  5593.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  5594.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  5595.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  5596.  
  5597.         //*** SQLDMO standard object properties.
  5598.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  5599.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  5600.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  5601.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  5602.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  5603.  
  5604.     //*** SQLDMO standard enumeration properties
  5605.     STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLDMOREGISTEREDSERVER *ppObj) PURE;
  5606.     STDMETHOD(GetItemByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOREGISTEREDSERVER *ppObj) PURE;
  5607.     STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  5608.  
  5609. //*** SQLDMO standard collection methods
  5610.     STDMETHOD(Add)(THIS_ LPSQLDMOREGISTEREDSERVER Object) PURE;
  5611.     STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  5612.     STDMETHOD(RemoveByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  5613.     STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  5614. };
  5615.  
  5616. #undef INTERFACE
  5617. #define INTERFACE ISQLDMORegisteredServer
  5618. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  5619. {
  5620.    //*** IUnknown methods
  5621.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  5622.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  5623.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  5624.  
  5625.         //*** SQLDMO standard object properties.
  5626.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  5627.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  5628.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  5629.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  5630.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  5631.  
  5632.         //*** properties
  5633.     STDMETHOD(GetName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  5634.     STDMETHOD(SetName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  5635.     STDMETHOD(GetLogin)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  5636.     STDMETHOD(SetLogin)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  5637.     STDMETHOD(GetPassword)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  5638.     STDMETHOD(SetPassword)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  5639.     STDMETHOD(GetUseTrustedConnection)(THIS_ LPLONG pRetVal) PURE;
  5640.     STDMETHOD(SetUseTrustedConnection)(THIS_ LONG NewValue) PURE;
  5641.     STDMETHOD(GetVersionMajor)(THIS_ LPLONG pRetVal) PURE;
  5642.     STDMETHOD(GetVersionMinor)(THIS_ LPLONG pRetVal) PURE;
  5643.     STDMETHOD(GetSaLogin)(THIS_ LPBOOL pRetVal) PURE;
  5644.     STDMETHOD(GetPersistFlags)(THIS_ LPLONG pRetVal) PURE;
  5645.     STDMETHOD(SetPersistFlags)(THIS_ LONG NewValue) PURE;
  5646.  
  5647.         //*** methods
  5648.     STDMETHOD(Remove)(THIS) PURE;
  5649. };
  5650.  
  5651. ////////////////////////////////////////////////////////////////////////////////////
  5652. ////////////////////////////////////////////////////////////////////////////////////
  5653.  
  5654. #undef INTERFACE
  5655. #define INTERFACE ISQLDMOQueryResults
  5656. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  5657. {
  5658.    //*** IUnknown methods
  5659.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  5660.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  5661.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  5662.  
  5663.         //*** SQLDMO standard object properties.
  5664.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  5665.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  5666.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  5667.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  5668.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  5669.  
  5670.         //*** properties
  5671.     STDMETHOD(GetResultSets)(THIS_ LPLONG pRetVal) PURE;
  5672.     STDMETHOD(GetCurrentResultSet)(THIS_ LPLONG pRetVal) PURE;
  5673.     STDMETHOD(SetCurrentResultSet)(THIS_ long NewValue) PURE;
  5674.     STDMETHOD(GetRows)(THIS_ LPLONG pRetVal) PURE;
  5675.     STDMETHOD(GetColumns)(THIS_ LPLONG pRetVal) PURE;
  5676.     STDMETHOD(GetColumnName)(THIS_ long lColumn, SQLDMO_LPBSTR pRetVal) PURE;
  5677.     STDMETHOD(GetColumnType)(THIS_ long lColumn, SQLDMO_QUERY_DATATYPE *pRetVal) PURE;
  5678.     STDMETHOD(GetColumnMaxLength)(THIS_ long lColumn, LPLONG pRetVal) PURE;
  5679.  
  5680.         //*** methods
  5681.     STDMETHOD(GetColumnLong)(THIS_ long lRow, long lColumn, LPLONG pRetVal) PURE;
  5682.     STDMETHOD(GetColumnBool)(THIS_ long lRow, long lColumn, LPBOOL pRetVal) PURE;
  5683.     STDMETHOD(GetColumnFloat)(THIS_ long lRow, long lColumn, LPFLOAT pRetVal) PURE;
  5684.     STDMETHOD(GetColumnDouble)(THIS_ long lRow, long lColumn, LPDOUBLE pRetVal) PURE;
  5685.     STDMETHOD(GetColumnString)(THIS_ long lRow, long lColumn, SQLDMO_LPBSTR pRetVal) PURE;
  5686.     STDMETHOD(GetRangeString)(THIS_ SQLDMO_LPBSTR pRetVal, long Top CPPDEFAULT(= 0), long Left CPPDEFAULT(= 0),
  5687.                                                                 long Bottom CPPDEFAULT(= -1), long Right CPPDEFAULT(= -1),
  5688.                                                                 SQLDMO_LPCSTR RowDelim CPPDEFAULT(= NULL), SQLDMO_LPCSTR ColDelim CPPDEFAULT(= NULL),
  5689.                                                                 SQLDMO_LPCSTR ColWidths CPPDEFAULT(= NULL)) PURE;
  5690.     STDMETHOD(Refresh)(THIS) PURE;
  5691.  
  5692.         // Post-6.0 additions
  5693.     STDMETHOD(GetColumnDate)(THIS_ long lRow, long lColumn, LPSYSTEMTIME pSystemTime) PURE;
  5694.     STDMETHOD(GetColumnBinary)(THIS_ long lRow, long lColumn, LPVOID *pvData) PURE;
  5695.  
  5696.     // 7.0
  5697.     STDMETHOD(GetColumnBinaryLength)(THIS_ long lRow, long lColumn, LPLONG pRetLen) PURE;
  5698.     STDMETHOD(GetColumnGUID)(THIS_ long lRow, long lColumn, LPVOID *pvData) PURE;
  5699. };
  5700.  
  5701. ////////////////////////////////////////////////////////////////////////////////////
  5702. ////////////////////////////////////////////////////////////////////////////////////
  5703.  
  5704. #undef INTERFACE
  5705. #define INTERFACE ISQLDMOTransactionLog
  5706. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  5707. {
  5708.    //*** IUnknown methods
  5709.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  5710.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  5711.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  5712.  
  5713.         //*** SQLDMO standard object properties.
  5714.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  5715.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  5716.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  5717.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  5718.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  5719.  
  5720.         //*** properties
  5721.     STDMETHOD(GetCreateDate)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  5722.     STDMETHOD(GetLastBackup)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  5723.     STDMETHOD(GetSize)(THIS_ LPLONG pRetVal) PURE;
  5724.     STDMETHOD(GetSpaceAvailable)(THIS_ LPLONG pRetVal) PURE;
  5725.     STDMETHOD(GetSpaceAvailableInMB)(THIS_ LPFLOAT pRetVal) PURE;
  5726.     STDMETHOD(GetSpaceAllocatedOnFiles)(THIS_ SQLDMO_LPCSTR DatabaseName, LPLONG pRetVal) PURE;
  5727.  
  5728.         //*** methods
  5729.     STDMETHOD(Truncate)(THIS) PURE;
  5730.  
  5731.     // 7.0
  5732.     //*** Collection properties
  5733.     STDMETHOD(GetLogFiles)(THIS_ LPSQLDMOLOGFILES * ppLogFiles) PURE;
  5734.     STDMETHOD(GetLogFileByOrd)(THIS_ long lOrdinal, LPSQLDMOLOGFILE *ppLogFile) PURE;
  5735.     STDMETHOD(AddLogFile)(THIS_ LPSQLDMOLOGFILE pLogFile) PURE;
  5736.     STDMETHOD(GetLogFileCount)(THIS_ LPLONG plCount) PURE;
  5737. };
  5738.  
  5739. ////////////////////////////////////////////////////////////////////////////////////
  5740. ////////////////////////////////////////////////////////////////////////////////////
  5741.  
  5742. #undef INTERFACE
  5743. #define INTERFACE ISQLDMOPermission
  5744. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  5745. {
  5746.    //*** IUnknown methods
  5747.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  5748.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  5749.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  5750.  
  5751.         //*** SQLDMO standard object properties.
  5752.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  5753.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  5754.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  5755.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  5756.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  5757.  
  5758.         //*** properties
  5759.     STDMETHOD(GetPrivilegeTypeName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  5760.     STDMETHOD(GetPrivilegeType)(THIS_ SQLDMO_PRIVILEGE_TYPE *pRetVal) PURE;
  5761.     STDMETHOD(GetObjectName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  5762.     STDMETHOD(GetObjectOwner)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  5763.     STDMETHOD(GetObjectTypeName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  5764.     STDMETHOD(GetObjectType)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  5765.     STDMETHOD(GetObjectID)(THIS_ LPLONG pRetVal) PURE;
  5766.     STDMETHOD(GetGrantee)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  5767.     STDMETHOD(GetGranted)(THIS_ LPBOOL pRetVal) PURE;
  5768.  
  5769.         //*** methods
  5770.         // List methods
  5771.     STDMETHOD(ListPrivilegeColumns)(THIS_ LPSQLDMOCOLUMNLIST * ppList) PURE;
  5772. };
  5773.  
  5774. ////////////////////////////////////////////////////////////////////////////////////
  5775. ////////////////////////////////////////////////////////////////////////////////////
  5776.  
  5777. #undef INTERFACE
  5778. #define INTERFACE ISQLDMODBOption
  5779. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  5780. {
  5781.    //*** IUnknown methods
  5782.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  5783.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  5784.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  5785.  
  5786.         //*** SQLDMO standard object properties.
  5787.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  5788.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  5789.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  5790.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  5791.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  5792.  
  5793.         //*** properties
  5794.     STDMETHOD(GetSelectIntoBulkCopy)(THIS_ LPBOOL pRetVal) PURE;
  5795.     STDMETHOD(SetSelectIntoBulkCopy)(THIS_ BOOL NewValue) PURE;
  5796.     STDMETHOD(GetDBOUseOnly)(THIS_ LPBOOL pRetVal) PURE;
  5797.     STDMETHOD(SetDBOUseOnly)(THIS_ BOOL NewValue) PURE;
  5798.     STDMETHOD(GetReadOnly)(THIS_ LPBOOL pRetVal) PURE;
  5799.     STDMETHOD(SetReadOnly)(THIS_ BOOL NewValue) PURE;
  5800.     STDMETHOD(GetSingleUser)(THIS_ LPBOOL pRetVal) PURE;
  5801.     STDMETHOD(SetSingleUser)(THIS_ BOOL NewValue) PURE;
  5802.     STDMETHOD(GetTruncateLogOnCheckpoint)(THIS_ LPBOOL pRetVal) PURE;
  5803.     STDMETHOD(SetTruncateLogOnCheckpoint)(THIS_ BOOL NewValue) PURE;
  5804.     STDMETHOD(GetColumnsNullByDefault)(THIS_ LPBOOL pRetVal) PURE;
  5805.     STDMETHOD(SetColumnsNullByDefault)(THIS_ BOOL NewValue) PURE;
  5806.     STDMETHOD(GetOffline)(THIS_ LPBOOL pRetVal) PURE;
  5807.     STDMETHOD(SetOffline)(THIS_ BOOL NewValue) PURE;
  5808.  
  5809.         //*** methods
  5810.     STDMETHOD(Refresh)(THIS) PURE;
  5811.  
  5812.     // 7.0
  5813.     STDMETHOD(GetRecursiveTriggers)(THIS_ LPBOOL pRetVal) PURE;
  5814.     STDMETHOD(SetRecursiveTriggers)(THIS_ BOOL NewValue) PURE;
  5815.     STDMETHOD(GetAutoShrink)(THIS_ LPBOOL pRetVal) PURE;
  5816.     STDMETHOD(SetAutoShrink)(THIS_ BOOL NewValue) PURE;
  5817.     STDMETHOD(GetCompareNull)(THIS_ LPBOOL pRetVal) PURE;
  5818.     STDMETHOD(SetCompareNull)(THIS_ BOOL NewValue) PURE;
  5819.     STDMETHOD(GetContactNull)(THIS_ LPBOOL pRetVal) PURE;
  5820.     STDMETHOD(SetContactNull)(THIS_ BOOL NewValue) PURE;
  5821.     STDMETHOD(GetCursorCloseOnCommit)(THIS_ LPBOOL pRetVal) PURE;
  5822.     STDMETHOD(SetCursorCloseOnCommit)(THIS_ BOOL NewValue) PURE;
  5823.     STDMETHOD(GetDefaultCursor)(THIS_ LPBOOL pRetVal) PURE;
  5824.     STDMETHOD(SetDefaultCursor)(THIS_ BOOL NewValue) PURE;
  5825.     STDMETHOD(GetQuoteDelimiter)(THIS_ LPBOOL pRetVal) PURE;
  5826.     STDMETHOD(SetQuoteDelimiter)(THIS_ BOOL NewValue) PURE;
  5827.     STDMETHOD(GetAssignmentDiag)(THIS_ LPBOOL pRetVal) PURE;
  5828.     STDMETHOD(SetAssignmentDiag)(THIS_ BOOL NewValue) PURE;
  5829.     STDMETHOD(GetTornPageDetection)(THIS_ LPBOOL pRetVal) PURE;
  5830.     STDMETHOD(SetTornPageDetection)(THIS_ BOOL NewValue) PURE;
  5831.     STDMETHOD(GetAutoClose)(THIS_ LPBOOL pRetVal) PURE;
  5832.     STDMETHOD(SetAutoClose)(THIS_ BOOL NewValue) PURE;
  5833.     STDMETHOD(GetAutoCreateStat)(THIS_ LPBOOL pRetVal) PURE;
  5834.     STDMETHOD(SetAutoCreateStat)(THIS_ BOOL NewValue) PURE;
  5835.     STDMETHOD(GetAutoUpdateStat)(THIS_ LPBOOL pRetVal) PURE;
  5836.     STDMETHOD(SetAutoUpdateStat)(THIS_ BOOL NewValue) PURE;
  5837. };
  5838.  
  5839. ////////////////////////////////////////////////////////////////////////////////////
  5840. ////////////////////////////////////////////////////////////////////////////////////
  5841.  
  5842. #undef INTERFACE
  5843. #define INTERFACE ISQLDMODBObject
  5844. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  5845. {
  5846.    //*** IUnknown methods
  5847.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  5848.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  5849.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  5850.  
  5851.         //*** SQLDMO standard object properties.
  5852.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  5853.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  5854.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  5855.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  5856.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  5857.  
  5858.         //*** properties
  5859.     STDMETHOD(GetName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  5860.     STDMETHOD(SetName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  5861.     STDMETHOD(GetOwner)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  5862.     STDMETHOD(GetTypeName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  5863.     STDMETHOD(GetType)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  5864.     STDMETHOD(GetCreateDate)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  5865.     STDMETHOD(GetID)(THIS_ LPLONG pRetVal) PURE;
  5866.     STDMETHOD(GetSystemObject)(THIS_ LPBOOL pRetVal) PURE;
  5867.  
  5868.     //*** methods
  5869.     STDMETHOD(Remove)(THIS) PURE;
  5870.     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;
  5871.     STDMETHOD(EnumDependencies)(THIS_ LPSQLDMOQUERYRESULTS *ppResults, SQLDMO_DEPENDENCY_TYPE DependencyType CPPDEFAULT(= SQLDMODep_Parents)) PURE;
  5872.  
  5873.         // List methods
  5874.     STDMETHOD(ListPermissions)(THIS_ LPSQLDMOPERMISSIONLIST * ppList, SQLDMO_PRIVILEGE_TYPE lPrivilegeTypes CPPDEFAULT(= SQLDMOPriv_AllObjectPrivs)) PURE;
  5875.     STDMETHOD(ListUserPermissions)(THIS_ SQLDMO_LPCSTR UserName, LPSQLDMOPERMISSIONLIST * ppList) PURE;
  5876. };
  5877.  
  5878. ////////////////////////////////////////////////////////////////////////////////////
  5879. ////////////////////////////////////////////////////////////////////////////////////
  5880.  
  5881. #undef INTERFACE
  5882. #define INTERFACE ISQLDMODRIDefault
  5883. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  5884. {
  5885.    //*** IUnknown methods
  5886.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  5887.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  5888.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  5889.  
  5890.         //*** SQLDMO standard object properties.
  5891.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  5892.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  5893.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  5894.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  5895.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  5896.  
  5897.         //*** properties
  5898.     STDMETHOD(GetName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  5899.     STDMETHOD(SetName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  5900.     STDMETHOD(GetText)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  5901.     STDMETHOD(SetText)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  5902.  
  5903.         //*** methods
  5904.     STDMETHOD(Remove)(THIS) PURE;
  5905.     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;
  5906. };
  5907.  
  5908. ////////////////////////////////////////////////////////////////////////////////////
  5909. ////////////////////////////////////////////////////////////////////////////////////
  5910.  
  5911. #undef INTERFACE
  5912. #define INTERFACE ISQLDMOTransfer
  5913. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  5914. {
  5915.    //*** IUnknown methods
  5916.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  5917.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  5918.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  5919.  
  5920.         //*** SQLDMO standard object properties.
  5921.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  5922.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  5923.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  5924.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  5925.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  5926.  
  5927.         //*** properties
  5928.     STDMETHOD(GetDestServer)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  5929.     STDMETHOD(SetDestServer)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  5930.     STDMETHOD(GetDestLogin)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  5931.     STDMETHOD(SetDestLogin)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  5932.     STDMETHOD(GetDestPassword)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  5933.     STDMETHOD(SetDestPassword)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  5934.     STDMETHOD(GetDestDatabase)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  5935.     STDMETHOD(SetDestDatabase)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  5936.     STDMETHOD(GetDestUseTrustedConnection)(THIS_ LPBOOL pRetVal) PURE;
  5937.     STDMETHOD(SetDestUseTrustedConnection)(THIS_ BOOL NewValue) PURE;
  5938.     STDMETHOD(GetCopyData)(THIS_ SQLDMO_COPYDATA_TYPE *pRetVal) PURE;
  5939.     STDMETHOD(SetCopyData)(THIS_ SQLDMO_COPYDATA_TYPE NewValue) PURE;
  5940.     STDMETHOD(GetCopySchema)(THIS_ LPBOOL pRetVal) PURE;
  5941.     STDMETHOD(SetCopySchema)(THIS_ BOOL NewValue) PURE;
  5942.     STDMETHOD(GetCopyAllObjects)(THIS_ LPBOOL pRetVal) PURE;
  5943.     STDMETHOD(SetCopyAllObjects)(THIS_ BOOL NewValue) PURE;
  5944.     STDMETHOD(GetCopyAllTables)(THIS_ LPBOOL pRetVal) PURE;
  5945.     STDMETHOD(SetCopyAllTables)(THIS_ BOOL NewValue) PURE;
  5946.     STDMETHOD(GetCopyAllViews)(THIS_ LPBOOL pRetVal) PURE;
  5947.     STDMETHOD(SetCopyAllViews)(THIS_ BOOL NewValue) PURE;
  5948.     STDMETHOD(GetCopyAllStoredProcedures)(THIS_ LPBOOL pRetVal) PURE;
  5949.     STDMETHOD(SetCopyAllStoredProcedures)(THIS_ BOOL NewValue) PURE;
  5950.     STDMETHOD(GetCopyAllUserDefinedDatatypes)(THIS_ LPBOOL pRetVal) PURE;
  5951.     STDMETHOD(SetCopyAllUserDefinedDatatypes)(THIS_ BOOL NewValue) PURE;
  5952.     STDMETHOD(GetCopyAllRules)(THIS_ LPBOOL pRetVal) PURE;
  5953.     STDMETHOD(SetCopyAllRules)(THIS_ BOOL NewValue) PURE;
  5954.     STDMETHOD(GetCopyAllDefaults)(THIS_ LPBOOL pRetVal) PURE;
  5955.     STDMETHOD(SetCopyAllDefaults)(THIS_ BOOL NewValue) PURE;
  5956.     STDMETHOD(GetCopyAllTriggers)(THIS_ LPBOOL pRetVal) PURE;
  5957.     STDMETHOD(SetCopyAllTriggers)(THIS_ BOOL NewValue) PURE;
  5958.     STDMETHOD(GetIncludeDependencies)(THIS_ LPBOOL pRetVal) PURE;
  5959.     STDMETHOD(SetIncludeDependencies)(THIS_ BOOL NewValue) PURE;
  5960.     STDMETHOD(GetIncludeUsers)(THIS_ LPBOOL pRetVal) PURE;
  5961.     STDMETHOD(SetIncludeUsers)(THIS_ BOOL NewValue) PURE;
  5962.     STDMETHOD(GetIncludeGroups)(THIS_ LPBOOL pRetVal) PURE;
  5963.     STDMETHOD(SetIncludeGroups)(THIS_ BOOL NewValue) PURE;
  5964.     STDMETHOD(GetIncludeLogins)(THIS_ LPBOOL pRetVal) PURE;
  5965.     STDMETHOD(SetIncludeLogins)(THIS_ BOOL NewValue) PURE;
  5966.     STDMETHOD(GetDropDestObjectsFirst)(THIS_ LPBOOL pRetVal) PURE;
  5967.     STDMETHOD(SetDropDestObjectsFirst)(THIS_ BOOL NewValue) PURE;
  5968.     STDMETHOD(GetScriptType)(THIS_ SQLDMO_SCRIPT_TYPE * pRetVal) PURE;
  5969.     STDMETHOD(SetScriptType)(THIS_ SQLDMO_SCRIPT_TYPE NewValue) PURE;
  5970.  
  5971.     //*** methods
  5972.     STDMETHOD(AddObjectByName)(THIS_ SQLDMO_LPCSTR ObjectName, SQLDMO_OBJECT_TYPE ObjectType, SQLDMO_LPCSTR szOwner CPPDEFAULT(= NULL)) PURE;
  5973.     STDMETHOD(AddObject)(THIS_ LPSQLDMODBOBJECT DBObject) PURE;
  5974.     STDMETHOD(ListObjectNames)(THIS_ SQLDMO_OBJECT_TYPE ObjectType, LPSQLDMONAMELIST * ppList) PURE;
  5975.     STDMETHOD(Abort)(THIS) PURE;
  5976.  
  5977.     // 7.0
  5978.     STDMETHOD(GetScript2Type)(THIS_ SQLDMO_SCRIPT2_TYPE * pRetVal) PURE;
  5979.     STDMETHOD(SetScript2Type)(THIS_ SQLDMO_SCRIPT2_TYPE NewValue) PURE;
  5980.     STDMETHOD(RetrieveErrors)(THIS_ SQLDMO_LPBSTR pbstrMsg) PURE;
  5981.     STDMETHOD(RetrieveWriteFileErrors)(THIS_ SQLDMO_LPBSTR pbstrMsg) PURE;
  5982. };
  5983.  
  5984. #undef INTERFACE
  5985. #define INTERFACE ISQLDMOTransferSink
  5986. DECLARE_INTERFACE_(INTERFACE, IUnknown)
  5987. {
  5988.    //*** IUnknown methods
  5989.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  5990.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  5991.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  5992.  
  5993.         //*** Sink properties and methods.
  5994.     STDMETHOD(StatusMessage)(THIS_ SQLDMO_LPCSTR szMessage) PURE;
  5995.     STDMETHOD(PercentCompleteAtStep)(THIS_ SQLDMO_LPCSTR szMessage, long Percent) PURE;
  5996.     STDMETHOD(ScriptTransferPercentComplete)(THIS_ SQLDMO_LPCSTR szMessage, long Percent) PURE;
  5997.     STDMETHOD(TransferPercentComplete)(THIS_ SQLDMO_LPCSTR szMessage, long Percent) PURE;
  5998. };
  5999.  
  6000. ////////////////////////////////////////////////////////////////////////////////////
  6001. ////////////////////////////////////////////////////////////////////////////////////
  6002.  
  6003. #undef INTERFACE
  6004. #define INTERFACE ISQLDMOBackup
  6005. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  6006. {
  6007.    //*** IUnknown methods
  6008.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  6009.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  6010.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  6011.  
  6012.         //*** SQLDMO standard object properties.
  6013.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  6014.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  6015.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  6016.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  6017.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  6018.  
  6019.         //*** properties
  6020.     STDMETHOD(GetPercentCompleteNotification)(THIS_ LPLONG pRetVal) PURE;
  6021.     STDMETHOD(SetPercentCompleteNotification)(THIS_ long NewValue) PURE;
  6022.     STDMETHOD(GetSkipTapeHeader)(THIS_ LPBOOL pRetVal) PURE;
  6023.     STDMETHOD(SetSkipTapeHeader)(THIS_ BOOL NewValue) PURE;
  6024.     STDMETHOD(GetUnloadTapeAfter)(THIS_ LPBOOL pRetVal) PURE;
  6025.     STDMETHOD(SetUnloadTapeAfter)(THIS_ BOOL NewValue) PURE;
  6026.     STDMETHOD(GetDatabase)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  6027.     STDMETHOD(SetDatabase)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  6028.     STDMETHOD(GetFiles)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  6029.     STDMETHOD(SetFiles)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  6030.     STDMETHOD(GetDatabaseFileGroups)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  6031.     STDMETHOD(SetDatabaseFileGroups)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  6032.     STDMETHOD(GetDatabaseFiles)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  6033.     STDMETHOD(SetDatabaseFiles)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  6034.     STDMETHOD(GetAction)(THIS_ SQLDMO_BACKUP_TYPE * pRetVal) PURE;
  6035.     STDMETHOD(SetAction)(THIS_ SQLDMO_BACKUP_TYPE NewValue) PURE;
  6036.     STDMETHOD(GetBackupSetName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  6037.     STDMETHOD(SetBackupSetName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  6038.     STDMETHOD(GetBackupSetDescription)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  6039.     STDMETHOD(SetBackupSetDescription)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  6040.     STDMETHOD(GetRestart)(THIS_ LPBOOL pRetVal) PURE;
  6041.     STDMETHOD(SetRestart)(THIS_ BOOL NewValue) PURE;
  6042.     STDMETHOD(GetTruncateLog)(THIS_ SQLDMO_BACKUP_LOG_TYPE * pRetVal) PURE;
  6043.     STDMETHOD(SetTruncateLog)(THIS_ SQLDMO_BACKUP_LOG_TYPE NewValue) PURE;
  6044.     STDMETHOD(GetBlockSize)(THIS_ LPLONG pRetVal) PURE;
  6045.     STDMETHOD(SetBlockSize)(THIS_ long NewValue) PURE;
  6046.     STDMETHOD(GetFormatMedia)(THIS_ LPBOOL pRetVal) PURE;
  6047.     STDMETHOD(SetFormatMedia)(THIS_ BOOL NewValue) PURE;
  6048.     STDMETHOD(GetMediaName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  6049.     STDMETHOD(SetMediaName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  6050.     STDMETHOD(GetMediaDescription)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  6051.     STDMETHOD(SetMediaDescription)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  6052.     STDMETHOD(GetDevices)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  6053.     STDMETHOD(SetDevices)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  6054.     STDMETHOD(GetTapes)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  6055.     STDMETHOD(SetTapes)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  6056.     STDMETHOD(GetPipes)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  6057.     STDMETHOD(SetPipes)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  6058.     STDMETHOD(GetExpirationDate)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  6059.     STDMETHOD(SetExpirationDate)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  6060.     STDMETHOD(GetInitialize)(THIS_ LPBOOL pRetVal) PURE;
  6061.     STDMETHOD(SetInitialize)(THIS_ BOOL NewValue) PURE;
  6062.     STDMETHOD(GetRetainDays)(THIS_ LPLONG pRetVal) PURE;
  6063.     STDMETHOD(SetRetainDays)(THIS_ long NewValue) PURE;
  6064.  
  6065.         // methods
  6066.     STDMETHOD(Abort)(THIS) PURE;
  6067.     STDMETHOD(SQLBackup)(THIS_ LPSQLDMOSERVER ServerObject) PURE;
  6068.     STDMETHOD(GenerateSQL)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  6069. };
  6070.  
  6071. #undef INTERFACE
  6072. #define INTERFACE ISQLDMOBackupSink
  6073. DECLARE_INTERFACE_(INTERFACE, IUnknown)
  6074. {
  6075.    //*** IUnknown methods
  6076.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  6077.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  6078.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  6079.  
  6080.         //*** Sink properties and methods.
  6081.     STDMETHOD(PercentComplete)(THIS_ SQLDMO_LPCSTR Message, long Percent) PURE;
  6082.     STDMETHOD(NextMedia)(THIS_ SQLDMO_LPCSTR Message) PURE;
  6083.     STDMETHOD(Complete)(THIS_ SQLDMO_LPCSTR Message) PURE;
  6084. };
  6085.  
  6086. ////////////////////////////////////////////////////////////////////////////////////
  6087. ////////////////////////////////////////////////////////////////////////////////////
  6088.  
  6089. #undef INTERFACE
  6090. #define INTERFACE ISQLDMOBulkCopy
  6091. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  6092. {
  6093.    //*** IUnknown methods
  6094.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  6095.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  6096.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  6097.  
  6098.         //*** SQLDMO standard object properties.
  6099.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  6100.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  6101.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  6102.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  6103.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  6104.  
  6105.         //*** properties
  6106.     STDMETHOD(GetDataFilePath)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  6107.     STDMETHOD(SetDataFilePath)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  6108.     STDMETHOD(GetFormatFilePath)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  6109.     STDMETHOD(SetFormatFilePath)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  6110.     STDMETHOD(GetErrorFilePath)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  6111.     STDMETHOD(SetErrorFilePath)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  6112.     STDMETHOD(GetLogFilePath)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  6113.     STDMETHOD(SetLogFilePath)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  6114.     STDMETHOD(GetColumnDelimiter)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  6115.     STDMETHOD(SetColumnDelimiter)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  6116.     STDMETHOD(GetRowDelimiter)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  6117.     STDMETHOD(SetRowDelimiter)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  6118.     STDMETHOD(GetDataFileType)(THIS_ SQLDMO_DATAFILE_TYPE FAR* pRetVal) PURE;
  6119.     STDMETHOD(SetDataFileType)(THIS_ SQLDMO_DATAFILE_TYPE NewValue) PURE;
  6120.     STDMETHOD(GetFirstRow)(THIS_ LPLONG pRetVal) PURE;
  6121.     STDMETHOD(SetFirstRow)(THIS_ long NewValue) PURE;
  6122.     STDMETHOD(GetLastRow)(THIS_ LPLONG pRetVal) PURE;
  6123.     STDMETHOD(SetLastRow)(THIS_ long NewValue) PURE;
  6124.     STDMETHOD(GetMaximumErrorsBeforeAbort)(THIS_ LPLONG pRetVal) PURE;
  6125.     STDMETHOD(SetMaximumErrorsBeforeAbort)(THIS_ long NewValue) PURE;
  6126.     STDMETHOD(GetIncludeIdentityValues)(THIS_ LPBOOL pRetVal) PURE;
  6127.     STDMETHOD(SetIncludeIdentityValues)(THIS_ BOOL NewValue) PURE;
  6128.     STDMETHOD(GetImportRowsPerBatch)(THIS_ LPLONG pRetVal) PURE;
  6129.     STDMETHOD(SetImportRowsPerBatch)(THIS_ long NewValue) PURE;
  6130.     STDMETHOD(GetUseBulkCopyOption)(THIS_ LPBOOL pRetVal) PURE;
  6131.     STDMETHOD(SetUseBulkCopyOption)(THIS_ BOOL NewValue) PURE;
  6132.     STDMETHOD(GetSuspendIndexing)(THIS_ LPBOOL pRetVal) PURE;
  6133.     STDMETHOD(SetSuspendIndexing)(THIS_ BOOL NewValue) PURE;
  6134.     STDMETHOD(GetTruncateLog)(THIS_ LPBOOL pRetVal) PURE;
  6135.     STDMETHOD(SetTruncateLog)(THIS_ BOOL NewValue) PURE;
  6136.     STDMETHOD(GetUseExistingConnection)(THIS_ LPBOOL pRetVal) PURE;
  6137.     STDMETHOD(SetUseExistingConnection)(THIS_ BOOL NewValue) PURE;
  6138.  
  6139.     // 7.0
  6140.     STDMETHOD(GetUse6xCompatible)(THIS_ LPBOOL pRetVal) PURE;
  6141.     STDMETHOD(SetUse6xCompatible)(THIS_ BOOL NewValue) PURE;
  6142.     STDMETHOD(GetCodePage)(THIS_ LPLONG pRetVal) PURE;
  6143.     STDMETHOD(SetCodePage)(THIS_ SQLDMO_BCP_CODEPAGE_TYPE NewValue, long UserCodePage CPPDEFAULT(= SQLDMOBCP_OEM)) PURE;
  6144.     STDMETHOD(GetUseServerSideBCP)(THIS_ LPBOOL pRetVal) PURE;
  6145.     STDMETHOD(SetUseServerSideBCP)(THIS_ BOOL NewValue) PURE;
  6146.     STDMETHOD(GetServerBCPDataFileType)(THIS_ SQLDMO_SERVERBCP_DATAFILE_TYPE FAR* pRetVal) PURE;
  6147.     STDMETHOD(SetServerBCPDataFileType)(THIS_ SQLDMO_SERVERBCP_DATAFILE_TYPE NewValue) PURE;
  6148.     STDMETHOD(GetServerBCPKeepIdentity)(THIS_ LPBOOL pRetVal) PURE;
  6149.     STDMETHOD(SetServerBCPKeepIdentity)(THIS_ BOOL NewValue) PURE;
  6150.     STDMETHOD(GetServerBCPKeepNulls)(THIS_ LPBOOL pRetVal) PURE;
  6151.     STDMETHOD(SetServerBCPKeepNulls)(THIS_ BOOL NewValue) PURE;
  6152.     STDMETHOD(GetExportWideChar)(THIS_ LPBOOL pRetVal) PURE;
  6153.     STDMETHOD(SetExportWideChar)(THIS_ BOOL NewValue) PURE;
  6154.  
  6155.         // Methods
  6156.     STDMETHOD(Abort)(THIS) PURE;
  6157. };
  6158.  
  6159. #undef INTERFACE
  6160. #define INTERFACE ISQLDMOBulkCopySink
  6161. DECLARE_INTERFACE_(INTERFACE, IUnknown)
  6162. {
  6163.    //*** IUnknown methods
  6164.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  6165.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  6166.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  6167.  
  6168.         //*** Sink properties and methods.
  6169.     STDMETHOD(RowsCopied)(THIS_ SQLDMO_LPCSTR Message, long Rows) PURE;
  6170.     STDMETHOD(BatchImported)(THIS_ SQLDMO_LPCSTR Message) PURE;
  6171. };
  6172.  
  6173. ////////////////////////////////////////////////////////////////////////////////////
  6174. ////////////////////////////////////////////////////////////////////////////////////
  6175.  
  6176. // 7.0 new objects
  6177.  
  6178. #undef INTERFACE
  6179. #define INTERFACE ISQLDMOFileGroups
  6180. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  6181. {
  6182.    //*** IUnknown methods
  6183.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  6184.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  6185.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  6186.  
  6187.         //*** SQLDMO standard object properties.
  6188.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  6189.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  6190.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  6191.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  6192.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  6193.  
  6194.     //*** SQLDMO standard enumeration properties
  6195.     STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLDMOFILEGROUP *ppObj) PURE;
  6196.     STDMETHOD(GetItemByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOFILEGROUP *ppObj) PURE;
  6197.     STDMETHOD(GetItemByID)(THIS_ long lID, LPSQLDMOFILEGROUP *ppObj) PURE;
  6198.     STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  6199.  
  6200. //*** SQLDMO standard collection methods
  6201.     STDMETHOD(Add)(THIS_ LPSQLDMOFILEGROUP Object) PURE;
  6202.     STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  6203.     STDMETHOD(RemoveByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  6204.     STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  6205. };
  6206.  
  6207. #undef INTERFACE
  6208. #define INTERFACE ISQLDMOFileGroup
  6209. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  6210. {
  6211.    //*** IUnknown methods
  6212.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  6213.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  6214.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  6215.  
  6216.         //*** SQLDMO standard object properties.
  6217.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  6218.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  6219.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  6220.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  6221.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  6222.  
  6223.         //*** properties
  6224.     STDMETHOD(GetName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  6225.     STDMETHOD(SetName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  6226.     STDMETHOD(GetSize)(THIS_ LPLONG pRetVal) PURE;
  6227.     STDMETHOD(GetID)(THIS_ LPLONG pRetVal) PURE;
  6228.     STDMETHOD(GetReadOnly)(THIS_ LPBOOL pRetVal) PURE;
  6229.     STDMETHOD(SetReadOnly)(THIS_ BOOL pRetVal) PURE;
  6230.     STDMETHOD(GetDefault)(THIS_ LPBOOL pRetVal) PURE;
  6231.     STDMETHOD(SetDefault)(THIS_ BOOL pRetVal) PURE;
  6232.  
  6233.         // Collection properties
  6234.     STDMETHOD(GetDBFiles)(THIS_ LPSQLDMODBFILES *ppDBFiles) PURE;
  6235.     STDMETHOD(GetDBFileByOrd)(THIS_ long lOrdinal, LPSQLDMODBFILE *ppDBFile) PURE;
  6236.     STDMETHOD(RemoveDBFileByOrd)(THIS_ long lOrdinal) PURE;
  6237.     STDMETHOD(AddDBFile)(THIS_ LPSQLDMODBFILE pDBFile) PURE;
  6238.     STDMETHOD(GetDBFileCount)(THIS_ LPLONG plCount) PURE;
  6239.  
  6240.         //*** methods
  6241.     STDMETHOD(Remove)(THIS) PURE;
  6242.     STDMETHOD(EnumObjects)(THIS_ LPSQLDMOQUERYRESULTS *ppResults) PURE;
  6243.     STDMETHOD(EnumFiles)(THIS_ LPSQLDMOQUERYRESULTS *ppResults) PURE;
  6244.     STDMETHOD(CheckFilegroup)(THIS_ SQLDMO_LPBSTR pResult) PURE;
  6245.     STDMETHOD(CheckFilegroupDataOnly)(THIS_ SQLDMO_LPBSTR pResult) PURE;
  6246. };
  6247.  
  6248. ////////////////////////////////////////////////////////////////////////////////////
  6249. ////////////////////////////////////////////////////////////////////////////////////
  6250.  
  6251. #undef INTERFACE
  6252. #define INTERFACE ISQLDMODBFiles
  6253. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  6254. {
  6255.    //*** IUnknown methods
  6256.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  6257.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  6258.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  6259.  
  6260.         //*** SQLDMO standard object properties.
  6261.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  6262.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  6263.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  6264.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  6265.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  6266.  
  6267.     //*** SQLDMO standard enumeration properties
  6268.     STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLDMODBFILE *ppObj) PURE;
  6269.     STDMETHOD(GetItemByID)(THIS_ long lID, LPSQLDMODBFILE *ppObj) PURE;
  6270.     STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  6271.  
  6272. //*** SQLDMO standard collection methods
  6273.     STDMETHOD(Add)(THIS_ LPSQLDMODBFILE Object) PURE;
  6274.     STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  6275.     STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  6276. };
  6277.  
  6278. #undef INTERFACE
  6279. #define INTERFACE ISQLDMODBFile
  6280. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  6281. {
  6282.    //*** IUnknown methods
  6283.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  6284.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  6285.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  6286.  
  6287.         //*** SQLDMO standard object properties.
  6288.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  6289.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  6290.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  6291.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  6292.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  6293.  
  6294.         //*** properties
  6295.     STDMETHOD(GetName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  6296.     STDMETHOD(SetName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  6297.     STDMETHOD(GetPhysicalName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  6298.     STDMETHOD(SetPhysicalName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  6299.     STDMETHOD(GetPrimaryFile)(THIS_ LPBOOL pRetVal) PURE;
  6300.     STDMETHOD(SetPrimaryFile)(THIS_ BOOL pRetVal) PURE;
  6301.     STDMETHOD(GetFileGrowth)(THIS_ LPLONG pRetVal) PURE;
  6302.     STDMETHOD(SetFileGrowth)(THIS_ long NewValue) PURE;
  6303.     STDMETHOD(GetMaximumSize)(THIS_ LPLONG pRetVal) PURE;
  6304.     STDMETHOD(SetMaximumSize)(THIS_ long NewValue) PURE;
  6305.     STDMETHOD(GetSpaceAvailableInMB)(THIS_ LPLONG pRetVal) PURE;
  6306.     STDMETHOD(GetSize)(THIS_ LPLONG pRetVal) PURE;
  6307.     STDMETHOD(SetSize)(THIS_ long NewValue) PURE;
  6308.     STDMETHOD(GetID)(THIS_ LPLONG pRetVal) PURE;
  6309.     STDMETHOD(GetFileGrowthType)(THIS_ SQLDMO_GROWTH_TYPE * pRetVal) PURE;
  6310.     STDMETHOD(SetFileGrowthType)(THIS_ SQLDMO_GROWTH_TYPE NewValue) PURE;
  6311.     STDMETHOD(GetFileGrowthInKB)(THIS_ LPFLOAT pRetVal) PURE;
  6312.     STDMETHOD(GetSizeInKB)(THIS_ LPFLOAT pRetVal) PURE;
  6313.  
  6314.         //*** methods
  6315.     STDMETHOD(Remove)(THIS) PURE;
  6316.     STDMETHOD(Shrink)(THIS_ long lNewSizeInMB, SQLDMO_SHRINK_TYPE Truncate) PURE;
  6317. };
  6318.  
  6319. ////////////////////////////////////////////////////////////////////////////////////
  6320. ////////////////////////////////////////////////////////////////////////////////////
  6321.  
  6322. #undef INTERFACE
  6323. #define INTERFACE ISQLDMOLogFiles
  6324. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  6325. {
  6326.    //*** IUnknown methods
  6327.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  6328.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  6329.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  6330.  
  6331.         //*** SQLDMO standard object properties.
  6332.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  6333.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  6334.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  6335.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  6336.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  6337.  
  6338.     //*** SQLDMO standard enumeration properties
  6339.     STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLDMOLOGFILE *ppObj) PURE;
  6340.     STDMETHOD(GetItemByID)(THIS_ long lID, LPSQLDMOLOGFILE *ppObj) PURE;
  6341.     STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  6342.  
  6343. //*** SQLDMO standard collection methods
  6344.     STDMETHOD(Add)(THIS_ LPSQLDMOLOGFILE Object) PURE;
  6345.     STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  6346. };
  6347.  
  6348. #undef INTERFACE
  6349. #define INTERFACE ISQLDMOLogFile
  6350. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  6351. {
  6352.    //*** IUnknown methods
  6353.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  6354.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  6355.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  6356.  
  6357.         //*** SQLDMO standard object properties.
  6358.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  6359.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  6360.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  6361.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  6362.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  6363.  
  6364.         //*** properties
  6365.     STDMETHOD(GetName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  6366.     STDMETHOD(SetName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  6367.     STDMETHOD(GetPhysicalName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  6368.     STDMETHOD(SetPhysicalName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  6369.     STDMETHOD(GetSize)(THIS_ LPLONG pRetVal) PURE;
  6370.     STDMETHOD(SetSize)(THIS_ long NewValue) PURE;
  6371.     STDMETHOD(GetID)(THIS_ LPLONG pRetVal) PURE;
  6372.     STDMETHOD(GetFileGrowth)(THIS_ LPLONG pRetVal) PURE;
  6373.     STDMETHOD(SetFileGrowth)(THIS_ long NewValue) PURE;
  6374.     STDMETHOD(GetFileGrowthType)(THIS_ SQLDMO_GROWTH_TYPE * pRetVal) PURE;
  6375.     STDMETHOD(SetFileGrowthType)(THIS_ SQLDMO_GROWTH_TYPE NewValue) PURE;
  6376.     STDMETHOD(GetFileGrowthInKB)(THIS_ LPFLOAT pRetVal) PURE;
  6377.     STDMETHOD(GetMaximumSize)(THIS_ LPLONG pRetVal) PURE;
  6378.     STDMETHOD(SetMaximumSize)(THIS_ long NewValue) PURE;
  6379.     STDMETHOD(GetSizeInKB)(THIS_ LPFLOAT pRetVal) PURE;
  6380.  
  6381.         //*** methods
  6382.     STDMETHOD(Shrink)(THIS_ long lNewSizeInMB, SQLDMO_SHRINK_TYPE Truncate) PURE;
  6383. };
  6384.  
  6385. ////////////////////////////////////////////////////////////////////////////////////
  6386. ////////////////////////////////////////////////////////////////////////////////////
  6387.  
  6388. #undef INTERFACE
  6389. #define INTERFACE ISQLDMOServerRoles
  6390. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  6391. {
  6392.    //*** IUnknown methods
  6393.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  6394.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  6395.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  6396.  
  6397.         //*** SQLDMO standard object properties.
  6398.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  6399.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  6400.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  6401.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  6402.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  6403.  
  6404.     //*** SQLDMO standard enumeration properties
  6405.     STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLDMOSERVERROLE *ppObj) PURE;
  6406.     STDMETHOD(GetItemByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOSERVERROLE *ppObj) PURE;
  6407.     STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  6408.  
  6409. //*** SQLDMO standard collection methods
  6410.     STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  6411. };
  6412.  
  6413. #undef INTERFACE
  6414. #define INTERFACE ISQLDMOServerRole
  6415. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  6416. {
  6417.    //*** IUnknown methods
  6418.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  6419.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  6420.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  6421.  
  6422.         //*** SQLDMO standard object properties.
  6423.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  6424.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  6425.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  6426.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  6427.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  6428.  
  6429.         //*** properties
  6430.     STDMETHOD(GetName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  6431.     STDMETHOD(GetFullName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  6432.     STDMETHOD(GetDescription)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  6433.  
  6434.         //*** methods
  6435.     STDMETHOD(EnumServerRolePermission)(THIS_ LPSQLDMOQUERYRESULTS *ppResults) PURE;
  6436.     STDMETHOD(EnumServerRoleMember)(THIS_ LPSQLDMOQUERYRESULTS *ppResults) PURE;
  6437.     STDMETHOD(AddMember)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  6438.     STDMETHOD(DropMember)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  6439. };
  6440.  
  6441. ////////////////////////////////////////////////////////////////////////////////////
  6442. ////////////////////////////////////////////////////////////////////////////////////
  6443.  
  6444. #undef INTERFACE
  6445. #define INTERFACE ISQLDMODatabaseRoles
  6446. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  6447. {
  6448.    //*** IUnknown methods
  6449.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  6450.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  6451.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  6452.  
  6453.         //*** SQLDMO standard object properties.
  6454.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  6455.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  6456.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  6457.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  6458.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  6459.  
  6460.     //*** SQLDMO standard enumeration properties
  6461.     STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLDMODATABASEROLE *ppObj) PURE;
  6462.     STDMETHOD(GetItemByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMODATABASEROLE *ppObj) PURE;
  6463.     STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  6464.  
  6465. //*** SQLDMO standard collection methods
  6466.     STDMETHOD(Add)(THIS_ LPSQLDMODATABASEROLE Object) PURE;
  6467.     STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  6468.     STDMETHOD(RemoveByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  6469.     STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  6470. };
  6471.  
  6472. #undef INTERFACE
  6473. #define INTERFACE ISQLDMODatabaseRole
  6474. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  6475. {
  6476.    //*** IUnknown methods
  6477.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  6478.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  6479.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  6480.  
  6481.         //*** SQLDMO standard object properties.
  6482.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  6483.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  6484.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  6485.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  6486.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  6487.  
  6488.         //*** properties
  6489.     STDMETHOD(GetName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  6490.     STDMETHOD(SetName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  6491.     STDMETHOD(GetPassword)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  6492.     STDMETHOD(SetPassword)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  6493.     STDMETHOD(GetAppRole)(THIS_ LPBOOL pRetVal) PURE;
  6494.     STDMETHOD(SetAppRole)(THIS_ BOOL NewValue) PURE;
  6495.  
  6496.         //*** methods
  6497.     STDMETHOD(Remove)(THIS) PURE;
  6498.     STDMETHOD(EnumDatabaseRoleMember)(THIS_ LPSQLDMOQUERYRESULTS *ppResults) PURE;
  6499.     STDMETHOD(AddMember)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  6500.     STDMETHOD(DropMember)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  6501.     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;
  6502.     STDMETHOD(EnumFixedDatabaseRolePermission)(THIS_ LPSQLDMOQUERYRESULTS *ppResults) PURE;
  6503.     STDMETHOD(IsFixedRole)(THIS_ LPBOOL pRetVal) PURE;
  6504.  
  6505.     // List methods
  6506.     STDMETHOD(ListDatabasePermissions)(THIS_ LPSQLDMOPERMISSIONLIST * ppList, SQLDMO_PRIVILEGE_TYPE lPrivilegeTypes CPPDEFAULT(= SQLDMOPriv_AllDatabasePrivs)) PURE;
  6507.     STDMETHOD(ListObjectPermissions)(THIS_ LPSQLDMOPERMISSIONLIST * ppList, SQLDMO_PRIVILEGE_TYPE lPrivilegeTypes CPPDEFAULT(= SQLDMOPriv_AllObjectPrivs)) PURE;
  6508. };
  6509.  
  6510. ////////////////////////////////////////////////////////////////////////////////////
  6511. ////////////////////////////////////////////////////////////////////////////////////
  6512.  
  6513. #undef INTERFACE
  6514. #define INTERFACE ISQLDMORestore
  6515. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  6516. {
  6517.    //*** IUnknown methods
  6518.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  6519.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  6520.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  6521.  
  6522.         //*** SQLDMO standard object properties.
  6523.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  6524.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  6525.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  6526.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  6527.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  6528.  
  6529.         //*** properties
  6530.     STDMETHOD(GetPercentCompleteNotification)(THIS_ LPLONG pRetVal) PURE;
  6531.     STDMETHOD(SetPercentCompleteNotification)(THIS_ long NewValue) PURE;
  6532.     STDMETHOD(GetUnloadTapeAfter)(THIS_ LPBOOL pRetVal) PURE;
  6533.     STDMETHOD(SetUnloadTapeAfter)(THIS_ BOOL NewValue) PURE;
  6534.     STDMETHOD(GetDatabase)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  6535.     STDMETHOD(SetDatabase)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  6536.     STDMETHOD(GetDevices)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  6537.     STDMETHOD(SetDevices)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  6538.     STDMETHOD(GetFiles)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  6539.     STDMETHOD(SetFiles)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  6540.     STDMETHOD(GetTapes)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  6541.     STDMETHOD(SetTapes)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  6542.     STDMETHOD(GetPipes)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  6543.     STDMETHOD(SetPipes)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  6544.     STDMETHOD(GetDatabaseFileGroups)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  6545.     STDMETHOD(SetDatabaseFileGroups)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  6546.     STDMETHOD(GetDatabaseFiles)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  6547.     STDMETHOD(SetDatabaseFiles)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  6548.     STDMETHOD(GetAction)(THIS_ SQLDMO_RESTORE_TYPE * pRetVal) PURE;
  6549.     STDMETHOD(SetAction)(THIS_ SQLDMO_RESTORE_TYPE NewValue) PURE;
  6550.     STDMETHOD(GetBackupSetName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  6551.     STDMETHOD(SetBackupSetName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  6552.     STDMETHOD(GetRelocateFiles)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  6553.     STDMETHOD(SetRelocateFiles)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  6554.     STDMETHOD(GetReplaceDatabase)(THIS_ LPBOOL pRetVal) PURE;
  6555.     STDMETHOD(SetReplaceDatabase)(THIS_ BOOL NewValue) PURE;
  6556.     STDMETHOD(GetLastRestore)(THIS_ LPBOOL pRetVal) PURE;
  6557.     STDMETHOD(SetLastRestore)(THIS_ BOOL NewValue) PURE;
  6558.     STDMETHOD(GetRestart)(THIS_ LPBOOL pRetVal) PURE;
  6559.     STDMETHOD(SetRestart)(THIS_ BOOL NewValue) PURE;
  6560.     STDMETHOD(GetMediaName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  6561.     STDMETHOD(SetMediaName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  6562.     STDMETHOD(GetLoadHistory)(THIS_ LPBOOL pRetVal) PURE;
  6563.     STDMETHOD(SetLoadHistory)(THIS_ BOOL NewValue) PURE;
  6564.     STDMETHOD(GetFileNumber)(THIS_ LPLONG pRetVal) PURE;
  6565.     STDMETHOD(SetFileNumber)(THIS_ long NewValue) PURE;
  6566.     STDMETHOD(GetToPointInTime)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  6567.     STDMETHOD(SetToPointInTime)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  6568.     STDMETHOD(GetStandbyFiles)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  6569.     STDMETHOD(SetStandbyFiles)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  6570.  
  6571.     // Methods
  6572.     STDMETHOD(Abort)(THIS) PURE;
  6573.     STDMETHOD(SQLRestore)(THIS_ LPSQLDMOSERVER ServerObject) PURE;
  6574.     STDMETHOD(SQLVerify)(THIS_ LPSQLDMOSERVER ServerObject) PURE;
  6575.     STDMETHOD(GenerateSQL)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  6576.     STDMETHOD(ReadBackupHeader)(THIS_ LPSQLDMOSERVER ServerObject, LPSQLDMOQUERYRESULTS *ppResults) PURE;
  6577.     STDMETHOD(ReadFileList)(THIS_ LPSQLDMOSERVER ServerObject, LPSQLDMOQUERYRESULTS *ppResults) PURE;
  6578.     STDMETHOD(ReadMediaHeader)(THIS_ LPSQLDMOSERVER ServerObject, LPSQLDMOQUERYRESULTS *ppResults) PURE;
  6579. };
  6580.  
  6581. #undef INTERFACE
  6582. #define INTERFACE ISQLDMORestoreSink
  6583. DECLARE_INTERFACE_(INTERFACE, IUnknown)
  6584. {
  6585.    //*** IUnknown methods
  6586.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  6587.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  6588.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  6589.  
  6590.         //*** Sink properties and methods.
  6591.     STDMETHOD(PercentComplete)(THIS_ SQLDMO_LPCSTR Message, long Percent) PURE;
  6592.     STDMETHOD(NextMedia)(THIS_ SQLDMO_LPCSTR Message) PURE;
  6593.     STDMETHOD(Complete)(THIS_ SQLDMO_LPCSTR Message) PURE;
  6594. };
  6595.  
  6596. ////////////////////////////////////////////////////////////////////////////////////
  6597. ////////////////////////////////////////////////////////////////////////////////////
  6598.  
  6599. #undef INTERFACE
  6600. #define INTERFACE ISQLDMOLinkedServers
  6601. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  6602. {
  6603.    //*** IUnknown methods
  6604.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  6605.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  6606.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  6607.  
  6608.     //*** SQLDMO standard object properties.
  6609.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  6610.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  6611.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  6612.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  6613.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  6614.  
  6615.     //*** SQLDMO standard enumeration properties
  6616.     STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLDMOLINKEDSERVER *ppObj) PURE;
  6617.     STDMETHOD(GetItemByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOLINKEDSERVER *ppObj) PURE;
  6618.     STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  6619.  
  6620.     //*** SQLDMO standard collection methods
  6621.     STDMETHOD(Add)(THIS_ LPSQLDMOLINKEDSERVER Object) PURE;
  6622.     STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  6623.     STDMETHOD(RemoveByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  6624.     STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  6625. };
  6626.  
  6627. #undef INTERFACE
  6628. #define INTERFACE ISQLDMOLinkedServer
  6629. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  6630. {
  6631.    //*** IUnknown methods
  6632.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  6633.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  6634.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  6635.  
  6636.     //*** SQLDMO standard object properties.
  6637.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  6638.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  6639.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  6640.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  6641.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  6642.  
  6643.     //*** properties
  6644.     STDMETHOD(GetName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  6645.     STDMETHOD(SetName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  6646.     STDMETHOD(GetProductName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  6647.     STDMETHOD(SetProductName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  6648.     STDMETHOD(GetProviderName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  6649.     STDMETHOD(SetProviderName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  6650.     STDMETHOD(GetDataSource)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  6651.     STDMETHOD(SetDataSource)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  6652.     STDMETHOD(GetLocation)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  6653.     STDMETHOD(SetLocation)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  6654.     STDMETHOD(GetProviderString)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  6655.     STDMETHOD(SetProviderString)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  6656.     STDMETHOD(GetOptions)(THIS_ SQLDMO_SRVOPTION_TYPE *pRetVal) PURE;
  6657.  
  6658.     //*** collection properties
  6659.     STDMETHOD(GetLinkedServerLogins)(THIS_ LPSQLDMOLINKEDSERVERLOGINS * ppLinkedServerLogins) PURE;
  6660.     STDMETHOD(GetLinkedServerLoginByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOLINKEDSERVERLOGIN *ppLinkedServerLogin) PURE;
  6661.     STDMETHOD(GetLinkedServerLoginByOrd)(THIS_ long lOrdinal, LPSQLDMOLINKEDSERVERLOGIN *ppLinkedServerLogin) PURE;
  6662.     STDMETHOD(RemoveLinkedServerLoginByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  6663.     STDMETHOD(RemoveLinkedServerLoginByOrd)(THIS_ long lOrdinal) PURE;
  6664.     STDMETHOD(AddLinkedServerLogin)(THIS_ LPSQLDMOLINKEDSERVERLOGIN pLinkedServerLogin) PURE;
  6665.     STDMETHOD(GetLinkedServerLoginCount)(THIS_ LPLONG plCount) PURE;
  6666.  
  6667.     //*** methods
  6668.     STDMETHOD(Remove)(THIS) PURE;
  6669.     STDMETHOD(ExecuteImmediate)(THIS_ SQLDMO_LPCSTR Command, long lLength CPPDEFAULT(= 0)) PURE;
  6670.     STDMETHOD(ExecuteWithResults)(THIS_ SQLDMO_LPCSTR Command, LPSQLDMOQUERYRESULTS *ppResults, long lLength CPPDEFAULT(= 0)) PURE;
  6671.     STDMETHOD(ExecuteWithResultsAndMessages)(THIS_ SQLDMO_LPCSTR Command, LPSQLDMOQUERYRESULTS *ppResults, SQLDMO_LPBSTR ppszMessages CPPDEFAULT(= 0), long lLength CPPDEFAULT(= 0)) PURE;
  6672.     STDMETHOD(SetOptions)(THIS_ SQLDMO_SRVOPTION_TYPE Options, BOOL NewValue) PURE;
  6673.  
  6674.     STDMETHOD(GetCatalog)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  6675.     STDMETHOD(SetCatalog)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  6676.  
  6677.     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;
  6678.     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;
  6679.  
  6680.     STDMETHOD(GetDropLogins)(THIS_ LPBOOL pRetVal) PURE;
  6681.     STDMETHOD(SetDropLogins)(THIS_ BOOL NewValue) PURE;
  6682. };
  6683.  
  6684. ////////////////////////////////////////////////////////////////////////////////////
  6685. ////////////////////////////////////////////////////////////////////////////////////
  6686.  
  6687. #undef INTERFACE
  6688. #define INTERFACE ISQLDMOLinkedServerLogins
  6689. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  6690. {
  6691.    //*** IUnknown methods
  6692.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  6693.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  6694.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  6695.  
  6696.     //*** SQLDMO standard object properties.
  6697.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  6698.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  6699.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  6700.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  6701.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  6702.  
  6703.     //*** SQLDMO standard enumeration properties
  6704.     STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLDMOLINKEDSERVERLOGIN *ppObj) PURE;
  6705.     STDMETHOD(GetItemByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOLINKEDSERVERLOGIN *ppObj) PURE;
  6706.     STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  6707.  
  6708.     //*** SQLDMO standard collection methods
  6709.     STDMETHOD(Add)(THIS_ LPSQLDMOLINKEDSERVERLOGIN Object) PURE;
  6710.     STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  6711.     STDMETHOD(RemoveByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  6712.     STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  6713. };
  6714.  
  6715. #undef INTERFACE
  6716. #define INTERFACE ISQLDMOLinkedServerLogin
  6717. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  6718. {
  6719.    //*** IUnknown methods
  6720.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  6721.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  6722.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  6723.  
  6724.     //*** SQLDMO standard object properties.
  6725.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  6726.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  6727.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  6728.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  6729.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  6730.  
  6731.     //*** properties
  6732.     STDMETHOD(GetLocalLogin)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  6733.     STDMETHOD(SetLocalLogin)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  6734.     STDMETHOD(GetRemoteUser)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  6735.     STDMETHOD(SetRemoteUser)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  6736.     STDMETHOD(SetRemotePassword)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  6737.     STDMETHOD(GetImpersonate)(THIS_ LPBOOL pRetVal) PURE;
  6738.     STDMETHOD(SetImpersonate)(THIS_ BOOL NewValue) PURE;
  6739.  
  6740.     //*** methods
  6741.     STDMETHOD(Remove)(THIS) PURE;
  6742. };
  6743.  
  6744. ////////////////////////////////////////////////////////////////////////////////////
  6745. ////////////////////////////////////////////////////////////////////////////////////
  6746.  
  6747. #undef INTERFACE
  6748. #define INTERFACE ISQLDMOFullTextCatalogs
  6749. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  6750. {
  6751.    //*** IUnknown methods
  6752.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  6753.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  6754.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  6755.  
  6756.     //*** SQLDMO standard object properties.
  6757.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  6758.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  6759.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  6760.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  6761.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  6762.  
  6763.     //*** SQLDMO standard enumeration properties
  6764.     STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLDMOFULLTEXTCATALOG *ppObj) PURE;
  6765.     STDMETHOD(GetItemByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOFULLTEXTCATALOG *ppObj) PURE;
  6766.     STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  6767.  
  6768.     //*** SQLDMO standard collection methods
  6769.     STDMETHOD(Add)(THIS_ LPSQLDMOFULLTEXTCATALOG Object) PURE;
  6770.     STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  6771.     STDMETHOD(RemoveByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  6772.     STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  6773. };
  6774.  
  6775. #undef INTERFACE
  6776. #define INTERFACE ISQLDMOFullTextCatalog
  6777. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  6778. {
  6779.    //*** IUnknown methods
  6780.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  6781.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  6782.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  6783.  
  6784.     //*** SQLDMO standard object properties.
  6785.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  6786.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  6787.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  6788.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  6789.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  6790.  
  6791.     //*** properties
  6792.     STDMETHOD(GetName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  6793.     STDMETHOD(SetName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  6794.     STDMETHOD(GetRootPath)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  6795.     STDMETHOD(SetRootPath)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  6796.     STDMETHOD(GetItemCount)(THIS_ LPLONG pRetVal) PURE;
  6797.     STDMETHOD(GetPopulateStatus)(THIS_ SQLDMO_FULLTEXTSTATUS_TYPE *pRetVal) PURE;
  6798.     STDMETHOD(GetFullTextIndexSize)(THIS_ LPLONG pRetVal) PURE;
  6799.     STDMETHOD(GetUniqueKeyCount)(THIS_ LPLONG pRetVal) PURE;
  6800.     STDMETHOD(GetPopulateCompletionDate)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  6801.     STDMETHOD(GetErrorLogSize)(THIS_ LPLONG pRetVal) PURE;
  6802.     STDMETHOD(GetHasFullTextIndexedTables)(THIS_ LPBOOL pRetVal) PURE;
  6803.  
  6804.     //*** methods
  6805.     STDMETHOD(Remove)(THIS) PURE;
  6806.     STDMETHOD(Start)(THIS_ SQLDMO_FULLTEXT_START_TYPE StartType) PURE;
  6807.     STDMETHOD(Stop)(THIS) PURE;
  6808.     STDMETHOD(GenerateSQL)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  6809.     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;
  6810.     STDMETHOD(Rebuild)(THIS) PURE;
  6811.  
  6812.     STDMETHOD(GetFullTextCatalogID)(THIS_ LPLONG pRetVal) PURE;
  6813.     STDMETHOD(GetPopulateCompletionAge)(THIS_ LPLONG pRetVal) PURE;
  6814. };
  6815.  
  6816. ////////////////////////////////////////////////////////////////////////////////////
  6817. ////////////////////////////////////////////////////////////////////////////////////
  6818.  
  6819. #undef INTERFACE
  6820. #define INTERFACE ISQLDMOFullTextService
  6821. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  6822. {
  6823.     //*** IUnknown methods
  6824.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  6825.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  6826.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  6827.  
  6828.     //*** SQLDMO standard object properties.
  6829.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  6830.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  6831.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  6832.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  6833.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  6834.  
  6835.     //*** properties
  6836.     STDMETHOD(GetStatus)(THIS_ SQLDMO_SVCSTATUS_TYPE *pRetVal) PURE;
  6837.     STDMETHOD(GetDefaultPath)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  6838.     STDMETHOD(GetResourceUsage)(THIS_ LPLONG pRetVal) PURE;
  6839.     STDMETHOD(SetResourceUsage)(THIS_ long NewValue) PURE;
  6840.     STDMETHOD(GetConnectTimeout)(THIS_ LPLONG pRetVal) PURE;
  6841.     STDMETHOD(SetConnectTimeout)(THIS_ long NewValue) PURE;
  6842.     STDMETHOD(GetIsFullTextInstalled)(THIS_ LPBOOL pRetVal) PURE;
  6843.  
  6844.     //*** methods
  6845.     STDMETHOD(Start)(THIS) PURE;
  6846.     STDMETHOD(Stop)(THIS) PURE;
  6847.     STDMETHOD(CleanUp)(THIS) PURE;
  6848. };
  6849.  
  6850. ////////////////////////////////////////////////////////////////////////////////////
  6851. ////////////////////////////////////////////////////////////////////////////////////
  6852.  
  6853.  
  6854.  
  6855.  
  6856.  
  6857.  
  6858.  
  6859. ////////////////////////////////////////////////////////////////////////////////////
  6860. ////////////////////////////////////////////////////////////////////////////////////
  6861.  
  6862. #undef INTERFACE
  6863. #define INTERFACE ISQLDMOTransPublications
  6864. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  6865. {
  6866.    //*** IUnknown methods
  6867.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  6868.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  6869.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  6870.  
  6871.     //*** SQLDMO standard object properties.
  6872.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  6873.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  6874.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  6875.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  6876.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  6877.  
  6878.     //*** SQLDMO standard enumeration properties
  6879.     STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLDMOTRANSPUBLICATION *ppObj) PURE;
  6880.     STDMETHOD(GetItemByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOTRANSPUBLICATION *ppObj) PURE;
  6881.     STDMETHOD(GetItemByID)(THIS_ long lID, LPSQLDMOTRANSPUBLICATION *ppObj) PURE;
  6882.     STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  6883.  
  6884.     //*** SQLDMO standard collection methods
  6885.     STDMETHOD(Add)(THIS_ LPSQLDMOTRANSPUBLICATION Object) PURE;
  6886.     STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  6887.     STDMETHOD(RemoveByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  6888.     STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  6889.  
  6890.     //*** Collection specific methods
  6891.     STDMETHOD(Script)(THIS_ SQLDMO_REPSCRIPT_TYPE ScriptType CPPDEFAULT(= SQLDMORepScript_Default), SQLDMO_LPCSTR ScriptFilePath CPPDEFAULT(= NULL), SQLDMO_LPBSTR ScriptText CPPDEFAULT(= NULL)) PURE;
  6892. };
  6893.  
  6894. #undef INTERFACE
  6895. #define INTERFACE ISQLDMOTransPublication
  6896. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  6897. {
  6898.    //*** IUnknown methods
  6899.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  6900.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  6901.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  6902.  
  6903.     //*** SQLDMO standard object properties.
  6904.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  6905.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  6906.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  6907.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  6908.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  6909.  
  6910.     //*** properties
  6911.     STDMETHOD(GetName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  6912.     STDMETHOD(SetName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  6913.     STDMETHOD(GetID)(THIS_ LPLONG pRetVal) PURE;
  6914.     STDMETHOD(GetDescription)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  6915.     STDMETHOD(SetDescription)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  6916.     STDMETHOD(GetEnabled)(THIS_ LPBOOL pRetVal) PURE;
  6917.     STDMETHOD(SetEnabled)(THIS_ BOOL NewValue) PURE;
  6918.     STDMETHOD(GetRetentionPeriod)(THIS_ LPDWORD pRetVal) PURE;
  6919.     STDMETHOD(SetRetentionPeriod)(THIS_ DWORD NewValue) PURE;
  6920.     STDMETHOD(GetSnapshotMethod)(THIS_ SQLDMO_INITIALSYNC_TYPE *pRetVal) PURE;
  6921.     STDMETHOD(SetSnapshotMethod)(THIS_ SQLDMO_INITIALSYNC_TYPE NewValue) PURE;
  6922.     STDMETHOD(GetSnapshotAvailable)(THIS_ LPBOOL pRetVal) PURE;
  6923.     STDMETHOD(SetSnapshotAvailable)(THIS_ BOOL NewValue) PURE;
  6924.     STDMETHOD(GetSnapshotSchedule)(THIS_ LPSQLDMOSCHEDULE *ppSchedule) PURE;
  6925.     STDMETHOD(GetSnapshotJobID)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  6926.     STDMETHOD(GetPublicationAttributes)(THIS_ SQLDMO_PUBATTRIB_TYPE *pRetVal) PURE;
  6927.     STDMETHOD(SetPublicationAttributes)(THIS_ SQLDMO_PUBATTRIB_TYPE NewValue) PURE;
  6928.     STDMETHOD(GetHasSubscription)(THIS_ LPBOOL pRetVal) PURE;
  6929.  
  6930.     STDMETHOD(GetAllowSynchronousTransactions)(THIS_ LPBOOL pRetVal) PURE;
  6931.     STDMETHOD(SetAllowSynchronousTransactions)(THIS_ BOOL NewValue) PURE;
  6932.     STDMETHOD(GetAutogenerateSyncProcedures)(THIS_ LPBOOL pRetVal) PURE;
  6933.     STDMETHOD(SetAutogenerateSyncProcedures)(THIS_ BOOL NewValue) PURE;
  6934.     STDMETHOD(GetReplicationFrequency)(THIS_ SQLDMO_REPFREQ_TYPE *pRetVal) PURE;
  6935.     STDMETHOD(SetReplicationFrequency)(THIS_ SQLDMO_REPFREQ_TYPE NewValue) PURE;
  6936.  
  6937.     //*** Collection properties
  6938.     STDMETHOD(GetTransArticles)(THIS_ LPSQLDMOTRANSARTICLES * ppArticles) PURE;
  6939.     STDMETHOD(GetTransArticleByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOTRANSARTICLE *ppArticle) PURE;
  6940.     STDMETHOD(GetTransArticleByOrd)(THIS_ long lOrdinal, LPSQLDMOTRANSARTICLE *ppArticle) PURE;
  6941.     STDMETHOD(RemoveTransArticleByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  6942.     STDMETHOD(RemoveTransArticleByOrd)(THIS_ long lOrdinal) PURE;
  6943.     STDMETHOD(AddTransArticle)(THIS_ LPSQLDMOTRANSARTICLE pArticle) PURE;
  6944.     STDMETHOD(GetTransArticleCount)(THIS_ LPLONG plCount) PURE;
  6945.  
  6946.     STDMETHOD(GetTransSubscriptions)(THIS_ LPSQLDMOTRANSSUBSCRIPTIONS * ppSubscriptions) PURE;
  6947.     STDMETHOD(GetTransSubscriptionByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOTRANSSUBSCRIPTION *ppSubscription) PURE;
  6948.     STDMETHOD(GetTransSubscriptionByOrd)(THIS_ long lOrdinal, LPSQLDMOTRANSSUBSCRIPTION *ppSubscription) PURE;
  6949.     STDMETHOD(RemoveTransSubscriptionByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  6950.     STDMETHOD(RemoveTransSubscriptionByOrd)(THIS_ long lOrdinal) PURE;
  6951.     STDMETHOD(AddTransSubscription)(THIS_ LPSQLDMOTRANSSUBSCRIPTION pSubscription) PURE;
  6952.     STDMETHOD(GetTransSubscriptionCount)(THIS_ LPLONG plCount) PURE;
  6953.  
  6954.     //*** methods
  6955.     STDMETHOD(Remove)(THIS) PURE;
  6956.     STDMETHOD(BeginAlter)(THIS) PURE;
  6957.     STDMETHOD(DoAlter)(THIS) PURE;
  6958.     STDMETHOD(CancelAlter)(THIS) PURE;
  6959.     STDMETHOD(ActivateSubscriptions)(THIS) PURE;
  6960.     STDMETHOD(Script)(THIS_ SQLDMO_REPSCRIPT_TYPE ScriptType CPPDEFAULT(= SQLDMORepScript_Default), SQLDMO_LPCSTR ScriptFilePath CPPDEFAULT(= NULL), SQLDMO_LPBSTR ScriptText CPPDEFAULT(= NULL)) PURE;
  6961.     STDMETHOD(EnumSubscriptions)(THIS_ LPSQLDMOQUERYRESULTS *ppResults) PURE;
  6962.     STDMETHOD(RefreshChildren)(THIS) PURE;
  6963.     STDMETHOD(ReInitializeAllSubscriptions)(THIS) PURE;
  6964.     STDMETHOD(EnumPublicationAccesses)(THIS_ LPSQLDMOQUERYRESULTS *ppResults, BOOL bReturnGranted CPPDEFAULT(= TRUE)) PURE;
  6965.     STDMETHOD(GrantPublicationAccess)(THIS_ SQLDMO_LPCSTR szLoginName) PURE;
  6966.     STDMETHOD(RevokePublicationAccess)(THIS_ SQLDMO_LPCSTR szLoginName) PURE;
  6967. };
  6968.  
  6969. ////////////////////////////////////////////////////////////////////////////////////
  6970. ////////////////////////////////////////////////////////////////////////////////////
  6971.  
  6972. #undef INTERFACE
  6973. #define INTERFACE ISQLDMOTransArticles
  6974. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  6975. {
  6976.    //*** IUnknown methods
  6977.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  6978.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  6979.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  6980.  
  6981.     //*** SQLDMO standard object properties.
  6982.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  6983.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  6984.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  6985.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  6986.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  6987.  
  6988.     //*** SQLDMO standard enumeration properties
  6989.     STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLDMOTRANSARTICLE *ppObj) PURE;
  6990.     STDMETHOD(GetItemByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOTRANSARTICLE *ppObj) PURE;
  6991.     STDMETHOD(GetItemByID)(THIS_ long lID, LPSQLDMOTRANSARTICLE *ppObj) PURE;
  6992.     STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  6993.  
  6994.     //*** SQLDMO standard collection methods
  6995.     STDMETHOD(Add)(THIS_ LPSQLDMOTRANSARTICLE Object) PURE;
  6996.     STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  6997.     STDMETHOD(RemoveByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  6998.     STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  6999. };
  7000.  
  7001. #undef INTERFACE
  7002. #define INTERFACE ISQLDMOTransArticle
  7003. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  7004. {
  7005.    //*** IUnknown methods
  7006.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  7007.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  7008.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  7009.  
  7010.     //*** SQLDMO standard object properties.
  7011.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  7012.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  7013.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  7014.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  7015.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  7016.  
  7017.     //*** properties
  7018.     STDMETHOD(GetName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  7019.     STDMETHOD(SetName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  7020.     STDMETHOD(GetID)(THIS_ LPLONG pRetVal) PURE;
  7021.     STDMETHOD(GetSourceObjectOwner)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  7022.     STDMETHOD(SetSourceObjectOwner)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  7023.     STDMETHOD(GetSourceObjectName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  7024.     STDMETHOD(SetSourceObjectName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  7025.     STDMETHOD(GetDescription)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  7026.     STDMETHOD(SetDescription)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  7027.     STDMETHOD(GetReplicateAllColumns)(THIS_ LPBOOL pRetVal) PURE;
  7028.     STDMETHOD(GetSnapshotObjectOwner)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  7029.     STDMETHOD(SetSnapshotObjectOwner)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  7030.     STDMETHOD(GetSnapshotObjectName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  7031.     STDMETHOD(SetSnapshotObjectName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  7032.     STDMETHOD(GetArticleType)(THIS_ SQLDMO_ARTICLE_TYPE *pRetVal) PURE;
  7033.     STDMETHOD(SetArticleType)(THIS_ SQLDMO_ARTICLE_TYPE NewValue) PURE;
  7034.     STDMETHOD(GetInsertCommand)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  7035.     STDMETHOD(SetInsertCommand)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  7036.     STDMETHOD(GetUpdateCommand)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  7037.     STDMETHOD(SetUpdateCommand)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  7038.     STDMETHOD(GetDeleteCommand)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  7039.     STDMETHOD(SetDeleteCommand)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  7040.     STDMETHOD(GetReplicationFilterProcOwner)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  7041.     STDMETHOD(SetReplicationFilterProcOwner)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  7042.     STDMETHOD(GetReplicationFilterProcName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  7043.     STDMETHOD(SetReplicationFilterProcName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  7044.     STDMETHOD(GetCreationScriptPath)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  7045.     STDMETHOD(SetCreationScriptPath)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  7046.     STDMETHOD(GetDestinationOwnerName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  7047.     STDMETHOD(SetDestinationOwnerName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  7048.     STDMETHOD(GetDestinationObjectName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  7049.     STDMETHOD(SetDestinationObjectName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  7050.     STDMETHOD(GetPreCreationMethod)(THIS_ SQLDMO_PREARTICLE_TYPE *pRetVal) PURE;
  7051.     STDMETHOD(SetPreCreationMethod)(THIS_ SQLDMO_PREARTICLE_TYPE NewValue) PURE;
  7052.     STDMETHOD(GetFilterClause)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  7053.     STDMETHOD(SetFilterClause)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  7054.     STDMETHOD(GetCreationScriptOptions)(THIS_ SQLDMO_CREATIONSCRIPT_TYPE FAR * pRetVal) PURE;
  7055.     STDMETHOD(SetCreationScriptOptions)(THIS_ SQLDMO_CREATIONSCRIPT_TYPE NewValue) PURE;
  7056.     STDMETHOD(GetCommandOptions)(THIS_ SQLDMO_COMMANDOPTION_TYPE FAR * pRetVal) PURE;
  7057.     STDMETHOD(SetCommandOptions)(THIS_ SQLDMO_COMMANDOPTION_TYPE NewValue) PURE;
  7058.  
  7059.     //*** Collection Properties
  7060.     STDMETHOD(GetTransSubscriptions)(THIS_ LPSQLDMOTRANSSUBSCRIPTIONS * ppSubscriptions) PURE;
  7061.     STDMETHOD(GetTransSubscriptionByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOTRANSSUBSCRIPTION *ppSubscription) PURE;
  7062.     STDMETHOD(GetTransSubscriptionByOrd)(THIS_ long lOrdinal, LPSQLDMOTRANSSUBSCRIPTION *ppSubscription) PURE;
  7063.     STDMETHOD(RemoveTransSubscriptionByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  7064.     STDMETHOD(RemoveTransSubscriptionByOrd)(THIS_ long lOrdinal) PURE;
  7065.     STDMETHOD(AddTransSubscription)(THIS_ LPSQLDMOTRANSSUBSCRIPTION pSubscription) PURE;
  7066.     STDMETHOD(GetTransSubscriptionCount)(THIS_ LPLONG plCount) PURE;
  7067.  
  7068.     //*** methods
  7069.     STDMETHOD(Remove)(THIS) PURE;
  7070.     STDMETHOD(ListReplicatedColumns)(THIS_ LPSQLDMOCOLUMNLIST *ppList) PURE;
  7071.     STDMETHOD(AddReplicatedColumns)(THIS_ SQLDMO_LPCSTR Columns) PURE;
  7072.     STDMETHOD(RemoveReplicatedColumns)(THIS_ SQLDMO_LPCSTR Columns) PURE;
  7073.     STDMETHOD(BeginAlter)(THIS) PURE;
  7074.     STDMETHOD(DoAlter)(THIS) PURE;
  7075.     STDMETHOD(CancelAlter)(THIS) PURE;
  7076.     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;
  7077.     STDMETHOD(Script)(THIS_ SQLDMO_REPSCRIPT_TYPE ScriptType CPPDEFAULT(= SQLDMORepScript_Default), SQLDMO_LPCSTR ScriptFilePath CPPDEFAULT(= NULL), SQLDMO_LPBSTR ScriptText CPPDEFAULT(= NULL)) PURE;
  7078.  
  7079. };
  7080.  
  7081. #undef INTERFACE
  7082. #define INTERFACE ISQLDMOTransSubscriptions
  7083. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  7084. {
  7085.    //*** IUnknown methods
  7086.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  7087.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  7088.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  7089.  
  7090.     //*** SQLDMO standard object properties.
  7091.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  7092.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  7093.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  7094.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  7095.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  7096.  
  7097.     //*** SQLDMO standard enumeration properties
  7098.     STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLDMOTRANSSUBSCRIPTION *ppObj) PURE;
  7099.     STDMETHOD(GetItemByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOTRANSSUBSCRIPTION *ppObj) PURE;
  7100.     STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  7101.  
  7102.     //*** SQLDMO standard collection methods
  7103.     STDMETHOD(Add)(THIS_ LPSQLDMOTRANSSUBSCRIPTION Object) PURE;
  7104.     STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  7105.     STDMETHOD(RemoveByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  7106.     STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  7107.  
  7108.     //*** Collection specific methods
  7109.     STDMETHOD(Script)(THIS_ SQLDMO_REPSCRIPT_TYPE ScriptType CPPDEFAULT(= SQLDMORepScript_Default), SQLDMO_LPCSTR ScriptFilePath CPPDEFAULT(= NULL), SQLDMO_LPBSTR ScriptText CPPDEFAULT(= NULL)) PURE;
  7110. };
  7111.  
  7112. #undef INTERFACE
  7113. #define INTERFACE ISQLDMOTransSubscription
  7114. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  7115. {
  7116.    //*** IUnknown methods
  7117.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  7118.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  7119.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  7120.  
  7121.     //*** SQLDMO standard object properties.
  7122.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  7123.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  7124.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  7125.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  7126.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  7127.  
  7128.     //*** properties
  7129.     STDMETHOD(GetSubscriber)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  7130.     STDMETHOD(SetSubscriber)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  7131.     STDMETHOD(GetSubscriptionDB)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  7132.     STDMETHOD(SetSubscriptionDB)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  7133.     STDMETHOD(GetSyncType)(THIS_ SQLDMO_SUBSYNC_TYPE *pRetVal) PURE;
  7134.     STDMETHOD(SetSyncType)(THIS_ SQLDMO_SUBSYNC_TYPE NewValue) PURE;
  7135.     STDMETHOD(GetStatus)(THIS_ SQLDMO_SUBSTATUS_TYPE *pRetVal) PURE;
  7136.     STDMETHOD(SetStatus)(THIS_ SQLDMO_SUBSTATUS_TYPE NewValue) PURE;
  7137.     STDMETHOD(GetFullSubscription)(THIS_ LPBOOL pRetVal) PURE;
  7138.     STDMETHOD(GetDistributionSchedule)(THIS_ LPSQLDMOSCHEDULE *ppDistributionSchedule) PURE;
  7139.     STDMETHOD(GetName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  7140.     STDMETHOD(GetSubscriptionType)(THIS_ SQLDMO_SUBSCRIPTION_TYPE *pRetVal) PURE;
  7141.     STDMETHOD(GetSubscriberType)(THIS_ SQLDMO_TRANSUBSCRIBER_TYPE *pRetVal) PURE;
  7142.     STDMETHOD(SetSubscriberType)(THIS_ SQLDMO_TRANSUBSCRIBER_TYPE NewValue) PURE;
  7143.     STDMETHOD(GetDistributionJobID)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  7144.     STDMETHOD(SetEnabledForSyncMgr)(THIS_ BOOL NewValue) PURE;
  7145.  
  7146.     //*** methods
  7147.     STDMETHOD(Remove)(THIS) PURE;
  7148.     STDMETHOD(BeginAlter)(THIS) PURE;
  7149.     STDMETHOD(DoAlter)(THIS) PURE;
  7150.     STDMETHOD(CancelAlter)(THIS) PURE;
  7151.     STDMETHOD(Script)(THIS_ SQLDMO_REPSCRIPT_TYPE ScriptType CPPDEFAULT(= SQLDMORepScript_Default), SQLDMO_LPCSTR ScriptFilePath CPPDEFAULT(= NULL), SQLDMO_LPBSTR ScriptText CPPDEFAULT(= NULL)) PURE;
  7152.  
  7153.     STDMETHOD(ReInitialize)(THIS) PURE;
  7154. };
  7155.  
  7156. ////////////////////////////////////////////////////////////////////////////////////
  7157. ////////////////////////////////////////////////////////////////////////////////////
  7158.  
  7159. #undef INTERFACE
  7160. #define INTERFACE ISQLDMOTransPullSubscriptions
  7161. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  7162. {
  7163.    //*** IUnknown methods
  7164.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  7165.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  7166.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  7167.  
  7168.     //*** SQLDMO standard object properties.
  7169.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  7170.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  7171.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  7172.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  7173.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  7174.  
  7175.     //*** SQLDMO standard enumeration properties
  7176.     STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLDMOTRANSPULLSUBSCRIPTION *ppObj) PURE;
  7177.     STDMETHOD(GetItemByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOTRANSPULLSUBSCRIPTION *ppObj) PURE;
  7178.     STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  7179.  
  7180.     //*** SQLDMO standard collection methods
  7181.     STDMETHOD(Add)(THIS_ LPSQLDMOTRANSPULLSUBSCRIPTION Object) PURE;
  7182.     STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  7183.     STDMETHOD(RemoveByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  7184.     STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  7185.  
  7186.     //*** Collection specific methods
  7187.     STDMETHOD(Script)(THIS_ SQLDMO_REPSCRIPT_TYPE ScriptType CPPDEFAULT(= SQLDMORepScript_Default), SQLDMO_LPCSTR ScriptFilePath CPPDEFAULT(= NULL), SQLDMO_LPBSTR ScriptText CPPDEFAULT(= NULL)) PURE;
  7188. };
  7189.  
  7190. #undef INTERFACE
  7191. #define INTERFACE ISQLDMOTransPullSubscription
  7192. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  7193. {
  7194.    //*** IUnknown methods
  7195.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  7196.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  7197.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  7198.  
  7199.     //*** SQLDMO standard object properties.
  7200.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  7201.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  7202.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  7203.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  7204.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  7205.  
  7206.     //*** properties
  7207.     STDMETHOD(GetName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  7208.     STDMETHOD(GetPublisher)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  7209.     STDMETHOD(SetPublisher)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  7210.     STDMETHOD(GetPublicationDB)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  7211.     STDMETHOD(SetPublicationDB)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  7212.     STDMETHOD(GetPublication)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  7213.     STDMETHOD(SetPublication)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  7214.     STDMETHOD(GetDescription)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  7215.     STDMETHOD(SetDescription)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  7216.     STDMETHOD(GetSubscriptionType)(THIS_ SQLDMO_SUBSCRIPTION_TYPE *pRetVal) PURE;
  7217.     STDMETHOD(SetSubscriptionType)(THIS_ SQLDMO_SUBSCRIPTION_TYPE NewValue) PURE;
  7218.     STDMETHOD(GetSubscriberType)(THIS_ SQLDMO_TRANSUBSCRIBER_TYPE *pRetVal) PURE;
  7219.     STDMETHOD(SetSubscriberType)(THIS_ SQLDMO_TRANSUBSCRIBER_TYPE NewValue) PURE;
  7220.     STDMETHOD(GetDistributor)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  7221.     STDMETHOD(SetDistributor)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  7222.     STDMETHOD(GetPublisherSecurity)(THIS_ LPSQLDMOREPLICATIONSECURITY *ppPublisherSecurity) PURE;
  7223.     STDMETHOD(GetDistributorSecurity)(THIS_ LPSQLDMOREPLICATIONSECURITY *ppDistributorSecurity) PURE;
  7224.     STDMETHOD(SetSubscriberSecurityMode)(THIS_ SQLDMO_SECURITY_TYPE NewValue) PURE;
  7225.     STDMETHOD(SetSubscriberLogin)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  7226.     STDMETHOD(SetSubscriberPassword)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  7227.     STDMETHOD(GetEnabledForSyncMgr)(THIS_ LPBOOL pRetVal) PURE;
  7228.     STDMETHOD(SetEnabledForSyncMgr)(THIS_ BOOL NewValue) PURE;
  7229.     STDMETHOD(GetFTPAddress)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  7230.     STDMETHOD(SetFTPAddress)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  7231.     STDMETHOD(GetFTPPort)(THIS_ LPDWORD pRetVal) PURE;
  7232.     STDMETHOD(SetFTPPort)(THIS_ DWORD NewValue) PURE;
  7233.     STDMETHOD(GetFTPLogin)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  7234.     STDMETHOD(SetFTPLogin)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  7235.     STDMETHOD(SetFTPPassword)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  7236.  
  7237.     STDMETHOD(GetDistributionSchedule)(THIS_ LPSQLDMOSCHEDULE *ppDistributionSchedule) PURE;
  7238.     STDMETHOD(GetDistributionJobID)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  7239.     STDMETHOD(GetLastDistributionDate)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  7240.     STDMETHOD(GetPublicationAttributes)(THIS_ SQLDMO_PUBATTRIB_TYPE *pRetVal) PURE;
  7241.     STDMETHOD(SetPublicationAttributes)(THIS_ SQLDMO_PUBATTRIB_TYPE NewValue) PURE;
  7242.  
  7243.     //*** methods
  7244.     STDMETHOD(Remove)(THIS) PURE;
  7245.     STDMETHOD(BeginAlter)(THIS) PURE;
  7246.     STDMETHOD(DoAlter)(THIS) PURE;
  7247.     STDMETHOD(CancelAlter)(THIS) PURE;
  7248.     STDMETHOD(Script)(THIS_ SQLDMO_REPSCRIPT_TYPE ScriptType CPPDEFAULT(= SQLDMORepScript_Default), SQLDMO_LPCSTR ScriptFilePath CPPDEFAULT(= NULL), SQLDMO_LPBSTR ScriptText CPPDEFAULT(= NULL)) PURE;
  7249.     STDMETHOD(EnumJobInfo)(THIS_ LPSQLDMOQUERYRESULTS *ppResults) PURE;
  7250.     STDMETHOD(ReInitialize)(THIS) PURE;
  7251. };
  7252.  
  7253. #undef INTERFACE
  7254. #define INTERFACE ISQLDMOMergePublications
  7255. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  7256. {
  7257.    //*** IUnknown methods
  7258.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  7259.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  7260.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  7261.  
  7262.     //*** SQLDMO standard object properties.
  7263.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  7264.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  7265.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  7266.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  7267.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  7268.  
  7269.     //*** SQLDMO standard enumeration properties
  7270.     STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLDMOMERGEPUBLICATION *ppObj) PURE;
  7271.     STDMETHOD(GetItemByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOMERGEPUBLICATION *ppObj) PURE;
  7272.     STDMETHOD(GetItemByID)(THIS_ long lID, LPSQLDMOMERGEPUBLICATION *ppObj) PURE;
  7273.     STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  7274.  
  7275.     //*** SQLDMO standard collection methods
  7276.     STDMETHOD(Add)(THIS_ LPSQLDMOMERGEPUBLICATION Object) PURE;
  7277.     STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  7278.     STDMETHOD(RemoveByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  7279.     STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  7280.  
  7281.     //*** Collection specific methods
  7282.     STDMETHOD(Script)(THIS_ SQLDMO_REPSCRIPT_TYPE ScriptType CPPDEFAULT(= SQLDMORepScript_Default), SQLDMO_LPCSTR ScriptFilePath CPPDEFAULT(= NULL), SQLDMO_LPBSTR ScriptText CPPDEFAULT(= NULL)) PURE;
  7283. };
  7284.  
  7285. #undef INTERFACE
  7286. #define INTERFACE ISQLDMOMergePublication
  7287. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  7288. {
  7289.    //*** IUnknown methods
  7290.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  7291.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  7292.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  7293.  
  7294.     //*** SQLDMO standard object properties.
  7295.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  7296.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  7297.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  7298.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  7299.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  7300.  
  7301.     //*** properties
  7302.     STDMETHOD(GetName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  7303.     STDMETHOD(SetName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  7304.     STDMETHOD(GetID)(THIS_ long FAR* pRetVal) PURE;
  7305.     STDMETHOD(GetDescription)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  7306.     STDMETHOD(SetDescription)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  7307.     STDMETHOD(GetEnabled)(THIS_ LPBOOL pRetVal) PURE;
  7308.     STDMETHOD(SetEnabled)(THIS_ BOOL NewValue) PURE;
  7309.     STDMETHOD(GetRetentionPeriod)(THIS_ LPDWORD pRetVal) PURE;
  7310.     STDMETHOD(SetRetentionPeriod)(THIS_ DWORD NewValue) PURE;
  7311.     STDMETHOD(GetSnapshotMethod)(THIS_ SQLDMO_INITIALSYNC_TYPE *pRetVal) PURE;
  7312.     STDMETHOD(SetSnapshotMethod)(THIS_ SQLDMO_INITIALSYNC_TYPE NewValue) PURE;
  7313.     STDMETHOD(GetSnapshotAvailable)(THIS_ LPBOOL pRetVal) PURE;
  7314.     STDMETHOD(SetSnapshotAvailable)(THIS_ BOOL NewValue) PURE;
  7315.     STDMETHOD(GetSnapshotSchedule)(THIS_ LPSQLDMOSCHEDULE *ppSchedule) PURE;
  7316.     STDMETHOD(GetSnapshotJobID)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  7317.     STDMETHOD(GetPublicationAttributes)(THIS_ SQLDMO_PUBATTRIB_TYPE *pRetVal) PURE;
  7318.     STDMETHOD(SetPublicationAttributes)(THIS_ SQLDMO_PUBATTRIB_TYPE NewValue) PURE;
  7319.     STDMETHOD(GetHasSubscription)(THIS_ LPBOOL pRetVal) PURE;
  7320.  
  7321.     STDMETHOD(GetCentralizedConflicts)(THIS_ LPBOOL pRetVal) PURE;
  7322.     STDMETHOD(SetCentralizedConflicts)(THIS_ BOOL NewValue) PURE;
  7323.     STDMETHOD(GetPriority)(THIS_ float *pRetVal) PURE;
  7324.     STDMETHOD(GetDynamicFilters)(THIS_ LPBOOL pRetVal) PURE;
  7325.     STDMETHOD(SetDynamicFilters)(THIS_ BOOL NewValue) PURE;
  7326.  
  7327.     //*** Collection properties
  7328.     STDMETHOD(GetMergeArticles)(THIS_ LPSQLDMOMERGEARTICLES * ppMergeArticles) PURE;
  7329.     STDMETHOD(GetMergeArticleByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOMERGEARTICLE *ppMergeArticle) PURE;
  7330.     STDMETHOD(GetMergeArticleByOrd)(THIS_ long lOrdinal, LPSQLDMOMERGEARTICLE *ppMergeArticle) PURE;
  7331.     STDMETHOD(RemoveMergeArticleByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  7332.     STDMETHOD(RemoveMergeArticleByOrd)(THIS_ long lOrdinal) PURE;
  7333.     STDMETHOD(AddMergeArticle)(THIS_ LPSQLDMOMERGEARTICLE pMergeArticle) PURE;
  7334.     STDMETHOD(GetMergeArticleCount)(THIS_ LPLONG plCount) PURE;
  7335.  
  7336.     STDMETHOD(GetMergeSubscriptions)(THIS_ LPSQLDMOMERGESUBSCRIPTIONS * ppMergeSubscriptions) PURE;
  7337.     STDMETHOD(GetMergeSubscriptionByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOMERGESUBSCRIPTION *ppMergeSubscription) PURE;
  7338.     STDMETHOD(GetMergeSubscriptionByOrd)(THIS_ long lOrdinal, LPSQLDMOMERGESUBSCRIPTION *ppMergeSubscription) PURE;
  7339.     STDMETHOD(RemoveMergeSubscriptionByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  7340.     STDMETHOD(RemoveMergeSubscriptionByOrd)(THIS_ long lOrdinal) PURE;
  7341.     STDMETHOD(AddMergeSubscription)(THIS_ LPSQLDMOMERGESUBSCRIPTION pMergeSubscription) PURE;
  7342.     STDMETHOD(GetMergeSubscriptionCount)(THIS_ LPLONG plCount) PURE;
  7343.  
  7344.  
  7345.     //*** methods
  7346.     STDMETHOD(Remove)(THIS) PURE;
  7347.     STDMETHOD(BeginAlter)(THIS) PURE;
  7348.     STDMETHOD(DoAlter)(THIS) PURE;
  7349.     STDMETHOD(CancelAlter)(THIS) PURE;
  7350.     STDMETHOD(Script)(THIS_ SQLDMO_REPSCRIPT_TYPE ScriptType CPPDEFAULT(= SQLDMORepScript_Default), SQLDMO_LPCSTR ScriptFilePath CPPDEFAULT(= NULL), SQLDMO_LPBSTR ScriptText CPPDEFAULT(= NULL)) PURE;
  7351.     STDMETHOD(EnumSubscriptions)(THIS_ LPSQLDMOQUERYRESULTS *ppResults) PURE;
  7352.     STDMETHOD(RefreshChildren)(THIS) PURE;
  7353.     STDMETHOD(EnumPublicationReferences)(THIS_ LPSQLDMOQUERYRESULTS *ppResults) PURE;
  7354.     STDMETHOD(ReInitializeAllSubscriptions)(THIS) PURE;
  7355.     STDMETHOD(EnumPublicationAccesses)(THIS_ LPSQLDMOQUERYRESULTS *ppResults, BOOL bReturnGranted CPPDEFAULT(= TRUE)) PURE;
  7356.     STDMETHOD(GrantPublicationAccess)(THIS_ SQLDMO_LPCSTR szLoginName) PURE;
  7357.     STDMETHOD(RevokePublicationAccess)(THIS_ SQLDMO_LPCSTR szLoginName) PURE;
  7358.     STDMETHOD(GenerateFilters)(THIS) PURE;
  7359.     STDMETHOD(EnumGeneratedSubsetFilters)(THIS_ LPSQLDMOQUERYRESULTS *ppResults, SQLDMO_LPCSTR szArticle, SQLDMO_LPCSTR szSubsetFilterClause) PURE;
  7360.     STDMETHOD(EnumAllSubsetFilters)(THIS_ LPSQLDMOQUERYRESULTS *ppResults) PURE;
  7361. };
  7362.  
  7363. ////////////////////////////////////////////////////////////////////////////////////
  7364. ////////////////////////////////////////////////////////////////////////////////////
  7365.  
  7366. #undef INTERFACE
  7367. #define INTERFACE ISQLDMOMergeArticles
  7368. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  7369. {
  7370.    //*** IUnknown methods
  7371.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  7372.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  7373.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  7374.  
  7375.     //*** SQLDMO standard object properties.
  7376.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  7377.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  7378.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  7379.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  7380.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  7381.  
  7382.     //*** SQLDMO standard enumeration properties
  7383.     STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLDMOMERGEARTICLE *ppObj) PURE;
  7384.     STDMETHOD(GetItemByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOMERGEARTICLE *ppObj) PURE;
  7385.     STDMETHOD(GetItemByID)(THIS_ long lID, LPSQLDMOMERGEARTICLE *ppObj) PURE;
  7386.     STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  7387.  
  7388.     //*** SQLDMO standard collection methods
  7389.     STDMETHOD(Add)(THIS_ LPSQLDMOMERGEARTICLE Object) PURE;
  7390.     STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  7391.     STDMETHOD(RemoveByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  7392.     STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  7393. };
  7394.  
  7395. #undef INTERFACE
  7396. #define INTERFACE ISQLDMOMergeArticle
  7397. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  7398. {
  7399.    //*** IUnknown methods
  7400.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  7401.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  7402.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  7403.  
  7404.     //*** SQLDMO standard object properties.
  7405.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  7406.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  7407.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  7408.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  7409.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  7410.  
  7411.     //*** properties
  7412.     STDMETHOD(GetName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  7413.     STDMETHOD(SetName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  7414.     STDMETHOD(GetID)(THIS_ LPLONG pRetVal) PURE;
  7415.     STDMETHOD(GetSourceObjectOwner)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  7416.     STDMETHOD(SetSourceObjectOwner)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  7417.     STDMETHOD(GetSourceObjectName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  7418.     STDMETHOD(SetSourceObjectName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  7419.     STDMETHOD(GetStatus)(THIS_ SQLDMO_ARTSTATUS_TYPE *pRetVal) PURE;
  7420.     STDMETHOD(SetStatus)(THIS_ SQLDMO_ARTSTATUS_TYPE NewValue) PURE;
  7421.     STDMETHOD(GetDescription)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  7422.     STDMETHOD(SetDescription)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  7423.     STDMETHOD(GetConflictTable)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  7424.     STDMETHOD(GetArticleResolver)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  7425.     STDMETHOD(SetArticleResolver)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  7426.     STDMETHOD(GetSubsetFilterClause)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  7427.     STDMETHOD(SetSubsetFilterClause)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  7428.     STDMETHOD(GetPreCreationMethod)(THIS_ SQLDMO_PREARTICLE_TYPE FAR* pRetVal) PURE;
  7429.     STDMETHOD(SetPreCreationMethod)(THIS_ SQLDMO_PREARTICLE_TYPE NewValue) PURE;
  7430.     STDMETHOD(GetCreationScriptOptions)(THIS_ SQLDMO_CREATIONSCRIPT_TYPE FAR * pRetVal) PURE;
  7431.     STDMETHOD(SetCreationScriptOptions)(THIS_ SQLDMO_CREATIONSCRIPT_TYPE NewValue) PURE;
  7432.     STDMETHOD(GetArticleType)(THIS_ SQLDMO_ARTICLE_TYPE *pRetVal) PURE;
  7433.     STDMETHOD(SetArticleType)(THIS_ SQLDMO_ARTICLE_TYPE NewValue) PURE;
  7434.     STDMETHOD(GetColumnTracking)(THIS_ LPBOOL pRetVal) PURE;
  7435.     STDMETHOD(SetColumnTracking)(THIS_ BOOL NewValue) PURE;
  7436.     STDMETHOD(GetCreationScriptPath)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  7437.     STDMETHOD(SetCreationScriptPath)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  7438.     STDMETHOD(GetSnapshotObjectOwner)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  7439.     STDMETHOD(GetSnapshotObjectName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  7440.     STDMETHOD(GetResolverInfo)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  7441.     STDMETHOD(SetResolverInfo)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  7442.  
  7443.     //*** Collection Properties
  7444.     STDMETHOD(GetMergeSubsetFilters)(THIS_ LPSQLDMOMERGESUBSETFILTERS * ppMergeSubsetFilters) PURE;
  7445.     STDMETHOD(GetMergeSubsetFilterByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOMERGESUBSETFILTER *ppMergeSubsetFilter) PURE;
  7446.     STDMETHOD(GetMergeSubsetFilterByOrd)(THIS_ long lOrdinal, LPSQLDMOMERGESUBSETFILTER *ppMergeSubsetFilter) PURE;
  7447.     STDMETHOD(RemoveMergeSubsetFilterByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  7448.     STDMETHOD(RemoveMergeSubsetFilterByOrd)(THIS_ long lOrdinal) PURE;
  7449.     STDMETHOD(AddMergeSubsetFilter)(THIS_ LPSQLDMOMERGESUBSETFILTER pMergeSubsetFilter) PURE;
  7450.     STDMETHOD(GetMergeSubsetFilterCount)(THIS_ LPLONG plCount) PURE;
  7451.  
  7452.     //*** methods
  7453.     STDMETHOD(Remove)(THIS) PURE;
  7454.     STDMETHOD(BeginAlter)(THIS) PURE;
  7455.     STDMETHOD(DoAlter)(THIS) PURE;
  7456.     STDMETHOD(CancelAlter)(THIS) PURE;
  7457.     STDMETHOD(Script)(THIS_ SQLDMO_REPSCRIPT_TYPE ScriptType CPPDEFAULT(= SQLDMORepScript_Default), SQLDMO_LPCSTR ScriptFilePath CPPDEFAULT(= NULL), SQLDMO_LPBSTR ScriptText CPPDEFAULT(= NULL)) PURE;
  7458.     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;
  7459.     
  7460. };
  7461.  
  7462. ////////////////////////////////////////////////////////////////////////////////////
  7463. ////////////////////////////////////////////////////////////////////////////////////
  7464.  
  7465. #undef INTERFACE
  7466. #define INTERFACE ISQLDMOMergeSubscriptions
  7467. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  7468. {
  7469.    //*** IUnknown methods
  7470.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  7471.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  7472.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  7473.  
  7474.     //*** SQLDMO standard object properties.
  7475.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  7476.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  7477.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  7478.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  7479.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  7480.  
  7481.     //*** SQLDMO standard enumeration properties
  7482.     STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLDMOMERGESUBSCRIPTION *ppObj) PURE;
  7483.     STDMETHOD(GetItemByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOMERGESUBSCRIPTION *ppObj) PURE;
  7484.     STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  7485.  
  7486.     //*** SQLDMO standard collection methods
  7487.     STDMETHOD(Add)(THIS_ LPSQLDMOMERGESUBSCRIPTION Object) PURE;
  7488.     STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  7489.     STDMETHOD(RemoveByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  7490.     STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  7491.  
  7492.     //*** Collection specific methods
  7493.     STDMETHOD(Script)(THIS_ SQLDMO_REPSCRIPT_TYPE ScriptType CPPDEFAULT(= SQLDMORepScript_Default), SQLDMO_LPCSTR ScriptFilePath CPPDEFAULT(= NULL), SQLDMO_LPBSTR ScriptText CPPDEFAULT(= NULL)) PURE;
  7494. };
  7495.  
  7496. #undef INTERFACE
  7497. #define INTERFACE ISQLDMOMergeSubscription
  7498. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  7499. {
  7500.    //*** IUnknown methods
  7501.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  7502.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  7503.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  7504.  
  7505.     //*** SQLDMO standard object properties.
  7506.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  7507.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  7508.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  7509.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  7510.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  7511.  
  7512.     //*** properties
  7513.     STDMETHOD(GetName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  7514.     STDMETHOD(GetSubscriber)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  7515.     STDMETHOD(SetSubscriber)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  7516.     STDMETHOD(GetSubscriptionDB)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  7517.     STDMETHOD(SetSubscriptionDB)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  7518.     STDMETHOD(GetStatus)(THIS_ SQLDMO_SUBSTATUS_TYPE *pRetVal) PURE;
  7519.     STDMETHOD(SetStatus)(THIS_ SQLDMO_SUBSTATUS_TYPE NewValue) PURE;
  7520.     STDMETHOD(GetSubscriberType)(THIS_ SQLDMO_MERGESUBSCRIBER_TYPE *pRetVal) PURE;
  7521.     STDMETHOD(SetSubscriberType)(THIS_ SQLDMO_MERGESUBSCRIBER_TYPE NewValue) PURE;
  7522.     STDMETHOD(GetPriority)(THIS_ float *pRetVal) PURE;
  7523.     STDMETHOD(SetPriority)(THIS_ float NewValue) PURE;
  7524.     STDMETHOD(GetMergeSchedule)(THIS_ LPSQLDMOSCHEDULE *ppSchedule) PURE;
  7525.     STDMETHOD(GetSyncType)(THIS_ SQLDMO_SUBSYNC_TYPE *pRetVal) PURE;
  7526.     STDMETHOD(SetSyncType)(THIS_ SQLDMO_SUBSYNC_TYPE NewValue) PURE;
  7527.     STDMETHOD(GetSubscriptionType)(THIS_ SQLDMO_SUBSCRIPTION_TYPE *pRetVal) PURE;
  7528.     STDMETHOD(GetMergeJobID)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  7529.     STDMETHOD(GetDescription)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  7530.     STDMETHOD(SetDescription)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  7531.     STDMETHOD(SetEnabledForSyncMgr)(THIS_ BOOL NewValue) PURE;
  7532.  
  7533.     //*** methods
  7534.     STDMETHOD(Remove)(THIS) PURE;
  7535.     STDMETHOD(BeginAlter)(THIS) PURE;
  7536.     STDMETHOD(DoAlter)(THIS) PURE;
  7537.     STDMETHOD(CancelAlter)(THIS) PURE;
  7538.     STDMETHOD(Script)(THIS_ SQLDMO_REPSCRIPT_TYPE ScriptType CPPDEFAULT(= SQLDMORepScript_Default), SQLDMO_LPCSTR ScriptFilePath CPPDEFAULT(= NULL), SQLDMO_LPBSTR ScriptText CPPDEFAULT(= NULL)) PURE;
  7539.  
  7540.     STDMETHOD(ReInitialize)(THIS) PURE;
  7541. };
  7542.  
  7543. ////////////////////////////////////////////////////////////////////////////////////
  7544. ////////////////////////////////////////////////////////////////////////////////////
  7545.  
  7546. #undef INTERFACE
  7547. #define INTERFACE ISQLDMOMergePullSubscriptions
  7548. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  7549. {
  7550.    //*** IUnknown methods
  7551.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  7552.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  7553.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  7554.  
  7555.     //*** SQLDMO standard object properties.
  7556.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  7557.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  7558.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  7559.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  7560.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  7561.  
  7562.     //*** SQLDMO standard enumeration properties
  7563.     STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLDMOMERGEPULLSUBSCRIPTION *ppObj) PURE;
  7564.     STDMETHOD(GetItemByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOMERGEPULLSUBSCRIPTION *ppObj) PURE;
  7565.     STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  7566.  
  7567.     //*** SQLDMO standard collection methods
  7568.     STDMETHOD(Add)(THIS_ LPSQLDMOMERGEPULLSUBSCRIPTION Object) PURE;
  7569.     STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  7570.     STDMETHOD(RemoveByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  7571.     STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  7572.  
  7573.     //*** Collection specific methods
  7574.     STDMETHOD(Script)(THIS_ SQLDMO_REPSCRIPT_TYPE ScriptType CPPDEFAULT(= SQLDMORepScript_Default), SQLDMO_LPCSTR ScriptFilePath CPPDEFAULT(= NULL), SQLDMO_LPBSTR ScriptText CPPDEFAULT(= NULL)) PURE;
  7575. };
  7576.  
  7577. #undef INTERFACE
  7578. #define INTERFACE ISQLDMOMergePullSubscription
  7579. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  7580. {
  7581.    //*** IUnknown methods
  7582.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  7583.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  7584.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  7585.  
  7586.     //*** SQLDMO standard object properties.
  7587.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  7588.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  7589.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  7590.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  7591.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  7592.  
  7593.     //*** properties
  7594.     STDMETHOD(GetName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  7595.     STDMETHOD(GetPublisher)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  7596.     STDMETHOD(SetPublisher)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  7597.     STDMETHOD(GetPublicationDB)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  7598.     STDMETHOD(SetPublicationDB)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  7599.     STDMETHOD(GetPublication)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  7600.     STDMETHOD(SetPublication)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  7601.     STDMETHOD(GetDescription)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  7602.     STDMETHOD(SetDescription)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  7603.     STDMETHOD(GetSubscriptionType)(THIS_ SQLDMO_SUBSCRIPTION_TYPE *pRetVal) PURE;
  7604.     STDMETHOD(SetSubscriptionType)(THIS_ SQLDMO_SUBSCRIPTION_TYPE NewValue) PURE;
  7605.     STDMETHOD(GetSubscriberType)(THIS_ SQLDMO_MERGESUBSCRIBER_TYPE *pRetVal) PURE;
  7606.     STDMETHOD(SetSubscriberType)(THIS_ SQLDMO_MERGESUBSCRIBER_TYPE NewValue) PURE;
  7607.     STDMETHOD(GetDistributor)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  7608.     STDMETHOD(SetDistributor)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  7609.     STDMETHOD(GetPublisherSecurity)(THIS_ LPSQLDMOREPLICATIONSECURITY *ppPublisherSecurity) PURE;
  7610.     STDMETHOD(GetDistributorSecurity)(THIS_ LPSQLDMOREPLICATIONSECURITY *ppDistributorSecurity) PURE;
  7611.     STDMETHOD(SetSubscriberSecurityMode)(THIS_ SQLDMO_SECURITY_TYPE NewValue) PURE;
  7612.     STDMETHOD(SetSubscriberLogin)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  7613.     STDMETHOD(SetSubscriberPassword)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  7614.     STDMETHOD(GetEnabledForSyncMgr)(THIS_ LPBOOL pRetVal) PURE;
  7615.     STDMETHOD(SetEnabledForSyncMgr)(THIS_ BOOL NewValue) PURE;
  7616.     STDMETHOD(GetFTPAddress)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  7617.     STDMETHOD(SetFTPAddress)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  7618.     STDMETHOD(GetFTPPort)(THIS_ LPDWORD pRetVal) PURE;
  7619.     STDMETHOD(SetFTPPort)(THIS_ DWORD NewValue) PURE;
  7620.     STDMETHOD(GetFTPLogin)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  7621.     STDMETHOD(SetFTPLogin)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  7622.     STDMETHOD(SetFTPPassword)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  7623.  
  7624.     STDMETHOD(GetMergeSchedule)(THIS_ LPSQLDMOSCHEDULE *ppMergeSchedule) PURE;
  7625.     STDMETHOD(GetMergeJobID)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  7626.     STDMETHOD(GetSyncType)(THIS_ SQLDMO_SUBSYNC_TYPE *pRetVal) PURE;
  7627.     STDMETHOD(SetSyncType)(THIS_ SQLDMO_SUBSYNC_TYPE NewValue) PURE;
  7628.     STDMETHOD(GetPriority)(THIS_ float *pRetVal) PURE;
  7629.     STDMETHOD(SetPriority)(THIS_ float NewValue) PURE;
  7630.  
  7631.     //*** methods
  7632.     STDMETHOD(Remove)(THIS) PURE;
  7633.     STDMETHOD(BeginAlter)(THIS) PURE;
  7634.     STDMETHOD(DoAlter)(THIS) PURE;
  7635.     STDMETHOD(CancelAlter)(THIS) PURE;
  7636.     STDMETHOD(Script)(THIS_ SQLDMO_REPSCRIPT_TYPE ScriptType CPPDEFAULT(= SQLDMORepScript_Default), SQLDMO_LPCSTR ScriptFilePath CPPDEFAULT(= NULL), SQLDMO_LPBSTR ScriptText CPPDEFAULT(= NULL)) PURE;
  7637.     STDMETHOD(EnumJobInfo)(THIS_ LPSQLDMOQUERYRESULTS *ppResults) PURE;
  7638.     STDMETHOD(ReInitialize)(THIS) PURE;
  7639. };
  7640.  
  7641. ////////////////////////////////////////////////////////////////////////////////////
  7642. ////////////////////////////////////////////////////////////////////////////////////
  7643.  
  7644. #undef INTERFACE
  7645. #define INTERFACE ISQLDMOMergeSubsetFilters
  7646. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  7647. {
  7648.    //*** IUnknown methods
  7649.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  7650.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  7651.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  7652.  
  7653.     //*** SQLDMO standard object properties.
  7654.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  7655.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  7656.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  7657.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  7658.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  7659.  
  7660.     //*** SQLDMO standard enumeration properties
  7661.     STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLDMOMERGESUBSETFILTER *ppObj) PURE;
  7662.     STDMETHOD(GetItemByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOMERGESUBSETFILTER *ppObj) PURE;
  7663.     STDMETHOD(GetItemByID)(THIS_ long lID, LPSQLDMOMERGESUBSETFILTER *ppObj) PURE;
  7664.     STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  7665.  
  7666.     //*** SQLDMO standard collection methods
  7667.     STDMETHOD(Add)(THIS_ LPSQLDMOMERGESUBSETFILTER Object) PURE;
  7668.     STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  7669.     STDMETHOD(RemoveByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  7670.     STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  7671.  
  7672. };
  7673.  
  7674. #undef INTERFACE
  7675. #define INTERFACE ISQLDMOMergeSubsetFilter
  7676. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  7677. {
  7678.    //*** IUnknown methods
  7679.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  7680.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  7681.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  7682.  
  7683.     //*** SQLDMO standard object properties.
  7684.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  7685.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  7686.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  7687.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  7688.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  7689.  
  7690.     //*** properties
  7691.     STDMETHOD(GetName)(THIS_ LPBSTR pRetVal) PURE;
  7692.     STDMETHOD(SetName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  7693.     STDMETHOD(GetJoinArticleName)(THIS_ LPBSTR pRetVal) PURE;
  7694.     STDMETHOD(SetJoinArticleName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  7695.     STDMETHOD(GetJoinFilterClause)(THIS_ LPBSTR pRetVal) PURE;
  7696.     STDMETHOD(SetJoinFilterClause)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  7697.     STDMETHOD(GetID)(THIS_ LPLONG pRetVal) PURE;
  7698.     STDMETHOD(GetJoinUniqueKey)(THIS_ LPBOOL pRetVal) PURE;
  7699.     STDMETHOD(SetJoinUniqueKey)(THIS_ BOOL NewValue) PURE;
  7700.  
  7701.     //*** methods
  7702.     STDMETHOD(Remove)(THIS) PURE;
  7703.     STDMETHOD(BeginAlter)(THIS) PURE;
  7704.     STDMETHOD(DoAlter)(THIS) PURE;
  7705.     STDMETHOD(CancelAlter)(THIS) PURE;
  7706. };
  7707.  
  7708.  
  7709. ////////////////////////////////////////////////////////////////////////////////////
  7710. ////////////////////////////////////////////////////////////////////////////////////
  7711.  
  7712. #undef INTERFACE
  7713. #define INTERFACE ISQLDMODistributionPublishers
  7714. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  7715. {
  7716.    //*** IUnknown methods
  7717.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  7718.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  7719.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  7720.  
  7721.     //*** SQLDMO standard object properties.
  7722.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  7723.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  7724.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  7725.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  7726.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  7727.  
  7728.     //*** SQLDMO standard enumeration properties
  7729.     STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLDMODISTRIBUTIONPUBLISHER *ppObj) PURE;
  7730.     STDMETHOD(GetItemByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMODISTRIBUTIONPUBLISHER *ppObj) PURE;
  7731.     STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  7732.  
  7733.     //*** SQLDMO standard collection methods
  7734.     STDMETHOD(Add)(THIS_ LPSQLDMODISTRIBUTIONPUBLISHER Object) PURE;
  7735.     STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  7736.     STDMETHOD(RemoveByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  7737.     STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  7738.  
  7739.     //*** Collection specific methods
  7740.     STDMETHOD(Script)(THIS_ SQLDMO_REPSCRIPT_TYPE ScriptType CPPDEFAULT(= SQLDMORepScript_Default), SQLDMO_LPCSTR ScriptFilePath CPPDEFAULT(= NULL), SQLDMO_LPBSTR ScriptText CPPDEFAULT(= NULL)) PURE;
  7741. };
  7742.  
  7743. #undef INTERFACE
  7744. #define INTERFACE ISQLDMODistributionPublisher
  7745. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  7746. {
  7747.    //*** IUnknown methods
  7748.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  7749.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  7750.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  7751.  
  7752.     //*** SQLDMO standard object properties.
  7753.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  7754.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  7755.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  7756.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  7757.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  7758.  
  7759.     //*** properties
  7760.     STDMETHOD(GetName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  7761.     STDMETHOD(SetName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  7762.     STDMETHOD(GetDistributionDatabase)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  7763.     STDMETHOD(SetDistributionDatabase)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  7764.     STDMETHOD(GetPublisherSecurity)(THIS_ LPSQLDMOREPLICATIONSECURITY *ppPublisherSecurity) PURE;
  7765.     STDMETHOD(GetEnabled)(THIS_ LPBOOL pRetVal) PURE;
  7766.     STDMETHOD(GetDistributionWorkingDirectory)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  7767.     STDMETHOD(SetDistributionWorkingDirectory)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  7768.     STDMETHOD(GetTrustedDistributorConnection)(THIS_ LPBOOL pRetVal) PURE;
  7769.     STDMETHOD(SetTrustedDistributorConnection)(THIS_ BOOL NewValue) PURE;
  7770.     STDMETHOD(GetThirdParty)(THIS_ LPBOOL pRetVal) PURE;
  7771.     STDMETHOD(SetThirdParty)(THIS_ BOOL NewValue) PURE;
  7772.  
  7773.     //*** collection properties
  7774.     STDMETHOD(GetDistributionPublications)(THIS_ LPSQLDMODISTRIBUTIONPUBLICATIONS * ppDistributionPublications) PURE;
  7775.     STDMETHOD(GetDistributionPublicationByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMODISTRIBUTIONPUBLICATION *ppDistributionPublication, SQLDMO_LPCSTR szPubDB CPPDEFAULT(= NULL)) PURE;
  7776.     STDMETHOD(GetDistributionPublicationByOrd)(THIS_ long lOrdinal, LPSQLDMODISTRIBUTIONPUBLICATION *ppDistributionPublication) PURE;
  7777.     STDMETHOD(RemoveDistributionPublicationByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  7778.     STDMETHOD(RemoveDistributionPublicationByOrd)(THIS_ long lOrdinal) PURE;
  7779.     STDMETHOD(AddDistributionPublication)(THIS_ LPSQLDMODISTRIBUTIONPUBLICATION pDistributionPublication) PURE;
  7780.     STDMETHOD(GetDistributionPublicationCount)(THIS_ LPLONG plCount) PURE;
  7781.  
  7782.     //*** Collection properties
  7783.     STDMETHOD(GetRegisteredSubscribers)(THIS_ LPSQLDMOREGISTEREDSUBSCRIBERS * ppRegisteredSubscribers) PURE;
  7784.     STDMETHOD(GetRegisteredSubscriberByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOREGISTEREDSUBSCRIBER *ppRegisteredSubscriber) PURE;
  7785.     STDMETHOD(GetRegisteredSubscriberByOrd)(THIS_ long lOrdinal, LPSQLDMOREGISTEREDSUBSCRIBER *ppRegisteredSubscriber) PURE;
  7786.     STDMETHOD(RemoveRegisteredSubscriberByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  7787.     STDMETHOD(RemoveRegisteredSubscriberByOrd)(THIS_ long lOrdinal) PURE;
  7788.     STDMETHOD(AddRegisteredSubscriber)(THIS_ LPSQLDMOREGISTEREDSUBSCRIBER pRegisteredSubscriber) PURE;
  7789.     STDMETHOD(GetRegisteredSubscriberCount)(THIS_ LPLONG plCount) PURE;
  7790.  
  7791.     //*** methods
  7792.     STDMETHOD(Remove)(THIS) PURE;
  7793.     STDMETHOD(Refresh)(THIS) PURE;
  7794.     STDMETHOD(BeginAlter)(THIS) PURE;
  7795.     STDMETHOD(DoAlter)(THIS) PURE;
  7796.     STDMETHOD(CancelAlter)(THIS) PURE;
  7797.     STDMETHOD(Script)(THIS_ SQLDMO_REPSCRIPT_TYPE ScriptType CPPDEFAULT(= SQLDMORepScript_Default), SQLDMO_LPCSTR ScriptFilePath CPPDEFAULT(= NULL), SQLDMO_LPBSTR ScriptText CPPDEFAULT(= NULL)) PURE;
  7798.  
  7799.     /* Monitoring methods */
  7800.     STDMETHOD(EnumSnapshotAgentSessions)(THIS_ SQLDMO_LPCSTR AgentName, SQLDMO_SESSION_TYPE SessionType,  long SessionDuration, LPSQLDMOQUERYRESULTS *ppResults) PURE;
  7801.     STDMETHOD(EnumLogReaderAgentSessions)(THIS_ SQLDMO_LPCSTR AgentName, SQLDMO_SESSION_TYPE SessionType,  long SessionDuration, LPSQLDMOQUERYRESULTS *ppResults) PURE;
  7802.     STDMETHOD(EnumDistributionAgentSessions)(THIS_ SQLDMO_LPCSTR AgentName, SQLDMO_SESSION_TYPE SessionType,  long SessionDuration, LPSQLDMOQUERYRESULTS *ppResults) PURE;
  7803.     STDMETHOD(EnumMergeAgentSessions)(THIS_ SQLDMO_LPCSTR AgentName, SQLDMO_SESSION_TYPE SessionType,  long SessionDuration, LPSQLDMOQUERYRESULTS *ppResults) PURE;
  7804.     STDMETHOD(EnumSnapshotAgentSessionDetails)(THIS_ SQLDMO_LPCSTR AgentName, SQLDMO_LPCSTR SessionID, LPSQLDMOQUERYRESULTS *ppResults) PURE;
  7805.     STDMETHOD(EnumLogReaderAgentSessionDetails)(THIS_ SQLDMO_LPCSTR AgentName, SQLDMO_LPCSTR SessionID,  LPSQLDMOQUERYRESULTS *ppResults) PURE;
  7806.     STDMETHOD(EnumDistributionAgentSessionDetails)(THIS_ SQLDMO_LPCSTR AgentName,  SQLDMO_LPCSTR SessionID, LPSQLDMOQUERYRESULTS *ppResults) PURE;
  7807.     STDMETHOD(EnumMergeAgentSessionDetails)(THIS_ SQLDMO_LPCSTR AgentName,  SQLDMO_LPCSTR SessionID, LPSQLDMOQUERYRESULTS *ppResults) PURE;
  7808.     STDMETHOD(EnumAgentErrorRecords)(THIS_ LONG ErrorID, LPSQLDMOQUERYRESULTS *ppResults) PURE;
  7809.     STDMETHOD(GetAgentsStatus)(THIS_ SQLDMO_TASKSTATUS_TYPE *pRetVal, SQLDMO_LPBSTR pRetValTimeStamp CPPDEFAULT(= NULL)) PURE;    
  7810. };
  7811.  
  7812. ////////////////////////////////////////////////////////////////////////////////////
  7813. ////////////////////////////////////////////////////////////////////////////////////
  7814.  
  7815. #undef INTERFACE
  7816. #define INTERFACE ISQLDMORegisteredSubscribers
  7817. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  7818. {
  7819.    //*** IUnknown methods
  7820.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  7821.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  7822.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  7823.  
  7824.     //*** SQLDMO standard object properties.
  7825.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  7826.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  7827.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  7828.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  7829.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  7830.  
  7831.     //*** SQLDMO standard enumeration properties
  7832.     STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLDMOREGISTEREDSUBSCRIBER *ppObj) PURE;
  7833.     STDMETHOD(GetItemByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOREGISTEREDSUBSCRIBER *ppObj) PURE;
  7834.     STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  7835.  
  7836.     //*** SQLDMO standard collection methods
  7837.     STDMETHOD(Add)(THIS_ LPSQLDMOREGISTEREDSUBSCRIBER Object) PURE;
  7838.     STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  7839.     STDMETHOD(RemoveByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  7840.     STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  7841.  
  7842.     //*** Collection specific methods
  7843.     STDMETHOD(Script)(THIS_ SQLDMO_REPSCRIPT_TYPE ScriptType CPPDEFAULT(= SQLDMORepScript_Default), SQLDMO_LPCSTR ScriptFilePath CPPDEFAULT(= NULL), SQLDMO_LPBSTR ScriptText CPPDEFAULT(= NULL)) PURE;
  7844. };
  7845.  
  7846. #undef INTERFACE
  7847. #define INTERFACE ISQLDMORegisteredSubscriber
  7848. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  7849. {
  7850.    //*** IUnknown methods
  7851.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  7852.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  7853.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  7854.  
  7855.     //*** SQLDMO standard object properties.
  7856.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  7857.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  7858.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  7859.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  7860.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  7861.  
  7862.     //*** properties
  7863.     STDMETHOD(GetName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  7864.     STDMETHOD(SetName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  7865.     STDMETHOD(GetType)(THIS_ SQLDMO_SUBSCRIBER_TYPE *pRetVal) PURE;
  7866.     STDMETHOD(SetType)(THIS_ SQLDMO_SUBSCRIBER_TYPE NewValue) PURE;
  7867.     STDMETHOD(GetDescription)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  7868.     STDMETHOD(SetDescription)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  7869.     STDMETHOD(GetReplicationSecurity)(THIS_ LPSQLDMOREPLICATIONSECURITY *ppReplicationSecurity) PURE;
  7870.     STDMETHOD(GetDefaultDistributionSchedule)(THIS_ LPSQLDMOSCHEDULE *ppDistributionSchedule) PURE;
  7871.     STDMETHOD(GetDefaultMergeSchedule)(THIS_ LPSQLDMOSCHEDULE *ppMergeSchedule) PURE;
  7872.  
  7873.     //*** methods
  7874.     STDMETHOD(Remove)(THIS) PURE;
  7875.     STDMETHOD(Refresh)(THIS) PURE;
  7876.     STDMETHOD(BeginAlter)(THIS) PURE;
  7877.     STDMETHOD(DoAlter)(THIS) PURE;
  7878.     STDMETHOD(CancelAlter)(THIS) PURE;
  7879.     STDMETHOD(Script)(THIS_ SQLDMO_REPSCRIPT_TYPE ScriptType CPPDEFAULT(= SQLDMORepScript_Default), SQLDMO_LPCSTR ScriptFilePath CPPDEFAULT(= NULL), SQLDMO_LPBSTR ScriptText CPPDEFAULT(= NULL)) PURE;
  7880.  
  7881. };
  7882.  
  7883. ////////////////////////////////////////////////////////////////////////////////////
  7884. ////////////////////////////////////////////////////////////////////////////////////
  7885.  
  7886. #undef INTERFACE
  7887. #define INTERFACE ISQLDMOReplicationDatabases
  7888. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  7889. {
  7890.    //*** IUnknown methods
  7891.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  7892.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  7893.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  7894.  
  7895.     //*** SQLDMO standard object properties.
  7896.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  7897.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  7898.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  7899.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  7900.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  7901.  
  7902.     //*** SQLDMO standard enumeration properties
  7903.     STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLDMOREPLICATIONDATABASE *ppObj) PURE;
  7904.     STDMETHOD(GetItemByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOREPLICATIONDATABASE *ppObj) PURE;
  7905.     STDMETHOD(GetItemByID)(THIS_ long lID, LPSQLDMOREPLICATIONDATABASE *ppObj) PURE;
  7906.     STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  7907.  
  7908.     //*** SQLDMO standard collection methods 
  7909.     STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  7910.  
  7911.     //*** Collection specific methods
  7912.     STDMETHOD(Script)(THIS_ SQLDMO_REPSCRIPT_TYPE ScriptType CPPDEFAULT(= SQLDMORepScript_Default), SQLDMO_LPCSTR ScriptFilePath CPPDEFAULT(= NULL), SQLDMO_LPBSTR ScriptText CPPDEFAULT(= NULL)) PURE;
  7913. };
  7914.  
  7915. #undef INTERFACE
  7916. #define INTERFACE ISQLDMOReplicationDatabase
  7917. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  7918. {
  7919.    //*** IUnknown methods
  7920.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  7921.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  7922.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  7923.  
  7924.     //*** SQLDMO standard object properties.
  7925.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  7926.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  7927.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  7928.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  7929.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  7930.  
  7931.     //*** properties
  7932.     STDMETHOD(GetName)(THIS_ SQLDMO_LPBSTR pbstrName) PURE;
  7933.     STDMETHOD(GetEnableTransPublishing)(THIS_ LPBOOL pRetVal) PURE;
  7934.     STDMETHOD(SetEnableTransPublishing)(THIS_ BOOL NewValue) PURE;
  7935.     STDMETHOD(GetEnableMergePublishing)(THIS_ LPBOOL pRetVal) PURE;
  7936.     STDMETHOD(SetEnableMergePublishing)(THIS_ BOOL NewValue) PURE;
  7937.     STDMETHOD(GetDBOwner)(THIS_ LPBOOL pRetVal) PURE;
  7938.     STDMETHOD(GetAllowMergePublication)(THIS_ LPBOOL pRetVal) PURE;
  7939.  
  7940.     //*** Collection properties
  7941.     STDMETHOD(GetReplicationTables)(THIS_ LPSQLDMOREPLICATIONTABLES * ppReplicationTables) PURE;
  7942.     STDMETHOD(GetReplicationTableByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOREPLICATIONTABLE *ppReplicationTable, SQLDMO_LPCSTR szOwner CPPDEFAULT(= NULL)) PURE;
  7943.     STDMETHOD(GetReplicationTableByOrd)(THIS_ long lOrdinal, LPSQLDMOREPLICATIONTABLE *ppReplicationTable) PURE;
  7944.     STDMETHOD(GetReplicationTableCount)(THIS_ LPLONG plCount) PURE;
  7945.  
  7946.     STDMETHOD(GetReplicationStoredProcedures)(THIS_ LPSQLDMOREPLICATIONSTOREDPROCEDURES * ppReplicationStoredProcedures) PURE;
  7947.     STDMETHOD(GetReplicationStoredProcedureByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOREPLICATIONSTOREDPROCEDURE *ppReplicationStoredProcedure, SQLDMO_LPCSTR szOwner CPPDEFAULT(= NULL)) PURE;
  7948.     STDMETHOD(GetReplicationStoredProcedureByOrd)(THIS_ long lOrdinal, LPSQLDMOREPLICATIONSTOREDPROCEDURE *ppReplicationStoredProcedure) PURE;
  7949.     STDMETHOD(GetReplicationStoredProcedureCount)(THIS_ LPLONG plCount) PURE;
  7950.  
  7951.     STDMETHOD(GetTransPublications)(THIS_ LPSQLDMOTRANSPUBLICATIONS * ppTransPublications) PURE;
  7952.     STDMETHOD(GetTransPublicationByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOTRANSPUBLICATION *ppTransPublication) PURE;
  7953.     STDMETHOD(GetTransPublicationByOrd)(THIS_ long lOrdinal, LPSQLDMOTRANSPUBLICATION *ppTransPublication) PURE;
  7954.     STDMETHOD(RemoveTransPublicationByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  7955.     STDMETHOD(RemoveTransPublicationByOrd)(THIS_ long lOrdinal) PURE;
  7956.     STDMETHOD(AddTransPublication)(THIS_ LPSQLDMOTRANSPUBLICATION pTransPublication) PURE;
  7957.     STDMETHOD(GetTransPublicationCount)(THIS_ LPLONG plCount) PURE;
  7958.  
  7959.     STDMETHOD(GetMergePublications)(THIS_ LPSQLDMOMERGEPUBLICATIONS * ppMergePublications) PURE;
  7960.     STDMETHOD(GetMergePublicationByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOMERGEPUBLICATION *ppMergePublication) PURE;
  7961.     STDMETHOD(GetMergePublicationByOrd)(THIS_ long lOrdinal, LPSQLDMOMERGEPUBLICATION *ppMergePublication) PURE;
  7962.     STDMETHOD(RemoveMergePublicationByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  7963.     STDMETHOD(RemoveMergePublicationByOrd)(THIS_ long lOrdinal) PURE;
  7964.     STDMETHOD(AddMergePublication)(THIS_ LPSQLDMOMERGEPUBLICATION pMergePublication) PURE;
  7965.     STDMETHOD(GetMergePublicationCount)(THIS_ LPLONG plCount) PURE;
  7966.  
  7967.     STDMETHOD(GetTransPullSubscriptions)(THIS_ LPSQLDMOTRANSPULLSUBSCRIPTIONS * ppTransPullSubscriptions) PURE;
  7968.     STDMETHOD(GetTransPullSubscriptionByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOTRANSPULLSUBSCRIPTION *ppTransPullSubscription) PURE;
  7969.     STDMETHOD(GetTransPullSubscriptionByOrd)(THIS_ long lOrdinal, LPSQLDMOTRANSPULLSUBSCRIPTION *ppTransPullSubscription) PURE;
  7970.     STDMETHOD(RemoveTransPullSubscriptionByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  7971.     STDMETHOD(RemoveTransPullSubscriptionByOrd)(THIS_ long lOrdinal) PURE;
  7972.     STDMETHOD(AddTransPullSubscription)(THIS_ LPSQLDMOTRANSPULLSUBSCRIPTION pTransPullSubscription) PURE;
  7973.     STDMETHOD(GetTransPullSubscriptionCount)(THIS_ LPLONG plCount) PURE;
  7974.  
  7975.     STDMETHOD(GetMergePullSubscriptions)(THIS_ LPSQLDMOMERGEPULLSUBSCRIPTIONS * ppMergePullSubscriptions) PURE;
  7976.     STDMETHOD(GetMergePullSubscriptionByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOMERGEPULLSUBSCRIPTION *ppMergePullSubscription) PURE;
  7977.     STDMETHOD(GetMergePullSubscriptionByOrd)(THIS_ long lOrdinal, LPSQLDMOMERGEPULLSUBSCRIPTION *ppMergePullSubscription) PURE;
  7978.     STDMETHOD(RemoveMergePullSubscriptionByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  7979.     STDMETHOD(RemoveMergePullSubscriptionByOrd)(THIS_ long lOrdinal) PURE;
  7980.     STDMETHOD(AddMergePullSubscription)(THIS_ LPSQLDMOMERGEPULLSUBSCRIPTION pMergePullSubscription) PURE;
  7981.     STDMETHOD(GetMergePullSubscriptionCount)(THIS_ LPLONG plCount) PURE;
  7982.  
  7983.     //*** Methods
  7984.  
  7985.     //*** Used to setup the publisher side handshake for PULL subscriptions
  7986.     STDMETHOD(EnableTransSubscription)(SQLDMO_LPCSTR Subscriber, SQLDMO_LPCSTR SubscriptionDatabase,
  7987.         SQLDMO_LPCSTR Publication, SQLDMO_SUBSCRIPTION_TYPE SubscriptionType CPPDEFAULT(= SQLDMOSubscription_Pull), 
  7988.         SQLDMO_SUBSYNC_TYPE SyncType CPPDEFAULT(= SQLDMOSubSync_Auto), 
  7989.         SQLDMO_TRANSUBSCRIBER_TYPE SubscriberType CPPDEFAULT(= SQLDMOTranSubscriber_ReadOnly)) PURE;
  7990.     STDMETHOD(DisableTransSubscription)(SQLDMO_LPCSTR Subscriber, SQLDMO_LPCSTR SubscriptionDatabase, SQLDMO_LPCSTR Publication) PURE;
  7991.     STDMETHOD(EnableMergeSubscription)(SQLDMO_LPCSTR Subscriber, SQLDMO_LPCSTR SubscriptionDatabase,
  7992.         SQLDMO_LPCSTR Publication, SQLDMO_SUBSCRIPTION_TYPE SubscriptionType CPPDEFAULT(= SQLDMOSubscription_Pull), 
  7993.         SQLDMO_SUBSYNC_TYPE SyncType CPPDEFAULT(= SQLDMOSubSync_Auto), 
  7994.         SQLDMO_MERGESUBSCRIBER_TYPE SubscriberType CPPDEFAULT(= SQLDMOMergeSubscriber_Local), 
  7995.         float SubscriptionPriority CPPDEFAULT(= 0.0)) PURE;
  7996.     STDMETHOD(DisableMergeSubscription)(SQLDMO_LPCSTR Subscriber, SQLDMO_LPCSTR SubscriptionDatabase, SQLDMO_LPCSTR Publication) PURE;
  7997.     STDMETHOD(Script)(THIS_ SQLDMO_REPSCRIPT_TYPE ScriptType CPPDEFAULT(= SQLDMORepScript_Default), SQLDMO_LPCSTR ScriptFilePath CPPDEFAULT(= NULL), SQLDMO_LPBSTR ScriptText CPPDEFAULT(= NULL)) PURE;
  7998.     STDMETHOD(RefreshChildren)(THIS) PURE;
  7999.     STDMETHOD(EnumConflictTables)(THIS_ LPSQLDMOQUERYRESULTS *ppResults, SQLDMO_LPCSTR Publication CPPDEFAULT(= NULL)) PURE;
  8000.     STDMETHOD(EnumInitialAccesses)(THIS_ LPSQLDMOQUERYRESULTS *ppResults) PURE;
  8001. };
  8002.  
  8003. #undef INTERFACE
  8004. #define INTERFACE ISQLDMODistributionDatabases
  8005. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  8006. {
  8007.    //*** IUnknown methods
  8008.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  8009.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  8010.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  8011.  
  8012.     //*** SQLDMO standard object properties.
  8013.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  8014.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  8015.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  8016.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  8017.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  8018.  
  8019.     //*** SQLDMO standard enumeration properties
  8020.     STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLDMODISTRIBUTIONDATABASE *ppObj) PURE;
  8021.     STDMETHOD(GetItemByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMODISTRIBUTIONDATABASE *ppObj) PURE;
  8022.     STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  8023.  
  8024.     //*** SQLDMO standard collection methods
  8025.     STDMETHOD(Add)(THIS_ LPSQLDMODISTRIBUTIONDATABASE Object) PURE;
  8026.     STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  8027.     STDMETHOD(RemoveByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  8028.     STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  8029.  
  8030.     //*** Collection specific methods
  8031.     STDMETHOD(Script)(THIS_ SQLDMO_REPSCRIPT_TYPE ScriptType CPPDEFAULT(= SQLDMORepScript_Default), SQLDMO_LPCSTR ScriptFilePath CPPDEFAULT(= NULL), SQLDMO_LPBSTR ScriptText CPPDEFAULT(= NULL)) PURE;
  8032. };
  8033.  
  8034. #undef INTERFACE
  8035. #define INTERFACE ISQLDMODistributionDatabase
  8036. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  8037. {
  8038.    //*** IUnknown methods
  8039.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  8040.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  8041.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  8042.  
  8043.     //*** SQLDMO standard object properties.
  8044.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  8045.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  8046.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  8047.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  8048.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  8049.  
  8050.     //*** properties
  8051.     STDMETHOD(GetName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  8052.     STDMETHOD(SetName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  8053.     STDMETHOD(GetMinDistributionRetention)(THIS_ LPDWORD pRetVal) PURE;
  8054.     STDMETHOD(SetMinDistributionRetention)(THIS_ DWORD NewValue) PURE;
  8055.     STDMETHOD(GetMaxDistributionRetention)(THIS_ LPDWORD pRetVal) PURE;
  8056.     STDMETHOD(SetMaxDistributionRetention)(THIS_ DWORD NewValue) PURE;
  8057.     STDMETHOD(GetHistoryRetention)(THIS_ LPDWORD pRetVal) PURE;
  8058.     STDMETHOD(SetHistoryRetention)(THIS_ DWORD NewValue) PURE;
  8059.     STDMETHOD(GetHistoryCleanupTaskName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  8060.     STDMETHOD(GetDistributionCleanupTaskName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  8061.     STDMETHOD(GetAgentsStatus)(THIS_ SQLDMO_TASKSTATUS_TYPE *pRetVal) PURE;
  8062.     STDMETHOD(GetDataFolder)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  8063.     STDMETHOD(SetDataFolder)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  8064.     STDMETHOD(GetDataFile)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  8065.     STDMETHOD(SetDataFile)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  8066.     STDMETHOD(GetDataFileSize)(THIS_ LPDWORD pRetVal) PURE;
  8067.     STDMETHOD(SetDataFileSize)(THIS_ DWORD NewValue) PURE;
  8068.     STDMETHOD(GetLogFolder)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  8069.     STDMETHOD(SetLogFolder)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  8070.     STDMETHOD(GetLogFile)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  8071.     STDMETHOD(SetLogFile)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  8072.     STDMETHOD(GetLogFileSize)(THIS_ LPDWORD pRetVal) PURE;
  8073.     STDMETHOD(SetLogFileSize)(THIS_ DWORD NewValue) PURE;
  8074.     STDMETHOD(SetSecurityMode)(THIS_ SQLDMO_SECURITY_TYPE NewValue) PURE;
  8075.     STDMETHOD(SetStandardLogin)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  8076.     STDMETHOD(SetStandardPassword)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  8077.  
  8078.     //*** methods
  8079.     STDMETHOD(Remove)(THIS) PURE;
  8080.     STDMETHOD(Refresh)(THIS) PURE;
  8081.     STDMETHOD(BeginAlter)(THIS) PURE;
  8082.     STDMETHOD(DoAlter)(THIS) PURE;
  8083.     STDMETHOD(CancelAlter)(THIS) PURE;
  8084.     STDMETHOD(Script)(THIS_ SQLDMO_REPSCRIPT_TYPE ScriptType CPPDEFAULT(= SQLDMORepScript_Default), SQLDMO_LPCSTR ScriptFilePath CPPDEFAULT(= NULL), SQLDMO_LPBSTR ScriptText CPPDEFAULT(= NULL)) PURE;
  8085. };
  8086.  
  8087. ////////////////////////////////////////////////////////////////////////////////////
  8088. ////////////////////////////////////////////////////////////////////////////////////
  8089.  
  8090. #undef INTERFACE
  8091. #define INTERFACE ISQLDMOReplication
  8092. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  8093. {
  8094.    //*** IUnknown methods
  8095.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  8096.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  8097.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  8098.  
  8099.     //*** SQLDMO standard object properties.
  8100.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  8101.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  8102.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  8103.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  8104.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  8105.  
  8106.     //*** properties
  8107.     STDMETHOD(GetPublisher)(THIS_ LPSQLDMOPUBLISHER *pPublisher) PURE;
  8108.     STDMETHOD(GetSubscriber)(THIS_ LPSQLDMOSUBSCRIBER *pSubscriber) PURE;
  8109.     STDMETHOD(GetDistributor)(THIS_ LPSQLDMODISTRIBUTOR *pDistributor) PURE;
  8110.  
  8111.     //*** Collection properties
  8112.     STDMETHOD(GetReplicationDatabases)(THIS_ LPSQLDMOREPLICATIONDATABASES * ppReplicationDatabases) PURE;
  8113.     STDMETHOD(GetReplicationDatabaseByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOREPLICATIONDATABASE *ppReplicationDatabase) PURE;
  8114.     STDMETHOD(GetReplicationDatabaseByOrd)(THIS_ long lOrdinal, LPSQLDMOREPLICATIONDATABASE *ppReplicationDatabase) PURE;
  8115.     STDMETHOD(GetReplicationDatabaseCount)(THIS_ LPLONG plCount) PURE;
  8116.  
  8117.        //*** methods
  8118.     STDMETHOD(Script)(THIS_ SQLDMO_REPSCRIPT_TYPE ScriptType CPPDEFAULT(= SQLDMORepScript_Default), SQLDMO_LPCSTR ScriptFilePath CPPDEFAULT(= NULL), SQLDMO_LPBSTR ScriptText CPPDEFAULT(= NULL)) PURE;
  8119.     STDMETHOD(EnumDataSourceNames)(THIS_ LPSQLDMOQUERYRESULTS *ppResults) PURE;
  8120.     STDMETHOD(Uninstall)(THIS_ BOOL bIgnoreDistributor = FALSE) PURE;
  8121.     STDMETHOD(EnumCustomResolvers)(THIS_ SQLDMO_LPCSTR Distributor, LPSQLDMOQUERYRESULTS *ppResults) PURE;
  8122.     STDMETHOD(ValidateDataSource)(THIS_ SQLDMO_LPCSTR DataSourceName, SQLDMO_LPCSTR Login, SQLDMO_LPCSTR Password, SQLDMO_SUBSCRIBER_TYPE SubscriberType CPPDEFAULT(= SQLDMOSubInfo_ODBCDatasource)) PURE;
  8123. };
  8124.  
  8125. ////////////////////////////////////////////////////////////////////////////////////
  8126. ////////////////////////////////////////////////////////////////////////////////////
  8127.  
  8128. #undef INTERFACE
  8129. #define INTERFACE ISQLDMOPublisher
  8130. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  8131. {
  8132.    //*** IUnknown methods
  8133.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  8134.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  8135.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  8136.  
  8137.     //*** SQLDMO standard object properties.
  8138.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  8139.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  8140.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  8141.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  8142.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  8143.  
  8144.     //*** Collection properties
  8145.     STDMETHOD(GetRegisteredSubscribers)(THIS_ LPSQLDMOREGISTEREDSUBSCRIBERS * ppRegisteredSubscribers) PURE;
  8146.     STDMETHOD(GetRegisteredSubscriberByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOREGISTEREDSUBSCRIBER *ppRegisteredSubscriber) PURE;
  8147.     STDMETHOD(GetRegisteredSubscriberByOrd)(THIS_ long lOrdinal, LPSQLDMOREGISTEREDSUBSCRIBER *ppRegisteredSubscriber) PURE;
  8148.     STDMETHOD(RemoveRegisteredSubscriberByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  8149.     STDMETHOD(RemoveRegisteredSubscriberByOrd)(THIS_ long lOrdinal) PURE;
  8150.     STDMETHOD(AddRegisteredSubscriber)(THIS_ LPSQLDMOREGISTEREDSUBSCRIBER pRegisteredSubscriber) PURE;
  8151.     STDMETHOD(GetRegisteredSubscriberCount)(THIS_ LPLONG plCount) PURE;
  8152.  
  8153.        //*** methods
  8154.     STDMETHOD(Script)(THIS_ SQLDMO_REPSCRIPT_TYPE ScriptType CPPDEFAULT(= SQLDMORepScript_Default), SQLDMO_LPCSTR ScriptFilePath CPPDEFAULT(= NULL), SQLDMO_LPBSTR ScriptText CPPDEFAULT(= NULL)) PURE;
  8155.     STDMETHOD(Uninstall)(THIS) PURE;
  8156.     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;
  8157. };
  8158.  
  8159. ////////////////////////////////////////////////////////////////////////////////////
  8160. ////////////////////////////////////////////////////////////////////////////////////
  8161.  
  8162. #undef INTERFACE
  8163. #define INTERFACE ISQLDMOSubscriber
  8164. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  8165. {
  8166.    //*** IUnknown methods
  8167.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  8168.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  8169.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  8170.  
  8171.     //*** SQLDMO standard object properties.
  8172.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  8173.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  8174.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  8175.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  8176.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  8177.  
  8178.     //*** methods
  8179.     STDMETHOD(Script)(THIS_ SQLDMO_REPSCRIPT_TYPE ScriptType CPPDEFAULT(= SQLDMORepScript_Default), SQLDMO_LPCSTR ScriptFilePath CPPDEFAULT(= NULL), SQLDMO_LPBSTR ScriptText CPPDEFAULT(= NULL)) PURE;
  8180. };
  8181.  
  8182. ////////////////////////////////////////////////////////////////////////////////////
  8183. ////////////////////////////////////////////////////////////////////////////////////
  8184.  
  8185. #undef INTERFACE
  8186. #define INTERFACE ISQLDMODistributor
  8187. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  8188. {
  8189.    //*** IUnknown methods
  8190.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  8191.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  8192.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  8193.  
  8194.     //*** SQLDMO standard object properties.
  8195.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  8196.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  8197.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  8198.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  8199.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  8200.  
  8201.     //*** properties
  8202.     STDMETHOD(GetDistributorInstalled)(THIS_ LPBOOL pbDistributorInstalled) PURE;
  8203.     STDMETHOD(GetDistributorAvailable)(THIS_ LPBOOL pbDistributorAvailable) PURE;
  8204.     STDMETHOD(GetDistributorLocal)(THIS_ LPBOOL pbDistributorLocal) PURE;
  8205.     STDMETHOD(GetDistributionServer)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  8206.     STDMETHOD(SetDistributionServer)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  8207.     STDMETHOD(GetDistributionDatabase)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  8208.     STDMETHOD(GetAgentCheckupInterval)(THIS_ LPLONG pRetVal) PURE;
  8209.     STDMETHOD(SetAgentCheckupInterval)(THIS_ long lVal) PURE;
  8210.     STDMETHOD(GetIsDistributionPublisher)(THIS_ LPBOOL pIsDistributionPublisher) PURE;
  8211.     STDMETHOD(GetHasRemoteDistributionPublisher)(THIS_ LPBOOL pHasRemoteDistributionPublisher) PURE;
  8212.  
  8213.     //*** Collection properties
  8214.     STDMETHOD(GetDistributionPublishers)(THIS_ LPSQLDMODISTRIBUTIONPUBLISHERS * ppDistributionPublishers) PURE;
  8215.     STDMETHOD(GetDistributionPublisherByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMODISTRIBUTIONPUBLISHER *ppDistributionPublisher) PURE;
  8216.     STDMETHOD(GetDistributionPublisherByOrd)(THIS_ long lOrdinal, LPSQLDMODISTRIBUTIONPUBLISHER *ppDistributionPublisher) PURE;
  8217.     STDMETHOD(RemoveDistributionPublisherByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  8218.     STDMETHOD(RemoveDistributionPublisherByOrd)(THIS_ long lOrdinal) PURE;
  8219.     STDMETHOD(AddDistributionPublisher)(THIS_ LPSQLDMODISTRIBUTIONPUBLISHER pDistributionPublisher) PURE;
  8220.     STDMETHOD(GetDistributionPublisherCount)(THIS_ LPLONG plCount) PURE;
  8221.  
  8222.     STDMETHOD(GetDistributionDatabases)(THIS_ LPSQLDMODISTRIBUTIONDATABASES * ppDistributionDatabases) PURE;
  8223.     STDMETHOD(GetDistributionDatabaseByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMODISTRIBUTIONDATABASE *ppDistributionDatabase) PURE;
  8224.     STDMETHOD(GetDistributionDatabaseByOrd)(THIS_ long lOrdinal, LPSQLDMODISTRIBUTIONDATABASE *ppDistributionDatabase) PURE;
  8225.     STDMETHOD(RemoveDistributionDatabaseByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  8226.     STDMETHOD(RemoveDistributionDatabaseByOrd)(THIS_ long lOrdinal) PURE;
  8227.     STDMETHOD(AddDistributionDatabase)(THIS_ LPSQLDMODISTRIBUTIONDATABASE pDistributionDatabase) PURE;
  8228.     STDMETHOD(GetDistributionDatabaseCount)(THIS_ LPLONG plCount) PURE;
  8229.  
  8230.        //*** methods
  8231.     STDMETHOD(Refresh)(THIS) PURE;
  8232.     STDMETHOD(Install)(THIS) PURE;
  8233.     STDMETHOD(Uninstall)(THIS) PURE;
  8234.     STDMETHOD(Script)(THIS_ SQLDMO_REPSCRIPT_TYPE ScriptType CPPDEFAULT(= SQLDMORepScript_InstallDistributor), SQLDMO_LPCSTR ScriptFilePath CPPDEFAULT(= NULL), SQLDMO_LPBSTR ScriptText CPPDEFAULT(= NULL)) PURE;
  8235.  
  8236.     STDMETHOD(EnumSnapshotAgentViews)(THIS_ LPSQLDMOQUERYRESULTS *ppResults) PURE;
  8237.     STDMETHOD(EnumLogReaderAgentViews)(THIS_ LPSQLDMOQUERYRESULTS *ppResults) PURE;
  8238.     STDMETHOD(EnumDistributionAgentViews)(THIS_ LPSQLDMOQUERYRESULTS *ppResults) PURE;
  8239.     STDMETHOD(EnumMergeAgentViews)(THIS_ LPSQLDMOQUERYRESULTS *ppResults) PURE;
  8240.     STDMETHOD(EnumMiscellaneousAgentViews)(THIS_ LPSQLDMOQUERYRESULTS *ppResults) PURE;
  8241.     STDMETHOD(CreateAgentProfile)(THIS_ SQLDMO_LPCSTR szName, SQLDMO_LPCSTR szDescription, SQLDMO_REPLAGENT_TYPE AgentType, long *plProfileID) PURE;
  8242.     STDMETHOD(DeleteAgentProfile)(THIS_ long lProfileID) PURE;
  8243.     STDMETHOD(ChangeAgentProfile)(THIS_ long lProfileID, SQLDMO_LPCSTR szDescription) PURE;
  8244.     STDMETHOD(EnumAgentProfiles)(THIS_ LPSQLDMOQUERYRESULTS *ppResults, SQLDMO_REPLAGENT_TYPE AgentType CPPDEFAULT(= SQLDMOReplAgent_All)) PURE;
  8245.     STDMETHOD(ChangeAgentParameter)(THIS_ long lProfileID, SQLDMO_LPCSTR szParameterName, SQLDMO_LPCSTR szParameterValue) PURE;
  8246.     STDMETHOD(EnumAgentParameters)(THIS_ LPSQLDMOQUERYRESULTS *ppResults, long lProfileID) PURE;
  8247.     STDMETHOD(UpdateAgentProfile)(THIS_ SQLDMO_LPCSTR DistributionDBName, SQLDMO_REPLAGENT_TYPE AgentType, long lAgentID, long lProfileID) PURE;
  8248.     STDMETHOD(UpdateDefaultAgentProfile)(THIS_ long lProfileID) PURE;
  8249.     STDMETHOD(GetAgentsStatus)(THIS_ SQLDMO_REPLAGENT_TYPE AgentType, SQLDMO_TASKSTATUS_TYPE *pRetValStatus, SQLDMO_LPBSTR pRetValTimeStamp CPPDEFAULT(= NULL)) PURE;
  8250.     STDMETHOD(CleanUpDistributionPublisherByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  8251.     STDMETHOD(SetUpDistributorPassword)(THIS_ SQLDMO_LPCSTR pszPassword) PURE;
  8252.     STDMETHOD(EnumThirdPartyPublications)(THIS_ LPSQLDMOQUERYRESULTS *ppResults, LPCTSTR DistributionDBName CPPDEFAULT(= NULL)) PURE;
  8253. };
  8254.  
  8255. ////////////////////////////////////////////////////////////////////////////////////
  8256. ////////////////////////////////////////////////////////////////////////////////////
  8257.  
  8258. #undef INTERFACE
  8259. #define INTERFACE ISQLDMOReplicationSecurity
  8260. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  8261. {
  8262.     STDMETHOD(GetSecurityMode)(THIS_ SQLDMO_REPLSECURITY_TYPE *pRetVal) PURE;
  8263.     STDMETHOD(SetSecurityMode)(THIS_ SQLDMO_REPLSECURITY_TYPE NewValue) PURE;
  8264.     STDMETHOD(GetStandardLogin)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  8265.     STDMETHOD(SetStandardLogin)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  8266.     STDMETHOD(GetStandardPassword)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  8267.     STDMETHOD(SetStandardPassword)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  8268. };
  8269.  
  8270. ////////////////////////////////////////////////////////////////////////////////////
  8271. ////////////////////////////////////////////////////////////////////////////////////
  8272.  
  8273. #undef INTERFACE
  8274. #define INTERFACE ISQLDMOReplicationTables
  8275. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  8276. {
  8277.    //*** IUnknown methods
  8278.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  8279.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  8280.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  8281.  
  8282.     //*** SQLDMO standard object properties.
  8283.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  8284.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  8285.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  8286.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  8287.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  8288.  
  8289.     //*** SQLDMO standard enumeration properties
  8290.     STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLDMOREPLICATIONTABLE *ppObj) PURE;
  8291.     STDMETHOD(GetItemByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOREPLICATIONTABLE *ppObj, SQLDMO_LPCSTR szOwner CPPDEFAULT(= NULL)) PURE;
  8292.     STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  8293.  
  8294.     //*** SQLDMO standard collection methods
  8295.     STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  8296. };
  8297.  
  8298. #undef INTERFACE
  8299.  
  8300. #define INTERFACE ISQLDMOReplicationTable
  8301. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  8302. {
  8303.    //*** IUnknown methods
  8304.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  8305.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  8306.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  8307.  
  8308.     //*** SQLDMO standard object properties.
  8309.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  8310.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  8311.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  8312.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  8313.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  8314.  
  8315.     //*** properties
  8316.     STDMETHOD(GetName)(THIS_ SQLDMO_LPBSTR pbstrName) PURE;
  8317.     STDMETHOD(GetOwner)(THIS_ SQLDMO_LPBSTR pbstrOwner) PURE;
  8318.     STDMETHOD(GetHasPrimaryKey)(THIS_ LPBOOL pRetVal) PURE;
  8319.     STDMETHOD(GetHasGuidColumn)(THIS_ LPBOOL pRetVal) PURE;
  8320.     STDMETHOD(GetHasTimeStampColumn)(THIS_ LPBOOL pRetVal) PURE;
  8321.  
  8322.     //*** Collection properties
  8323.     STDMETHOD(GetColumns)(THIS_ LPSQLDMOCOLUMNS * ppColumns) PURE;
  8324.     STDMETHOD(GetColumnByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOCOLUMN *ppColumn) PURE;
  8325.     STDMETHOD(GetColumnByOrd)(THIS_ long lOrdinal, LPSQLDMOCOLUMN *ppColumn) PURE;
  8326.     STDMETHOD(GetColumnCount)(THIS_ LPLONG plCount) PURE;
  8327.  
  8328.     STDMETHOD(EnumPublicationArticles)(THIS_ LPSQLDMOQUERYRESULTS *ppResults CPPDEFAULT(= NULL)) PURE;
  8329.  
  8330. };
  8331.  
  8332. ////////////////////////////////////////////////////////////////////////////////////
  8333. ////////////////////////////////////////////////////////////////////////////////////
  8334.  
  8335. #undef INTERFACE
  8336. #define INTERFACE ISQLDMOReplicationStoredProcedures
  8337. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  8338. {
  8339.    //*** IUnknown methods
  8340.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  8341.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  8342.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  8343.  
  8344.     //*** SQLDMO standard object properties.
  8345.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  8346.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  8347.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  8348.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  8349.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  8350.  
  8351.     //*** SQLDMO standard enumeration properties
  8352.     STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLDMOREPLICATIONSTOREDPROCEDURE *ppObj) PURE;
  8353.     STDMETHOD(GetItemByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOREPLICATIONSTOREDPROCEDURE *ppObj, SQLDMO_LPCSTR szOwner CPPDEFAULT(= NULL)) PURE;
  8354.     STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  8355.  
  8356.     //*** SQLDMO standard collection methods
  8357.     STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  8358. };
  8359.  
  8360. #undef INTERFACE
  8361.  
  8362. #define INTERFACE ISQLDMOReplicationStoredProcedure
  8363. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  8364. {
  8365.    //*** IUnknown methods
  8366.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  8367.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  8368.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  8369.  
  8370.     //*** SQLDMO standard object properties.
  8371.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  8372.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  8373.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  8374.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  8375.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  8376.  
  8377.     //*** properties
  8378.     STDMETHOD(GetName)(THIS_ SQLDMO_LPBSTR pbstrName) PURE;
  8379.     STDMETHOD(GetSystemObject)(THIS_ LPBOOL pRetVal) PURE;
  8380.     STDMETHOD(GetOwner)(THIS_ SQLDMO_LPBSTR pbstrOwner) PURE;
  8381.  
  8382.        STDMETHOD(EnumPublicationArticles)(THIS_ LPSQLDMOQUERYRESULTS *ppResults CPPDEFAULT(= NULL)) PURE;
  8383.     STDMETHOD(EnumDependencies)(THIS_ LPSQLDMOQUERYRESULTS *ppResults, SQLDMO_DEPENDENCY_TYPE DependencyType CPPDEFAULT(= SQLDMODep_Parents)) PURE;
  8384.  
  8385. };
  8386.  
  8387. ////////////////////////////////////////////////////////////////////////////////////
  8388. ////////////////////////////////////////////////////////////////////////////////////
  8389.  
  8390. #undef INTERFACE
  8391.  
  8392. #define INTERFACE ISQLDMODistributionPublications
  8393. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  8394. {
  8395.    //*** IUnknown methods
  8396.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  8397.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  8398.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  8399.  
  8400.     //*** SQLDMO standard object properties.
  8401.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  8402.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  8403.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  8404.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  8405.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  8406.  
  8407.     //*** SQLDMO standard enumeration properties
  8408.     STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLDMODISTRIBUTIONPUBLICATION *ppObj) PURE;
  8409.     STDMETHOD(GetItemByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMODISTRIBUTIONPUBLICATION *ppObj, SQLDMO_LPCSTR szPubDB CPPDEFAULT(= NULL)) PURE;
  8410.     STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  8411.  
  8412.     //*** SQLDMO standard collection methods
  8413.     STDMETHOD(Add)(THIS_ LPSQLDMODISTRIBUTIONPUBLICATION Object) PURE;
  8414.     STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  8415.     STDMETHOD(RemoveByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  8416.     STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  8417. };
  8418.  
  8419. #undef INTERFACE
  8420.  
  8421. #define INTERFACE ISQLDMODistributionPublication
  8422. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  8423. {
  8424.    //*** IUnknown methods
  8425.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  8426.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  8427.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  8428.  
  8429.     //*** SQLDMO standard object properties.
  8430.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  8431.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  8432.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  8433.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  8434.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  8435.  
  8436.     //*** Object properties
  8437.     STDMETHOD(GetName)(THIS_ LPBSTR pRetVal) PURE;
  8438.     STDMETHOD(SetName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  8439.     STDMETHOD(GetID)(THIS_ LPLONG pRetVal) PURE;
  8440.     STDMETHOD(GetPublicationDB)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  8441.     STDMETHOD(SetPublicationDB)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  8442.     STDMETHOD(GetPublicationType)(THIS_ SQLDMO_PUBLICATION_TYPE FAR* pRetVal) PURE;
  8443.     STDMETHOD(SetPublicationType)(THIS_ SQLDMO_PUBLICATION_TYPE NewValue) PURE;
  8444.     STDMETHOD(GetPublicationAttributes)(THIS_ SQLDMO_PUBATTRIB_TYPE *pRetVal) PURE;
  8445.     STDMETHOD(SetPublicationAttributes)(THIS_ SQLDMO_PUBATTRIB_TYPE NewValue) PURE;
  8446.     STDMETHOD(GetSnapshotAgent)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  8447.     STDMETHOD(SetSnapshotAgent)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  8448.     STDMETHOD(GetLogReaderAgent)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  8449.     STDMETHOD(SetLogReaderAgent)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  8450.     STDMETHOD(GetDescription)(THIS_ LPBSTR pRetVal) PURE;
  8451.     STDMETHOD(SetDescription)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  8452.     STDMETHOD(GetVendorName)(THIS_ LPBSTR pRetVal) PURE;
  8453.     STDMETHOD(SetVendorName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  8454.  
  8455.     //*** Collection properties
  8456.     STDMETHOD(GetDistributionArticles)(THIS_ LPSQLDMODISTRIBUTIONARTICLES * ppDistributionArticles) PURE;
  8457.     STDMETHOD(GetDistributionArticleByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMODISTRIBUTIONARTICLE *ppDistributionArticle) PURE;
  8458.     STDMETHOD(GetDistributionArticleByOrd)(THIS_ long lOrdinal, LPSQLDMODISTRIBUTIONARTICLE *ppDistributionArticle) PURE;
  8459.     STDMETHOD(RemoveDistributionArticleByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  8460.     STDMETHOD(RemoveDistributionArticleByOrd)(THIS_ long lOrdinal) PURE;
  8461.     STDMETHOD(AddDistributionArticle)(THIS_ LPSQLDMODISTRIBUTIONARTICLE pDistributionArticle) PURE;
  8462.     STDMETHOD(GetDistributionArticleCount)(THIS_ LPLONG plCount) PURE;
  8463.  
  8464.     STDMETHOD(GetDistributionSubscriptions)(THIS_ LPSQLDMODISTRIBUTIONSUBSCRIPTIONS * ppDistributionSubscriptions) PURE;
  8465.     STDMETHOD(GetDistributionSubscriptionByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMODISTRIBUTIONSUBSCRIPTION *ppDistributionSubscription) PURE;
  8466.     STDMETHOD(GetDistributionSubscriptionByOrd)(THIS_ long lOrdinal, LPSQLDMODISTRIBUTIONSUBSCRIPTION *ppDistributionSubscription) PURE;
  8467.     STDMETHOD(RemoveDistributionSubscriptionByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  8468.     STDMETHOD(RemoveDistributionSubscriptionByOrd)(THIS_ long lOrdinal) PURE;
  8469.     STDMETHOD(AddDistributionSubscription)(THIS_ LPSQLDMODISTRIBUTIONSUBSCRIPTION pDistributionSubscription) PURE;
  8470.     STDMETHOD(GetDistributionSubscriptionCount)(THIS_ LPLONG plCount) PURE;
  8471.  
  8472.     //*** methods
  8473.     STDMETHOD(Remove)(THIS) PURE;
  8474.     STDMETHOD(BeginAlter)(THIS) PURE;
  8475.     STDMETHOD(DoAlter)(THIS) PURE;
  8476.     STDMETHOD(CancelAlter)(THIS) PURE;
  8477.     STDMETHOD(EnumSubscriptionViews)(THIS_ LPSQLDMOQUERYRESULTS *ppResults) PURE;
  8478.     STDMETHOD(EnumSnapshotAgentView)(THIS_ LPSQLDMOQUERYRESULTS *ppResults) PURE;
  8479.     STDMETHOD(EnumLogReaderAgentView)(THIS_ LPSQLDMOQUERYRESULTS *ppResults) PURE;
  8480.     STDMETHOD(GetAgentsStatus)(THIS_ SQLDMO_TASKSTATUS_TYPE FAR* pRetValStatus, SQLDMO_LPBSTR pRetValTimeStamp CPPDEFAULT(= NULL)) PURE;
  8481. };
  8482.  
  8483. ////////////////////////////////////////////////////////////////////////////////////
  8484. ////////////////////////////////////////////////////////////////////////////////////
  8485.  
  8486. #undef INTERFACE
  8487. #define INTERFACE ISQLDMODistributionArticles
  8488. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  8489. {
  8490.    //*** IUnknown methods
  8491.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  8492.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  8493.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  8494.  
  8495.     //*** SQLDMO standard object properties.
  8496.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  8497.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  8498.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  8499.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  8500.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  8501.  
  8502.     //*** SQLDMO standard enumeration properties
  8503.     STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLDMODISTRIBUTIONARTICLE *ppObj) PURE;
  8504.     STDMETHOD(GetItemByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMODISTRIBUTIONARTICLE *ppObj) PURE;
  8505.     STDMETHOD(GetItemByID)(THIS_ long lID, LPSQLDMODISTRIBUTIONARTICLE *ppObj) PURE;
  8506.     STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  8507.  
  8508.     //*** SQLDMO standard collection methods
  8509.     STDMETHOD(Add)(THIS_ LPSQLDMODISTRIBUTIONARTICLE Object) PURE;
  8510.     STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  8511.     STDMETHOD(RemoveByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  8512.     STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  8513. };
  8514.  
  8515. #undef INTERFACE
  8516. #define INTERFACE ISQLDMODistributionArticle
  8517. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  8518. {
  8519.    //*** IUnknown methods
  8520.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  8521.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  8522.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  8523.  
  8524.     //*** SQLDMO standard object properties.
  8525.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  8526.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  8527.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  8528.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  8529.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  8530.  
  8531.     //*** properties
  8532.     STDMETHOD(GetName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  8533.     STDMETHOD(SetName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  8534.     STDMETHOD(GetID)(THIS_ LPLONG pRetVal) PURE;
  8535.     STDMETHOD(GetSourceObjectOwner)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  8536.     STDMETHOD(SetSourceObjectOwner)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  8537.     STDMETHOD(GetSourceObjectName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  8538.     STDMETHOD(SetSourceObjectName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  8539.     STDMETHOD(GetDescription)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  8540.     STDMETHOD(SetDescription)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  8541.  
  8542.     //*** methods
  8543.     STDMETHOD(Remove)(THIS) PURE;
  8544.     STDMETHOD(BeginAlter)(THIS) PURE;
  8545.     STDMETHOD(DoAlter)(THIS) PURE;
  8546.     STDMETHOD(CancelAlter)(THIS) PURE;
  8547.  
  8548. };
  8549.  
  8550. #undef INTERFACE
  8551. #define INTERFACE ISQLDMODistributionSubscriptions
  8552. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  8553. {
  8554.    //*** IUnknown methods
  8555.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  8556.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  8557.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  8558.  
  8559.     //*** SQLDMO standard object properties.
  8560.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  8561.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  8562.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  8563.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  8564.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  8565.  
  8566.     //*** SQLDMO standard enumeration properties
  8567.     STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLDMODISTRIBUTIONSUBSCRIPTION *ppObj) PURE;
  8568.     STDMETHOD(GetItemByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMODISTRIBUTIONSUBSCRIPTION *ppObj) PURE;
  8569.     STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  8570.  
  8571.     //*** SQLDMO standard collection methods
  8572.     STDMETHOD(Add)(THIS_ LPSQLDMODISTRIBUTIONSUBSCRIPTION Object) PURE;
  8573.     STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  8574.     STDMETHOD(RemoveByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  8575.     STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  8576.  
  8577. };
  8578.  
  8579. #undef INTERFACE
  8580. #define INTERFACE ISQLDMODistributionSubscription
  8581. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  8582. {
  8583.    //*** IUnknown methods
  8584.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  8585.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  8586.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  8587.  
  8588.     //*** SQLDMO standard object properties.
  8589.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  8590.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  8591.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  8592.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  8593.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  8594.  
  8595.     //*** properties
  8596.     STDMETHOD(GetName)(THIS_ LPBSTR pRetVal) PURE;
  8597.     STDMETHOD(GetSubscriber)(THIS_ LPBSTR pRetVal) PURE;
  8598.     STDMETHOD(SetSubscriber)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  8599.     STDMETHOD(GetSubscriptionDB)(THIS_ LPBSTR pRetVal) PURE;
  8600.     STDMETHOD(SetSubscriptionDB)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  8601.     STDMETHOD(GetStatus)(THIS_ SQLDMO_SUBSTATUS_TYPE FAR* pRetVal) PURE;
  8602.     STDMETHOD(SetStatus)(THIS_ SQLDMO_SUBSTATUS_TYPE NewValue) PURE;
  8603.     STDMETHOD(GetSyncType)(THIS_ SQLDMO_SUBSYNC_TYPE FAR* pRetVal) PURE;
  8604.     STDMETHOD(SetSyncType)(THIS_ SQLDMO_SUBSYNC_TYPE NewValue) PURE;
  8605.     STDMETHOD(GetSubscriptionType)(THIS_ SQLDMO_SUBSCRIPTION_TYPE *pRetVal) PURE;
  8606.     STDMETHOD(SetSubscriptionType)(THIS_ SQLDMO_SUBSCRIPTION_TYPE NewValue) PURE;
  8607.     STDMETHOD(GetDistributionSchedule)(THIS_ LPSQLDMOSCHEDULE *ppDistributionSchedule) PURE;
  8608.     STDMETHOD(GetDistributionAgent)(THIS_ LPBSTR pRetVal) PURE;
  8609.  
  8610.     //*** methods
  8611.     STDMETHOD(Remove)(THIS) PURE;
  8612.     STDMETHOD(BeginAlter)(THIS) PURE;
  8613.     STDMETHOD(DoAlter)(THIS) PURE;
  8614.     STDMETHOD(CancelAlter)(THIS) PURE;
  8615. };
  8616.  
  8617.  
  8618. #undef INTERFACE
  8619. #define INTERFACE ISQLDMOReplicationSink
  8620. DECLARE_INTERFACE_(INTERFACE, IUnknown)
  8621. {
  8622.    //*** IUnknown methods
  8623.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  8624.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  8625.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  8626.  
  8627.         //*** Sink properties and methods.
  8628.     STDMETHOD(StatusMessage)(THIS_ SQLDMO_LPCSTR szMessage) PURE;
  8629.     STDMETHOD(PercentComplete)(THIS_ SQLDMO_LPCSTR szMessage, long Percent) PURE;
  8630. };
  8631.  
  8632.  
  8633.  
  8634.  
  8635.  
  8636.  
  8637.  
  8638.  
  8639.  
  8640.  
  8641.  
  8642.  
  8643. ////////////////////////////////////////////////////////////////////////////////////
  8644. ////////////////////////////////////////////////////////////////////////////////////
  8645.  
  8646. #undef INTERFACE
  8647. #define INTERFACE ISQLDMOJobServer
  8648. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  8649. {
  8650.     //*** IUnknown methods
  8651.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  8652.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  8653.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  8654.  
  8655.     //*** SQLDMO standard object properties.
  8656.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  8657.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  8658.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  8659.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  8660.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  8661.  
  8662.     //*** properties
  8663.     STDMETHOD(GetStatus)(THIS_ SQLDMO_SVCSTATUS_TYPE *pRetVal) PURE;
  8664.     STDMETHOD(GetAutoStart)(THIS_ LPBOOL pRetVal) PURE;
  8665.     STDMETHOD(SetAutoStart)(THIS_ BOOL NewValue) PURE;
  8666. //    STDMETHOD(GetSQLServerRestart)(THIS_ LPBOOL pRetVal) PURE;
  8667. //    STDMETHOD(SetSQLServerRestart)(THIS_ BOOL NewValue) PURE;
  8668. //    STDMETHOD(GetSQLServerRestartInterval)(THIS_ LPLONG pRetVal) PURE;
  8669. //    STDMETHOD(SetSQLServerRestartInterval)(THIS_ long NewValue) PURE;
  8670. //    STDMETHOD(GetJobHistoryMaxRows)(THIS_ LPLONG pRetVal) PURE;
  8671. //    STDMETHOD(SetJobHistoryMaxRows)(THIS_ long NewValue) PURE;
  8672.     STDMETHOD(GetAlertSystem)(THIS_ LPSQLDMOALERTSYSTEM * ppAlertSystem) PURE;
  8673.     STDMETHOD(GetJobFilter)(THIS_ LPSQLDMOJOBFILTER * ppJobFilter) PURE;
  8674.     STDMETHOD(GetJobHistoryFilter)(THIS_ LPSQLDMOJOBHISTORYFILTER * ppJobHistoryFilter) PURE;
  8675.     STDMETHOD(GetMSXServerName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  8676.     STDMETHOD(GetType)(THIS_ SQLDMO_JOBSERVER_TYPE * pRetVal) PURE;
  8677.     STDMETHOD(GetStartupAccount)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  8678.  
  8679.     //*** Collection properties
  8680.     STDMETHOD(GetAlerts)(THIS_ LPSQLDMOALERTS *ppAlerts) PURE;
  8681.     STDMETHOD(GetAlertByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOALERT *ppAlert) PURE;
  8682.     STDMETHOD(GetAlertByOrd)(THIS_ long lOrdinal, LPSQLDMOALERT *ppAlert) PURE;
  8683.     STDMETHOD(RemoveAlertByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  8684.     STDMETHOD(RemoveAlertByOrd)(THIS_ long lOrdinal) PURE;
  8685.     STDMETHOD(AddAlert)(THIS_ LPSQLDMOALERT pAlert) PURE;
  8686.     STDMETHOD(GetAlertCount)(THIS_ LPLONG plCount) PURE;
  8687.  
  8688.     STDMETHOD(GetOperators)(THIS_ LPSQLDMOOPERATORS *ppOperators) PURE;
  8689.     STDMETHOD(GetOperatorByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOOPERATOR *ppOperator) PURE;
  8690.     STDMETHOD(GetOperatorByOrd)(THIS_ long lOrdinal, LPSQLDMOOPERATOR *ppOperator) PURE;
  8691.     STDMETHOD(RemoveOperatorByName)(THIS_ SQLDMO_LPCSTR szName, SQLDMO_LPCSTR szReassignName CPPDEFAULT(= NULL)) PURE;
  8692.     STDMETHOD(RemoveOperatorByOrd)(THIS_ long lOrdinal, SQLDMO_LPCSTR szReassignName CPPDEFAULT(= NULL)) PURE;
  8693.     STDMETHOD(AddOperator)(THIS_ LPSQLDMOOPERATOR pOperator) PURE;
  8694.     STDMETHOD(GetOperatorCount)(THIS_ LPLONG plCount) PURE;
  8695.  
  8696.     STDMETHOD(GetJobs)(THIS_ LPSQLDMOJOBS * ppJobs) PURE;
  8697.     STDMETHOD(GetJobByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOJOB *ppJob) PURE;
  8698.     STDMETHOD(GetJobByOrd)(THIS_ long lOrdinal, LPSQLDMOJOB *ppJob) PURE;
  8699.     STDMETHOD(RemoveJobByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  8700.     STDMETHOD(RemoveJobByOrd)(THIS_ long lOrdinal) PURE;
  8701.     STDMETHOD(AddJob)(THIS_ LPSQLDMOJOB pJob) PURE;
  8702.     STDMETHOD(GetJobCount)(THIS_ LPLONG plCount) PURE;
  8703.  
  8704.     STDMETHOD(GetTargetServers)(THIS_ LPSQLDMOTARGETSERVERS * ppTargetServers) PURE;
  8705.     STDMETHOD(GetTargetServerByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOTARGETSERVER *ppTargetServer) PURE;
  8706.     STDMETHOD(GetTargetServerByOrd)(THIS_ long lOrdinal, LPSQLDMOTARGETSERVER *ppTargetServer) PURE;
  8707.     STDMETHOD(RemoveTargetServerByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  8708.     STDMETHOD(RemoveTargetServerByOrd)(THIS_ long lOrdinal) PURE;
  8709.     STDMETHOD(AddTargetServer)(THIS_ LPSQLDMOTARGETSERVER pTargetServer) PURE;
  8710.     STDMETHOD(GetTargetServerCount)(THIS_ LPLONG plCount) PURE;
  8711.  
  8712.     STDMETHOD(GetTargetServerGroups)(THIS_ LPSQLDMOTARGETSERVERGROUPS * ppTargetServerGroups) PURE;
  8713.     STDMETHOD(GetTargetServerGroupByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOTARGETSERVERGROUP *ppTargetServerGroup) PURE;
  8714.     STDMETHOD(GetTargetServerGroupByOrd)(THIS_ long lOrdinal, LPSQLDMOTARGETSERVERGROUP *ppTargetServerGroup) PURE;
  8715.     STDMETHOD(RemoveTargetServerGroupByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  8716.     STDMETHOD(RemoveTargetServerGroupByOrd)(THIS_ long lOrdinal) PURE;
  8717.     STDMETHOD(AddTargetServerGroup)(THIS_ LPSQLDMOTARGETSERVERGROUP pTargetServerGroup) PURE;
  8718.     STDMETHOD(GetTargetServerGroupCount)(THIS_ LPLONG plCount) PURE;
  8719.  
  8720.     STDMETHOD(GetJobCategories)(THIS_ LPSQLDMOJOBCATEGORIES * ppJobCategories) PURE;
  8721.     STDMETHOD(GetJobCategoryByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOCATEGORY *ppCategory) PURE;
  8722.     STDMETHOD(GetJobCategoryByOrd)(THIS_ long lOrdinal, LPSQLDMOCATEGORY *ppCategory) PURE;
  8723.     STDMETHOD(RemoveJobCategoryByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  8724.     STDMETHOD(RemoveJobCategoryByOrd)(THIS_ long lOrdinal) PURE;
  8725.     STDMETHOD(AddJobCategory)(THIS_ LPSQLDMOCATEGORY pCategory) PURE;
  8726.     STDMETHOD(GetJobCategoryCount)(THIS_ LPLONG plCount) PURE;
  8727.  
  8728.     STDMETHOD(GetAlertCategories)(THIS_ LPSQLDMOALERTCATEGORIES * ppAlertCategories) PURE;
  8729.     STDMETHOD(GetAlertCategoryByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOCATEGORY *ppCategory) PURE;
  8730.     STDMETHOD(GetAlertCategoryByOrd)(THIS_ long lOrdinal, LPSQLDMOCATEGORY *ppCategory) PURE;
  8731.     STDMETHOD(RemoveAlertCategoryByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  8732.     STDMETHOD(RemoveAlertCategoryByOrd)(THIS_ long lOrdinal) PURE;
  8733.     STDMETHOD(AddAlertCategory)(THIS_ LPSQLDMOCATEGORY pCategory) PURE;
  8734.     STDMETHOD(GetAlertCategoryCount)(THIS_ LPLONG plCount) PURE;
  8735.  
  8736.     STDMETHOD(GetOperatorCategories)(THIS_ LPSQLDMOOPERATORCATEGORIES * ppOperatorCategories) PURE;
  8737.     STDMETHOD(GetOperatorCategoryByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOCATEGORY *ppCategory) PURE;
  8738.     STDMETHOD(GetOperatorCategoryByOrd)(THIS_ long lOrdinal, LPSQLDMOCATEGORY *ppCategory) PURE;
  8739.     STDMETHOD(RemoveOperatorCategoryByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  8740.     STDMETHOD(RemoveOperatorCategoryByOrd)(THIS_ long lOrdinal) PURE;
  8741.     STDMETHOD(AddOperatorCategory)(THIS_ LPSQLDMOCATEGORY pCategory) PURE;
  8742.     STDMETHOD(GetOperatorCategoryCount)(THIS_ LPLONG plCount) PURE;
  8743.  
  8744.     //*** methods
  8745.     STDMETHOD(Stop)(THIS) PURE;
  8746.     STDMETHOD(Start)(THIS) PURE;
  8747.     STDMETHOD(EnumSubSystems)(THIS_ LPSQLDMOQUERYRESULTS *ppResults) PURE;
  8748.     STDMETHOD(ReAssignJobsByLogin)(THIS_ SQLDMO_LPCSTR szOldLogin, SQLDMO_LPCSTR szNewLogin) PURE;
  8749.     STDMETHOD(RemoveJobsByLogin)(THIS_ SQLDMO_LPCSTR szLogin) PURE;
  8750.     STDMETHOD(Refresh)(THIS) PURE;
  8751.     STDMETHOD(BeginAlter)(THIS) PURE;
  8752.     STDMETHOD(DoAlter)(THIS) PURE;
  8753.     STDMETHOD(CancelAlter)(THIS) PURE;
  8754.     STDMETHOD(EnumJobHistory)(THIS_ LPSQLDMOQUERYRESULTS *ppResults, LPSQLDMOJOBHISTORYFILTER pFilter CPPDEFAULT(= NULL)) PURE;
  8755.     STDMETHOD(PurgeJobHistory)(THIS_ LPSQLDMOJOBHISTORYFILTER pFilter CPPDEFAULT(= NULL)) PURE;
  8756.     STDMETHOD(EnumJobs)(THIS_ LPSQLDMOQUERYRESULTS *ppRetVal, LPSQLDMOJOBFILTER pJobFilter CPPDEFAULT(= NULL)) PURE;
  8757.     STDMETHOD(RemoveJobsByServer)(THIS_ SQLDMO_LPCSTR szServer) PURE;
  8758.     STDMETHOD(MSXEnlist)(THIS_ SQLDMO_LPCSTR szServer, SQLDMO_LPCSTR szLocation) PURE;
  8759.     STDMETHOD(MSXDefect)(THIS) PURE;
  8760.     STDMETHOD(RemoveJobByID)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  8761.     STDMETHOD(StartMonitor)(THIS_ SQLDMO_LPCSTR szNetSendAddress, long lRestartAttempts) PURE;
  8762.     STDMETHOD(StopMonitor)(THIS) PURE;
  8763.     STDMETHOD(GetJobByID)(THIS_ SQLDMO_LPCSTR NewValue, LPSQLDMOJOB *ppJob, BOOL bFlag CPPDEFAULT(= FALSE)) PURE;
  8764.  
  8765.     // Post-6.0 additions
  8766. //    STDMETHOD(GetJobHistoryMaxRowsPerJob)(THIS_ LPLONG pRetVal) PURE;
  8767. //    STDMETHOD(SetJobHistoryMaxRowsPerJob)(THIS_ long NewValue) PURE;
  8768. };
  8769.  
  8770. ////////////////////////////////////////////////////////////////////////////////////
  8771. ////////////////////////////////////////////////////////////////////////////////////
  8772.  
  8773. #undef INTERFACE
  8774. #define INTERFACE ISQLDMOAlerts
  8775. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  8776. {
  8777.    //*** IUnknown methods
  8778.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  8779.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  8780.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  8781.  
  8782.         //*** SQLDMO standard object properties.
  8783.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  8784.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  8785.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  8786.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  8787.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  8788.  
  8789.     //*** SQLDMO standard enumeration properties
  8790.     STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLDMOALERT *ppObj) PURE;
  8791.     STDMETHOD(GetItemByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOALERT *ppObj) PURE;
  8792.     STDMETHOD(GetItemByID)(THIS_ long lID, LPSQLDMOALERT *ppObj) PURE;
  8793.     STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  8794.  
  8795.     //*** SQLDMO standard collection methods
  8796.     STDMETHOD(Add)(THIS_ LPSQLDMOALERT Object) PURE;
  8797.     STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  8798.     STDMETHOD(RemoveByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  8799.     STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  8800.     // 7.0
  8801.     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;
  8802. };
  8803.  
  8804. #undef INTERFACE
  8805. #define INTERFACE ISQLDMOAlert
  8806. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  8807. {
  8808.    //*** IUnknown methods
  8809.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  8810.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  8811.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  8812.  
  8813.     //*** SQLDMO standard object properties.
  8814.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  8815.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  8816.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  8817.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  8818.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  8819.  
  8820.     //*** properties
  8821.     STDMETHOD(GetName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  8822.     STDMETHOD(SetName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  8823.     STDMETHOD(GetID)(THIS_ LPLONG pRetVal) PURE;
  8824.     STDMETHOD(GetEventSource)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  8825.     STDMETHOD(GetEventCategoryID)(THIS_ LPLONG pRetVal) PURE;
  8826.     STDMETHOD(GetEventID)(THIS_ LPLONG pRetVal) PURE;
  8827.     STDMETHOD(GetMessageID)(THIS_ LPLONG pRetVal) PURE;
  8828.     STDMETHOD(SetMessageID)(THIS_ long NewValue) PURE;
  8829.     STDMETHOD(GetSeverity)(THIS_ LPLONG pRetVal) PURE;
  8830.     STDMETHOD(SetSeverity)(THIS_ long NewValue) PURE;
  8831.     STDMETHOD(GetEnabled)(THIS_ LPBOOL pRetVal) PURE;
  8832.     STDMETHOD(SetEnabled)(THIS_ BOOL NewValue) PURE;
  8833.     STDMETHOD(GetDelayBetweenResponses)(THIS_ LPLONG pRetVal) PURE;
  8834.     STDMETHOD(SetDelayBetweenResponses)(THIS_ long NewValue) PURE;
  8835.     STDMETHOD(GetLastOccurrenceDate)(THIS_ LPLONG pRetVal) PURE;
  8836.     STDMETHOD(SetLastOccurrenceDate)(THIS_ long NewValue) PURE;
  8837.     STDMETHOD(GetLastOccurrenceTime)(THIS_ LPLONG pRetVal) PURE;
  8838.     STDMETHOD(SetLastOccurrenceTime)(THIS_ long NewValue) PURE;
  8839.     STDMETHOD(GetLastResponseDate)(THIS_ LPLONG pRetVal) PURE;
  8840.     STDMETHOD(SetLastResponseDate)(THIS_ long NewValue) PURE;
  8841.     STDMETHOD(GetLastResponseTime)(THIS_ LPLONG pRetVal) PURE;
  8842.     STDMETHOD(SetLastResponseTime)(THIS_ long NewValue) PURE;
  8843.     STDMETHOD(GetNotificationMessage)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  8844.     STDMETHOD(SetNotificationMessage)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  8845.     STDMETHOD(GetIncludeEventDescription)(THIS_ SQLDMO_NOTIFY_TYPE *pRetVal) PURE;
  8846.     STDMETHOD(SetIncludeEventDescription)(THIS_ SQLDMO_NOTIFY_TYPE NewValue) PURE;
  8847.     STDMETHOD(GetDatabaseName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  8848.     STDMETHOD(SetDatabaseName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  8849.     STDMETHOD(GetEventDescriptionKeyword)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  8850.     STDMETHOD(SetEventDescriptionKeyword)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  8851.     STDMETHOD(GetOccurrenceCount)(THIS_ LPLONG pRetVal) PURE;
  8852.     STDMETHOD(GetCountResetDate)(THIS_ LPLONG pRetVal) PURE;
  8853.     STDMETHOD(GetCountResetTime)(THIS_ LPLONG pRetVal) PURE;
  8854.     STDMETHOD(GetJobName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  8855.     STDMETHOD(GetHasNotification)(THIS_ LPLONG pRetVal) PURE;
  8856.  
  8857.     //*** methods
  8858.     STDMETHOD(AddNotification)(THIS_ SQLDMO_LPCSTR OperatorName, SQLDMO_NOTIFY_TYPE NotifyMethod) PURE;
  8859.     STDMETHOD(UpdateNotification)(THIS_ SQLDMO_LPCSTR OperatorName, SQLDMO_NOTIFY_TYPE NotifyMethod) PURE;
  8860.     STDMETHOD(RemoveNotification)(THIS_ SQLDMO_LPCSTR OperatorName) PURE;
  8861.     STDMETHOD(EnumNotifications)(THIS_ SQLDMO_NOTIFY_TYPE NotifyMethod, SQLDMO_ENUMNOTIFY_TYPE EnumNotifyType, LPSQLDMOQUERYRESULTS *ppResults, SQLDMO_LPCSTR OperatorName CPPDEFAULT(= NULL)) PURE;
  8862.     STDMETHOD(Remove)(THIS) PURE;
  8863.     STDMETHOD(BeginAlter)(THIS) PURE;
  8864.     STDMETHOD(DoAlter)(THIS) PURE;
  8865.     STDMETHOD(CancelAlter)(THIS) PURE;
  8866.     STDMETHOD(Refresh)(THIS) PURE;
  8867.  
  8868.     // Post-6.0 additions.
  8869.     STDMETHOD(GetRaiseSNMPTrap)(THIS_ LPBOOL pRetVal) PURE;
  8870.     STDMETHOD(SetRaiseSNMPTrap)(THIS_ BOOL NewValue) PURE;
  8871.  
  8872.     // 7.0
  8873.     STDMETHOD(GetPerformanceCondition)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  8874.     STDMETHOD(SetPerformanceCondition)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  8875.     STDMETHOD(GetJobID)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  8876.     STDMETHOD(SetJobID)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  8877.     STDMETHOD(GetCategory)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  8878.     STDMETHOD(SetCategory)(THIS_ SQLDMO_LPCSTR NewVal) PURE;
  8879.     STDMETHOD(GetType)(THIS_ SQLDMO_ALERT_TYPE *pRetVal) PURE;
  8880.     STDMETHOD(ResetOccurrenceCount)(THIS) PURE;
  8881.     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;
  8882. };
  8883.  
  8884. ////////////////////////////////////////////////////////////////////////////////////
  8885. ////////////////////////////////////////////////////////////////////////////////////
  8886.  
  8887. #undef INTERFACE
  8888. #define INTERFACE ISQLDMOOperators
  8889. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  8890. {
  8891.    //*** IUnknown methods
  8892.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  8893.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  8894.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  8895.  
  8896.     //*** SQLDMO standard object properties.
  8897.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  8898.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  8899.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  8900.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  8901.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  8902.  
  8903.     //*** SQLDMO standard enumeration properties
  8904.     STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLDMOOPERATOR *ppObj) PURE;
  8905.     STDMETHOD(GetItemByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOOPERATOR *ppObj) PURE;
  8906.     STDMETHOD(GetItemByID)(THIS_ long lID, LPSQLDMOOPERATOR *ppObj) PURE;
  8907.     STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  8908.  
  8909.     //*** SQLDMO standard collection methods
  8910.     STDMETHOD(Add)(THIS_ LPSQLDMOOPERATOR Object) PURE;
  8911.     STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal, SQLDMO_LPCSTR NewName CPPDEFAULT(= NULL)) PURE;
  8912.     STDMETHOD(RemoveByName)(THIS_ SQLDMO_LPCSTR szName, SQLDMO_LPCSTR NewName CPPDEFAULT(= NULL)) PURE;
  8913.     STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  8914.     // 7.0
  8915.     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;
  8916. };
  8917.  
  8918. #undef INTERFACE
  8919. #define INTERFACE ISQLDMOOperator
  8920. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  8921. {
  8922.    //*** IUnknown methods
  8923.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  8924.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  8925.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  8926.  
  8927.     //*** SQLDMO standard object properties.
  8928.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  8929.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  8930.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  8931.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  8932.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  8933.  
  8934.     //*** properties
  8935.     STDMETHOD(GetName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  8936.     STDMETHOD(SetName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  8937.     STDMETHOD(GetID)(THIS_ LPLONG pRetVal) PURE;
  8938.     STDMETHOD(GetEnabled)(THIS_ LPBOOL pRetVal) PURE;
  8939.     STDMETHOD(SetEnabled)(THIS_ BOOL NewValue) PURE;
  8940.     STDMETHOD(GetEmailAddress)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  8941.     STDMETHOD(SetEmailAddress)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  8942.     STDMETHOD(GetLastEmailDate)(THIS_ LPLONG pRetVal) PURE;
  8943.     STDMETHOD(GetLastEmailTime)(THIS_ LPLONG pRetVal) PURE;
  8944.     STDMETHOD(GetPagerAddress)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  8945.     STDMETHOD(SetPagerAddress)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  8946.     STDMETHOD(GetLastPageDate)(THIS_ LPLONG pRetVal) PURE;
  8947.     STDMETHOD(GetLastPageTime)(THIS_ LPLONG pRetVal) PURE;
  8948.     STDMETHOD(GetWeekdayPagerStartTime)(THIS_ LPLONG pRetVal) PURE;
  8949.     STDMETHOD(SetWeekdayPagerStartTime)(THIS_ long NewValue) PURE;
  8950.     STDMETHOD(GetWeekdayPagerEndTime)(THIS_ LPLONG pRetVal) PURE;
  8951.     STDMETHOD(SetWeekdayPagerEndTime)(THIS_ long NewValue) PURE;
  8952.     STDMETHOD(GetSaturdayPagerStartTime)(THIS_ LPLONG pRetVal) PURE;
  8953.     STDMETHOD(SetSaturdayPagerStartTime)(THIS_ long NewValue) PURE;
  8954.     STDMETHOD(GetSaturdayPagerEndTime)(THIS_ LPLONG pRetVal) PURE;
  8955.     STDMETHOD(SetSaturdayPagerEndTime)(THIS_ long NewValue) PURE;
  8956.     STDMETHOD(GetSundayPagerStartTime)(THIS_ LPLONG pRetVal) PURE;
  8957.     STDMETHOD(SetSundayPagerStartTime)(THIS_ long NewValue) PURE;
  8958.     STDMETHOD(GetSundayPagerEndTime)(THIS_ LPLONG pRetVal) PURE;
  8959.     STDMETHOD(SetSundayPagerEndTime)(THIS_ long NewValue) PURE;
  8960.     STDMETHOD(GetPagerDays)(THIS_ SQLDMO_WEEKDAY_TYPE *pRetVal) PURE;
  8961.     STDMETHOD(SetPagerDays)(THIS_ SQLDMO_WEEKDAY_TYPE NewValue) PURE;
  8962.     STDMETHOD(GetCategory)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  8963.     STDMETHOD(SetCategory)(THIS_ SQLDMO_LPCSTR NewVal) PURE;
  8964.     STDMETHOD(GetNetSendAddress)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  8965.     STDMETHOD(SetNetSendAddress)(THIS_ SQLDMO_LPCSTR NewVal) PURE;
  8966.     STDMETHOD(GetLastNetSendDate)(THIS_ LPLONG pRetVal) PURE;
  8967.     STDMETHOD(GetLastNetSendTime)(THIS_ LPLONG pRetVal) PURE;
  8968.  
  8969.     //*** methods
  8970.     STDMETHOD(AddNotification)(THIS_ SQLDMO_LPCSTR AlertName, SQLDMO_NOTIFY_TYPE NotifyMethod) PURE;
  8971.     STDMETHOD(UpdateNotification)(THIS_ SQLDMO_LPCSTR AlertName, SQLDMO_NOTIFY_TYPE NotifyMethod) PURE;
  8972.     STDMETHOD(RemoveNotification)(THIS_ SQLDMO_LPCSTR AlertName) PURE;
  8973.     STDMETHOD(EnumNotifications)(THIS_ SQLDMO_NOTIFY_TYPE NotifyMethod, SQLDMO_ENUMNOTIFY_TYPE EnumNotifyType, LPSQLDMOQUERYRESULTS *ppResults, SQLDMO_LPCSTR AlertName CPPDEFAULT(= NULL)) PURE;
  8974.     STDMETHOD(Remove)(THIS_ SQLDMO_LPCSTR NewName CPPDEFAULT(= NULL)) PURE;
  8975.     STDMETHOD(BeginAlter)(THIS) PURE;
  8976.     STDMETHOD(DoAlter)(THIS) PURE;
  8977.     STDMETHOD(CancelAlter)(THIS) PURE;
  8978.     STDMETHOD(Refresh)(THIS) PURE;
  8979.     // 7.0
  8980.     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;
  8981.     STDMETHOD(EnumJobNotifications)(THIS_ LPSQLDMOQUERYRESULTS *ppResults) PURE;
  8982. };
  8983.  
  8984. ////////////////////////////////////////////////////////////////////////////////////
  8985. ////////////////////////////////////////////////////////////////////////////////////
  8986.  
  8987. #undef INTERFACE
  8988. #define INTERFACE ISQLDMOAlertSystem
  8989. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  8990. {
  8991.     //*** IUnknown methods
  8992.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  8993.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  8994.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  8995.  
  8996.     //*** SQLDMO standard object properties.
  8997.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  8998.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  8999.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  9000.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  9001.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  9002.  
  9003.     //*** properties
  9004.     STDMETHOD(GetFailSafeOperator)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  9005.     STDMETHOD(SetFailSafeOperator)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  9006.     STDMETHOD(GetNotificationMethod)(THIS_ SQLDMO_NOTIFY_TYPE *pRetVal) PURE;
  9007.     STDMETHOD(SetNotificationMethod)(THIS_ SQLDMO_NOTIFY_TYPE NewValue) PURE;
  9008.     STDMETHOD(GetForwardingServer)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  9009.     STDMETHOD(SetForwardingServer)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  9010.     STDMETHOD(GetForwardingSeverity)(THIS_ LPLONG pRetVal) PURE;
  9011.     STDMETHOD(SetForwardingSeverity)(THIS_ long NewValue) PURE;
  9012.     STDMETHOD(GetPagerToTemplate)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  9013.     STDMETHOD(SetPagerToTemplate)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  9014.     STDMETHOD(GetPagerCCTemplate)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  9015.     STDMETHOD(SetPagerCCTemplate)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  9016.     STDMETHOD(GetPagerSubjectTemplate)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  9017.     STDMETHOD(SetPagerSubjectTemplate)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  9018.     STDMETHOD(GetPagerSendSubjectOnly)(THIS_ LPBOOL pRetVal) PURE;
  9019.     STDMETHOD(SetPagerSendSubjectOnly)(THIS_ BOOL NewValue) PURE;
  9020.  
  9021.     // 7.0
  9022.     STDMETHOD(GetForwardAlways)(THIS_ LPBOOL pRetVal) PURE;
  9023.     STDMETHOD(SetForwardAlways)(THIS_ BOOL NewValue) PURE;
  9024.  
  9025.     //*** methods
  9026.     STDMETHOD(Refresh)(THIS) PURE;
  9027.     STDMETHOD(BeginAlter)(THIS) PURE;
  9028.     STDMETHOD(DoAlter)(THIS) PURE;
  9029.     STDMETHOD(CancelAlter)(THIS) PURE;
  9030. };
  9031.  
  9032. ////////////////////////////////////////////////////////////////////////////////////
  9033. ////////////////////////////////////////////////////////////////////////////////////
  9034.  
  9035. #undef INTERFACE
  9036. #define INTERFACE ISQLDMOJobHistoryFilter
  9037. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  9038. {
  9039.    //*** IUnknown methods
  9040.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  9041.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  9042.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  9043.  
  9044.     //*** SQLDMO standard object properties.
  9045.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  9046.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  9047.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  9048.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  9049.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  9050.  
  9051.     //*** properties
  9052.     STDMETHOD(GetJobName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  9053.     STDMETHOD(SetJobName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  9054.     STDMETHOD(GetStartRunDate)(THIS_ LPLONG pRetVal) PURE;
  9055.     STDMETHOD(SetStartRunDate)(THIS_ long NewValue) PURE;
  9056.     STDMETHOD(GetStartRunTime)(THIS_ LPLONG pRetVal) PURE;
  9057.     STDMETHOD(SetStartRunTime)(THIS_ long NewValue) PURE;
  9058.     STDMETHOD(GetOutcomeTypes)(THIS_ SQLDMO_JOBOUTCOME_TYPE *pRetVal) PURE;
  9059.     STDMETHOD(SetOutcomeTypes)(THIS_ SQLDMO_JOBOUTCOME_TYPE NewValue) PURE;
  9060.     STDMETHOD(GetSQLMessageID)(THIS_ LPLONG pRetVal) PURE;
  9061.     STDMETHOD(SetSQLMessageID)(THIS_ long NewValue) PURE;
  9062.     STDMETHOD(GetSQLSeverity)(THIS_ LPLONG pRetVal) PURE;
  9063.     STDMETHOD(SetSQLSeverity)(THIS_ long NewValue) PURE;
  9064.     STDMETHOD(GetMinimumRunDuration)(THIS_ LPLONG pRetVal) PURE;
  9065.     STDMETHOD(SetMinimumRunDuration)(THIS_ long NewValue) PURE;
  9066.     STDMETHOD(GetMinimumRetries)(THIS_ LPLONG pRetVal) PURE;
  9067.     STDMETHOD(SetMinimumRetries)(THIS_ long NewValue) PURE;
  9068.     STDMETHOD(GetOldestFirst)(THIS_ LPBOOL pRetVal) PURE;
  9069.     STDMETHOD(SetOldestFirst)(THIS_ BOOL NewValue) PURE;
  9070.     STDMETHOD(GetEndRunDate)(THIS_ LPLONG pRetVal) PURE;
  9071.     STDMETHOD(SetEndRunDate)(THIS_ long NewValue) PURE;
  9072.     STDMETHOD(GetEndRunTime)(THIS_ LPLONG pRetVal) PURE;
  9073.     STDMETHOD(SetEndRunTime)(THIS_ long NewValue) PURE;
  9074.     STDMETHOD(GetJobID)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  9075.     STDMETHOD(SetJobID)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  9076. };
  9077.  
  9078. ////////////////////////////////////////////////////////////////////////////////////
  9079. ////////////////////////////////////////////////////////////////////////////////////
  9080.  
  9081. #undef INTERFACE
  9082. #define INTERFACE ISQLDMOJobs
  9083. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  9084. {
  9085.     //*** IUnknown methods
  9086.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  9087.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  9088.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  9089.  
  9090.     //*** SQLDMO standard object properties.
  9091.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  9092.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  9093.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  9094.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  9095.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  9096.  
  9097.     //*** SQLDMO standard enumeration properties
  9098.     STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLDMOJOB *ppObj) PURE;
  9099.     STDMETHOD(GetItemByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOJOB *ppObj) PURE;
  9100.     STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  9101.  
  9102.     //*** SQLDMO standard collection methods
  9103.     STDMETHOD(Add)(THIS_ LPSQLDMOJOB Object) PURE;
  9104.     STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  9105.     STDMETHOD(RemoveByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  9106.     STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  9107.     // 7.0
  9108.     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;
  9109.      // Collection method
  9110. };
  9111.  
  9112. #undef INTERFACE
  9113. #define INTERFACE ISQLDMOJob
  9114. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  9115. {
  9116.    //*** IUnknown methods
  9117.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  9118.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  9119.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  9120.  
  9121.     //*** SQLDMO standard object properties.
  9122.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  9123.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  9124.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  9125.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  9126.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  9127.  
  9128.     //*** properties
  9129.     STDMETHOD(GetName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  9130.     STDMETHOD(SetName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  9131.     STDMETHOD(GetEnabled)(THIS_ LPBOOL pRetVal) PURE;
  9132.     STDMETHOD(SetEnabled)(THIS_ BOOL NewValue) PURE;
  9133.     STDMETHOD(GetJobID)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  9134.     STDMETHOD(GetOriginatingServer)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  9135.     STDMETHOD(GetStartStepID)(THIS_ LPLONG pRetVal) PURE;
  9136.     STDMETHOD(SetStartStepID)(THIS_ LONG NewVal) PURE;
  9137.     STDMETHOD(GetDescription)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  9138.     STDMETHOD(SetDescription)(THIS_ SQLDMO_LPCSTR NewVal) PURE;
  9139.     STDMETHOD(GetCategory)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  9140.     STDMETHOD(SetCategory)(THIS_ SQLDMO_LPCSTR NewVal) PURE;
  9141.     STDMETHOD(GetOwner)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  9142.     STDMETHOD(SetOwner)(THIS_ SQLDMO_LPCSTR NewVal) PURE;
  9143.     STDMETHOD(GetEventlogLevel)(THIS_ SQLDMO_COMPLETION_TYPE *pRetVal) PURE;
  9144.     STDMETHOD(SetEventlogLevel)(THIS_ SQLDMO_COMPLETION_TYPE NewVal) PURE;
  9145.     STDMETHOD(GetEmailLevel)(THIS_ SQLDMO_COMPLETION_TYPE *pRetVal) PURE;
  9146.     STDMETHOD(SetEmailLevel)(THIS_ SQLDMO_COMPLETION_TYPE NewVal) PURE;
  9147.     STDMETHOD(GetOperatorToEmail)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  9148.     STDMETHOD(SetOperatorToEmail)(THIS_ SQLDMO_LPCSTR NewVal) PURE;
  9149.     STDMETHOD(GetDateCreated)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  9150.     STDMETHOD(GetDateLastModified)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  9151.     STDMETHOD(GetLastRunDate)(THIS_ LPLONG pRetVal) PURE;
  9152.     STDMETHOD(GetLastRunTime)(THIS_ LPLONG pRetVal) PURE;
  9153.     STDMETHOD(GetLastRunOutcome)(THIS_ SQLDMO_JOBOUTCOME_TYPE *pRetVal) PURE;
  9154.     STDMETHOD(GetCurrentRunStatus)(THIS_ SQLDMO_JOBEXECUTION_STATUS *pRetVal) PURE;
  9155.     STDMETHOD(GetCurrentRunStep)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  9156.     STDMETHOD(GetNetSendLevel)(THIS_ SQLDMO_COMPLETION_TYPE *pRetVal) PURE;
  9157.     STDMETHOD(SetNetSendLevel)(THIS_ SQLDMO_COMPLETION_TYPE NewVal) PURE;
  9158.     STDMETHOD(GetDeleteLevel)(THIS_ SQLDMO_COMPLETION_TYPE *pRetVal) PURE;
  9159.     STDMETHOD(SetDeleteLevel)(THIS_ SQLDMO_COMPLETION_TYPE NewVal) PURE;
  9160.     STDMETHOD(GetHasStep)(THIS_ LPBOOL pRetVal) PURE;
  9161.     STDMETHOD(GetHasServer)(THIS_ LPBOOL pRetVal) PURE;
  9162.     STDMETHOD(GetType)(THIS_ SQLDMO_JOB_TYPE *pRetVal) PURE;
  9163.     STDMETHOD(GetHasSchedule)(THIS_ LPBOOL pRetVal) PURE;
  9164.     STDMETHOD(GetVersionNumber)(THIS_ LPLONG pRetVal) PURE;
  9165.     STDMETHOD(GetNextRunDate)(THIS_ LPLONG pRetVal) PURE;
  9166.     STDMETHOD(GetNextRunTime)(THIS_ LPLONG pRetVal) PURE;
  9167.     STDMETHOD(GetCurrentRunRetryAttempt)(THIS_ LPLONG pRetVal) PURE;
  9168.     STDMETHOD(GetNextRunScheduleID)(THIS_ LPLONG pRetVal) PURE;
  9169.  
  9170.     //*** Collection properties
  9171.     STDMETHOD(GetJobSteps)(THIS_ LPSQLDMOJOBSTEPS *ppJobSteps) PURE;
  9172.     STDMETHOD(GetJobStepByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOJOBSTEP *ppJobStep) PURE;
  9173.     STDMETHOD(GetJobStepByOrd)(THIS_ long lOrdinal, LPSQLDMOJOBSTEP *ppJobStep) PURE;
  9174.     STDMETHOD(RemoveJobStepByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  9175.     STDMETHOD(RemoveJobStepByOrd)(THIS_ long lOrdinal) PURE;
  9176.     STDMETHOD(AddJobStep)(THIS_ LPSQLDMOJOBSTEP pJobStep) PURE;
  9177.     STDMETHOD(GetJobStepCount)(THIS_ LPLONG plCount) PURE;
  9178.  
  9179.     STDMETHOD(GetJobSchedules)(THIS_ LPSQLDMOJOBSCHEDULES *ppJobSchedules) PURE;
  9180.     STDMETHOD(GetJobScheduleByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOJOBSCHEDULE *ppJobSchedule) PURE;
  9181.     STDMETHOD(GetJobScheduleByOrd)(THIS_ long lOrdinal, LPSQLDMOJOBSCHEDULE *ppJobSchedule) PURE;
  9182.     STDMETHOD(RemoveJobScheduleByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  9183.     STDMETHOD(RemoveJobScheduleByOrd)(THIS_ long lOrdinal) PURE;
  9184.     STDMETHOD(AddJobSchedule)(THIS_ LPSQLDMOJOBSCHEDULE pJobSchedule) PURE;
  9185.     STDMETHOD(GetJobScheduleCount)(THIS_ LPLONG plCount) PURE;
  9186.  
  9187.     //*** methods
  9188.     STDMETHOD(Remove)(THIS) PURE;
  9189.     STDMETHOD(BeginAlter)(THIS) PURE;
  9190.     STDMETHOD(DoAlter)(THIS) PURE;
  9191.     STDMETHOD(CancelAlter)(THIS) PURE;
  9192.     STDMETHOD(Refresh)(THIS) PURE;
  9193.     STDMETHOD(ApplyToTargetServer)(THIS_ SQLDMO_LPCSTR NewVal) PURE;
  9194.     STDMETHOD(RemoveFromTargetServer)(THIS_ SQLDMO_LPCSTR NewVal) PURE;
  9195.     STDMETHOD(EnumTargetServers)(THIS_ LPSQLDMOQUERYRESULTS *ppRetVal) PURE;
  9196.     STDMETHOD(ApplyToTargetServerGroup)(THIS_ SQLDMO_LPCSTR NewVal) PURE;
  9197.     STDMETHOD(EnumHistory)(THIS_ LPSQLDMOQUERYRESULTS *ppRetVal, LPSQLDMOJOBHISTORYFILTER pJobHistoryFilter CPPDEFAULT(= NULL)) PURE;
  9198.     STDMETHOD(PurgeHistory)(THIS) PURE;
  9199.     STDMETHOD(Invoke)(THIS) PURE;
  9200.     STDMETHOD(AddStepToJob)(THIS_ LPSQLDMOJOBSTEP pJobStep) PURE;
  9201.     STDMETHOD(RemoveFromTargetServerGroup)(THIS_ SQLDMO_LPCSTR NewVal) PURE;
  9202.     STDMETHOD(RemoveAllJobSteps)(THIS) PURE;
  9203.     STDMETHOD(Start)(THIS_ SQLDMO_LPCSTR NewVal CPPDEFAULT(= NULL)) PURE;
  9204.     STDMETHOD(Stop)(THIS) PURE;
  9205.     STDMETHOD(RemoveAllJobSchedules)(THIS) PURE;
  9206.  
  9207.     // 7.0 After Beta 1
  9208.     STDMETHOD(GetPageLevel)(THIS_ SQLDMO_COMPLETION_TYPE *pRetVal) PURE;
  9209.     STDMETHOD(SetPageLevel)(THIS_ SQLDMO_COMPLETION_TYPE NewVal) PURE;
  9210.     STDMETHOD(GetOperatorToNetSend)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  9211.     STDMETHOD(SetOperatorToNetSend)(THIS_ SQLDMO_LPCSTR NewVal) PURE;
  9212.     STDMETHOD(GetOperatorToPage)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  9213.     STDMETHOD(SetOperatorToPage)(THIS_ SQLDMO_LPCSTR NewVal) PURE;
  9214.     STDMETHOD(EnumAlerts)(THIS_ LPSQLDMOQUERYRESULTS *ppRetVal) PURE;
  9215.     // 7.0 after Beta 3
  9216.     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;
  9217. };
  9218.  
  9219. ////////////////////////////////////////////////////////////////////////////////////
  9220. ////////////////////////////////////////////////////////////////////////////////////
  9221.  
  9222. #undef INTERFACE
  9223. #define INTERFACE ISQLDMOJobSteps
  9224. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  9225. {
  9226.     //*** IUnknown methods
  9227.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  9228.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  9229.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  9230.  
  9231.     //*** SQLDMO standard object properties.
  9232.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  9233.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  9234.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  9235.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  9236.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  9237.  
  9238.     //*** SQLDMO standard enumeration properties
  9239.     STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLDMOJOBSTEP *ppObj) PURE;
  9240.     STDMETHOD(GetItemByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOJOBSTEP *ppObj) PURE;
  9241.     STDMETHOD(GetItemByID)(THIS_ long lID, LPSQLDMOJOBSTEP *ppObj) PURE;
  9242.     STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  9243.  
  9244.     //*** SQLDMO standard collection methods
  9245.     STDMETHOD(Add)(THIS_ LPSQLDMOJOBSTEP Object) PURE;
  9246.     STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  9247.     STDMETHOD(RemoveByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  9248.     STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  9249. };
  9250.  
  9251. #undef INTERFACE
  9252. #define INTERFACE ISQLDMOJobStep
  9253. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  9254. {
  9255.    //*** IUnknown methods
  9256.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  9257.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  9258.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  9259.  
  9260.     //*** SQLDMO standard object properties.
  9261.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  9262.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  9263.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  9264.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  9265.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  9266.  
  9267.     //*** properties
  9268.     STDMETHOD(GetStepID)(THIS_ LPLONG pRetVal) PURE;
  9269.     STDMETHOD(SetStepID)(THIS_ LONG lNewVal) PURE;
  9270.     STDMETHOD(GetName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  9271.     STDMETHOD(SetName)(THIS_ SQLDMO_LPCSTR NewVal) PURE;
  9272.     STDMETHOD(GetSubSystem)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  9273.     STDMETHOD(SetSubSystem)(THIS_ SQLDMO_LPCSTR NewVal) PURE;
  9274.     STDMETHOD(GetCommand)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  9275.     STDMETHOD(SetCommand)(THIS_ SQLDMO_LPCSTR NewVal) PURE;
  9276.     STDMETHOD(GetFlags)(THIS_ LPLONG pRetVal) PURE;
  9277.     STDMETHOD(SetFlags)(THIS_ LONG lNewVal) PURE;
  9278.     STDMETHOD(GetAdditionalParameters)(THIS_ SQLDMO_LPBSTR RetVal) PURE;
  9279.     STDMETHOD(SetAdditionalParameters)(THIS_ SQLDMO_LPCSTR NewVal) PURE;
  9280.     STDMETHOD(GetCmdExecSuccessCode)(THIS_ LPLONG pRetVal) PURE;
  9281.     STDMETHOD(SetCmdExecSuccessCode)(THIS_ LONG lNewVal) PURE;
  9282.     STDMETHOD(GetOnSuccessAction)(THIS_ SQLDMO_JOBSTEPACTION_TYPE *pRetVal) PURE;
  9283.     STDMETHOD(SetOnSuccessAction)(THIS_ SQLDMO_JOBSTEPACTION_TYPE NewValue) PURE;
  9284.     STDMETHOD(GetOnSuccessStep)(THIS_ LPLONG pRetVal) PURE;
  9285.     STDMETHOD(SetOnSuccessStep)(THIS_ LONG lNewVal) PURE;
  9286.     STDMETHOD(GetOnFailAction)(THIS_ SQLDMO_JOBSTEPACTION_TYPE *pRetVal) PURE;
  9287.     STDMETHOD(SetOnFailAction)(THIS_ SQLDMO_JOBSTEPACTION_TYPE NewValue) PURE;
  9288.     STDMETHOD(GetOnFailStep)(THIS_ LPLONG pRetVal) PURE;
  9289.     STDMETHOD(SetOnFailStep)(THIS_ LONG lNewVal) PURE;
  9290.     STDMETHOD(GetServer)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  9291.     STDMETHOD(SetServer)(THIS_ SQLDMO_LPCSTR NewVal) PURE;
  9292.     STDMETHOD(GetDatabaseName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  9293.     STDMETHOD(SetDatabaseName)(THIS_ SQLDMO_LPCSTR NewVal) PURE;
  9294.     STDMETHOD(GetDatabaseUserName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  9295.     STDMETHOD(SetDatabaseUserName)(THIS_ SQLDMO_LPCSTR NewVal) PURE;
  9296.     STDMETHOD(GetRetryAttempts)(THIS_ LPLONG pRetVal) PURE;
  9297.     STDMETHOD(SetRetryAttempts)(THIS_ LONG lNewVal) PURE;
  9298.     STDMETHOD(GetRetryInterval)(THIS_ LPLONG pRetVal) PURE;
  9299.     STDMETHOD(SetRetryInterval)(THIS_ LONG lNewVal) PURE;
  9300.     STDMETHOD(GetOSRunPriority)(THIS_ SQLDMO_RUNPRIORITY_TYPE *pRetVal) PURE;
  9301.     STDMETHOD(SetOSRunPriority)(THIS_ SQLDMO_RUNPRIORITY_TYPE NewValue) PURE;
  9302.     STDMETHOD(GetLastRunOutcome)(THIS_ SQLDMO_JOBOUTCOME_TYPE *pRetVal) PURE;
  9303.     STDMETHOD(GetLastRunDuration)(THIS_ LPLONG pRetVal) PURE;
  9304.     STDMETHOD(GetLastRunRetries)(THIS_ LPLONG pRetVal) PURE;
  9305.     STDMETHOD(GetLastRunDate)(THIS_ LPLONG pRetVal) PURE;
  9306.     STDMETHOD(GetLastRunTime)(THIS_ LPLONG pRetVal) PURE;
  9307.     STDMETHOD(GetOutputFileName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  9308.     STDMETHOD(SetOutputFileName)(THIS_ SQLDMO_LPCSTR NewVal) PURE;
  9309.  
  9310.     //*** methods
  9311.     STDMETHOD(Remove)(THIS) PURE;
  9312.     STDMETHOD(BeginAlter)(THIS) PURE;
  9313.     STDMETHOD(DoAlter)(THIS) PURE;
  9314.     STDMETHOD(CancelAlter)(THIS) PURE;
  9315.     STDMETHOD(Refresh)(THIS) PURE;
  9316. };
  9317.  
  9318. ////////////////////////////////////////////////////////////////////////////////////
  9319. ////////////////////////////////////////////////////////////////////////////////////
  9320.  
  9321. #undef INTERFACE
  9322. #define INTERFACE ISQLDMOTargetServers
  9323. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  9324. {
  9325.     //*** IUnknown methods
  9326.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  9327.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  9328.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  9329.  
  9330.     //*** SQLDMO standard object properties.
  9331.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  9332.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  9333.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  9334.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  9335.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  9336.  
  9337.     //*** SQLDMO standard enumeration properties
  9338.     STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLDMOTARGETSERVER *ppObj) PURE;
  9339.     STDMETHOD(GetItemByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOTARGETSERVER *ppObj) PURE;
  9340.     STDMETHOD(GetItemByID)(THIS_ long lID, LPSQLDMOTARGETSERVER *ppObj) PURE;
  9341.         STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  9342.  
  9343.     //*** SQLDMO standard collection methods
  9344.     STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  9345.     STDMETHOD(RemoveByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  9346.     STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  9347. };
  9348.  
  9349. #undef INTERFACE
  9350. #define INTERFACE ISQLDMOTargetServer
  9351. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  9352. {
  9353.     //*** IUnknown methods
  9354.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  9355.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  9356.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  9357.  
  9358.     //*** SQLDMO standard object properties.
  9359.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  9360.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  9361.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  9362.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  9363.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  9364.  
  9365.     //*** properties
  9366.     STDMETHOD(GetServerID)(THIS_ LPLONG pRetVal) PURE;
  9367.     STDMETHOD(GetServerName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  9368.     STDMETHOD(GetEnlistDate)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  9369.     STDMETHOD(GetLastPollDate)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  9370.     STDMETHOD(GetStatus)(THIS_ LPLONG pRetVal) PURE;
  9371.     STDMETHOD(GetLocation)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  9372.     STDMETHOD(SetLocation)(THIS_ SQLDMO_LPCSTR NewVal) PURE;
  9373.     STDMETHOD(GetTimeZoneAdjustment)(THIS_ LPLONG pRetVal) PURE;
  9374.     STDMETHOD(GetPendingInstructions)(THIS_ LPLONG pRetVal) PURE;
  9375.     STDMETHOD(GetLocalTime)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  9376.     STDMETHOD(GetPollingInterval)(THIS_ LPLONG pRetVal) PURE;
  9377.  
  9378.     //*** methods
  9379.     STDMETHOD(Refresh)(THIS) PURE;
  9380. };
  9381.  
  9382.  
  9383. ////////////////////////////////////////////////////////////////////////////////////
  9384. ////////////////////////////////////////////////////////////////////////////////////
  9385.  
  9386. #undef INTERFACE
  9387. #define INTERFACE ISQLDMOTargetServerGroups
  9388. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  9389. {
  9390.     //*** IUnknown methods
  9391.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  9392.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  9393.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  9394.  
  9395.     //*** SQLDMO standard object properties.
  9396.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  9397.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  9398.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  9399.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  9400.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  9401.  
  9402.     //*** SQLDMO standard enumeration properties
  9403.     STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLDMOTARGETSERVERGROUP *ppObj) PURE;
  9404.     STDMETHOD(GetItemByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOTARGETSERVERGROUP *ppObj) PURE;
  9405.     STDMETHOD(GetItemByID)(THIS_ long lID, LPSQLDMOTARGETSERVERGROUP *ppObj) PURE;
  9406.     STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  9407.  
  9408.     //*** SQLDMO standard collection methods
  9409.     STDMETHOD(Add)(THIS_ LPSQLDMOTARGETSERVERGROUP Object) PURE;
  9410.     STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  9411.     STDMETHOD(RemoveByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  9412.     STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  9413. };
  9414.  
  9415. #undef INTERFACE
  9416. #define INTERFACE ISQLDMOTargetServerGroup
  9417. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  9418. {
  9419.     //*** IUnknown methods
  9420.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  9421.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  9422.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  9423.  
  9424.     //*** SQLDMO standard object properties.
  9425.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  9426.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  9427.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  9428.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  9429.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  9430.  
  9431.     //*** properties
  9432.     STDMETHOD(GetGroupID)(THIS_ LPLONG pRetVal) PURE;
  9433.     STDMETHOD(GetName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  9434.     STDMETHOD(SetName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  9435.  
  9436.     //*** methods
  9437.     STDMETHOD(Remove)(THIS) PURE;
  9438.     STDMETHOD(BeginAlter)(THIS) PURE;
  9439.     STDMETHOD(DoAlter)(THIS) PURE;
  9440.     STDMETHOD(CancelAlter)(THIS) PURE;
  9441.     STDMETHOD(Refresh)(THIS) PURE;
  9442.     STDMETHOD(AddMemberServer)(THIS_ SQLDMO_LPCSTR Value) PURE;
  9443.     STDMETHOD(RemoveMemberServer)(THIS_ SQLDMO_LPCSTR Value) PURE;
  9444.  
  9445.     //*** List methods
  9446.     STDMETHOD(ListMemberServers)(THIS_ LPSQLDMONAMELIST * ppList) PURE;
  9447. };
  9448.  
  9449. ////////////////////////////////////////////////////////////////////////////////////
  9450. ////////////////////////////////////////////////////////////////////////////////////
  9451.  
  9452. #undef INTERFACE
  9453. #define INTERFACE ISQLDMOJobCategories
  9454. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  9455. {
  9456.     //*** IUnknown methods
  9457.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  9458.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  9459.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  9460.  
  9461.     //*** SQLDMO standard object properties.
  9462.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  9463.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  9464.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  9465.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  9466.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  9467.  
  9468.     //*** SQLDMO standard enumeration properties
  9469.     STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLDMOCATEGORY *ppObj) PURE;
  9470.     STDMETHOD(GetItemByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOCATEGORY *ppObj) PURE;
  9471.     STDMETHOD(GetItemByID)(THIS_ long lID, LPSQLDMOCATEGORY *ppObj) PURE;
  9472.     STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  9473.  
  9474.     //*** SQLDMO standard collection methods
  9475.     STDMETHOD(Add)(THIS_ LPSQLDMOCATEGORY Object) PURE;
  9476.     STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  9477.     STDMETHOD(RemoveByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  9478.     STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  9479.      // Collection method
  9480. };
  9481.  
  9482. #undef INTERFACE
  9483. #define INTERFACE ISQLDMOAlertCategories
  9484. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  9485. {
  9486.     //*** IUnknown methods
  9487.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  9488.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  9489.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  9490.  
  9491.     //*** SQLDMO standard object properties.
  9492.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  9493.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  9494.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  9495.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  9496.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  9497.  
  9498.     //*** SQLDMO standard enumeration properties
  9499.     STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLDMOCATEGORY *ppObj) PURE;
  9500.     STDMETHOD(GetItemByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOCATEGORY *ppObj) PURE;
  9501.     STDMETHOD(GetItemByID)(THIS_ long lID, LPSQLDMOCATEGORY *ppObj) PURE;
  9502.     STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  9503.  
  9504.     //*** SQLDMO standard collection methods
  9505.     STDMETHOD(Add)(THIS_ LPSQLDMOCATEGORY Object) PURE;
  9506.     STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  9507.     STDMETHOD(RemoveByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  9508.     STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  9509. };
  9510.  
  9511. #undef INTERFACE
  9512. #define INTERFACE ISQLDMOOperatorCategories
  9513. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  9514. {
  9515.     //*** IUnknown methods
  9516.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  9517.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  9518.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  9519.  
  9520.     //*** SQLDMO standard object properties.
  9521.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  9522.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  9523.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  9524.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  9525.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  9526.  
  9527.     //*** SQLDMO standard enumeration properties
  9528.     STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLDMOCATEGORY *ppObj) PURE;
  9529.     STDMETHOD(GetItemByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOCATEGORY *ppObj) PURE;
  9530.     STDMETHOD(GetItemByID)(THIS_ long lID, LPSQLDMOCATEGORY *ppObj) PURE;
  9531.     STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  9532.  
  9533.     //*** SQLDMO standard collection methods
  9534.     STDMETHOD(Add)(THIS_ LPSQLDMOCATEGORY Object) PURE;
  9535.     STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  9536.     STDMETHOD(RemoveByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  9537.     STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  9538. };
  9539.  
  9540. #undef INTERFACE
  9541. #define INTERFACE ISQLDMOCategory
  9542. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  9543. {
  9544.     //*** IUnknown methods
  9545.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  9546.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  9547.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  9548.  
  9549.     //*** SQLDMO standard object properties.
  9550.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  9551.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  9552.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  9553.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  9554.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  9555.  
  9556.     //*** properties
  9557.     STDMETHOD(GetID)(THIS_ LPLONG pRetVal) PURE;
  9558.     STDMETHOD(GetType)(THIS_ SQLDMO_CATEGORYTYPE_TYPE FAR* pRetVal) PURE;
  9559.     STDMETHOD(SetType)(THIS_ SQLDMO_CATEGORYTYPE_TYPE NewValue) PURE;
  9560.     STDMETHOD(GetName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  9561.     STDMETHOD(SetName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  9562.  
  9563.     //*** methods
  9564.     STDMETHOD(Remove)(THIS) PURE;
  9565.     STDMETHOD(BeginAlter)(THIS) PURE;
  9566.     STDMETHOD(DoAlter)(THIS) PURE;
  9567.     STDMETHOD(CancelAlter)(THIS) PURE;
  9568.     STDMETHOD(Refresh)(THIS) PURE;
  9569. };
  9570.  
  9571. ////////////////////////////////////////////////////////////////////////////////////
  9572. ////////////////////////////////////////////////////////////////////////////////////
  9573.  
  9574. #undef INTERFACE
  9575. #define INTERFACE ISQLDMOJobSchedules
  9576. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  9577. {
  9578.     //*** IUnknown methods
  9579.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  9580.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  9581.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  9582.  
  9583.     //*** SQLDMO standard object properties.
  9584.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  9585.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  9586.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  9587.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  9588.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  9589.  
  9590.     //*** SQLDMO standard enumeration properties
  9591.     STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLDMOJOBSCHEDULE *ppObj) PURE;
  9592.     STDMETHOD(GetItemByName)(THIS_ SQLDMO_LPCSTR szName, LPSQLDMOJOBSCHEDULE *ppObj) PURE;
  9593.     STDMETHOD(GetItemByID)(THIS_ long lID, LPSQLDMOJOBSCHEDULE *ppObj) PURE;
  9594.     STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  9595.  
  9596.     //*** SQLDMO standard collection methods
  9597.     STDMETHOD(Add)(THIS_ LPSQLDMOJOBSCHEDULE Object) PURE;
  9598.     STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  9599.     STDMETHOD(RemoveByName)(THIS_ SQLDMO_LPCSTR szName) PURE;
  9600.     STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  9601. };
  9602.  
  9603. #undef INTERFACE
  9604. #define INTERFACE ISQLDMOJobSchedule
  9605. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  9606. {
  9607.    //*** IUnknown methods
  9608.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  9609.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  9610.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  9611.  
  9612.     //*** SQLDMO standard object properties.
  9613.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  9614.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  9615.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  9616.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  9617.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  9618.  
  9619.     //*** properties
  9620.     STDMETHOD(GetName)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  9621.     STDMETHOD(SetName)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  9622.     STDMETHOD(GetEnabled)(THIS_ LPBOOL pRetVal) PURE;
  9623.     STDMETHOD(SetEnabled)(THIS_ BOOL NewValue) PURE;
  9624.     STDMETHOD(GetSchedule)(THIS_ LPSQLDMOSCHEDULE * ppSchedule) PURE;
  9625.     STDMETHOD(GetDateCreated)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  9626.     STDMETHOD(GetScheduleID)(THIS_ LPLONG pRetVal) PURE;
  9627.  
  9628.     //*** methods
  9629.     STDMETHOD(Remove)(THIS) PURE;
  9630.     STDMETHOD(BeginAlter)(THIS) PURE;
  9631.     STDMETHOD(DoAlter)(THIS) PURE;
  9632.     STDMETHOD(CancelAlter)(THIS) PURE;
  9633.     STDMETHOD(Refresh)(THIS) PURE;
  9634. };
  9635.  
  9636. ////////////////////////////////////////////////////////////////////////////////////
  9637. ////////////////////////////////////////////////////////////////////////////////////
  9638.  
  9639. #undef INTERFACE
  9640. #define INTERFACE ISQLDMOSchedule
  9641. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  9642. {
  9643.     //*** IUnknown methods
  9644.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  9645.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  9646.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  9647.  
  9648.     //*** SQLDMO standard object properties.
  9649.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  9650.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  9651.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  9652.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  9653.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  9654.  
  9655.     //*** properties
  9656.     STDMETHOD(GetFrequencyType)(THIS_ SQLDMO_FREQUENCY_TYPE *pRetVal) PURE;
  9657.     STDMETHOD(SetFrequencyType)(THIS_ SQLDMO_FREQUENCY_TYPE NewValue) PURE;
  9658.     STDMETHOD(GetFrequencyInterval)(THIS_ LPLONG pRetVal) PURE;
  9659.     STDMETHOD(SetFrequencyInterval)(THIS_ long NewValue) PURE;
  9660.     STDMETHOD(GetFrequencySubDay)(THIS_ SQLDMO_FREQSUB_TYPE *pRetVal) PURE;
  9661.     STDMETHOD(SetFrequencySubDay)(THIS_ SQLDMO_FREQSUB_TYPE NewValue) PURE;
  9662.     STDMETHOD(GetFrequencySubDayInterval)(THIS_ LPLONG pRetVal) PURE;
  9663.     STDMETHOD(SetFrequencySubDayInterval)(THIS_ long NewValue) PURE;
  9664.     STDMETHOD(GetFrequencyRelativeInterval)(THIS_ SQLDMO_FREQRELATIVE_TYPE *pRetVal) PURE;
  9665.     STDMETHOD(SetFrequencyRelativeInterval)(THIS_ SQLDMO_FREQRELATIVE_TYPE NewValue) PURE;
  9666.     STDMETHOD(GetFrequencyRecurrenceFactor)(THIS_ LPLONG pRetVal) PURE;
  9667.     STDMETHOD(SetFrequencyRecurrenceFactor)(THIS_ long NewValue) PURE;
  9668.     STDMETHOD(GetActiveStartDate)(THIS_ LPLONG pRetVal) PURE;
  9669.     STDMETHOD(SetActiveStartDate)(THIS_ long NewValue) PURE;
  9670.     STDMETHOD(GetActiveEndDate)(THIS_ LPLONG pRetVal) PURE;
  9671.     STDMETHOD(SetActiveEndDate)(THIS_ long NewValue) PURE;
  9672.     STDMETHOD(GetActiveStartTimeOfDay)(THIS_ LPLONG pRetVal) PURE;
  9673.     STDMETHOD(SetActiveStartTimeOfDay)(THIS_ long NewValue) PURE;
  9674.     STDMETHOD(GetActiveEndTimeOfDay)(THIS_ LPLONG pRetVal) PURE;
  9675.     STDMETHOD(SetActiveEndTimeOfDay)(THIS_ long NewValue) PURE;
  9676.  
  9677.     //*** methods
  9678.     STDMETHOD(Refresh)(THIS) PURE;
  9679.     STDMETHOD(BeginAlter)(THIS) PURE;
  9680.     STDMETHOD(DoAlter)(THIS) PURE;
  9681.     STDMETHOD(CancelAlter)(THIS) PURE;
  9682. };
  9683.  
  9684. ////////////////////////////////////////////////////////////////////////////////////
  9685. ////////////////////////////////////////////////////////////////////////////////////
  9686.  
  9687. #undef INTERFACE
  9688. #define INTERFACE ISQLDMOJobFilter
  9689. DECLARE_INTERFACE_(INTERFACE, ISQLDMOStdObject)
  9690. {
  9691.     //*** IUnknown methods
  9692.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  9693.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  9694.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  9695.  
  9696.     //*** SQLDMO standard object properties.
  9697.     STDMETHOD(GetApplication)(THIS_ LPSQLDMOAPPLICATION *ppApp) PURE;
  9698.     STDMETHOD(GetParent)(THIS_ LPSQLDMOSTDOBJECT *ppParent) PURE;
  9699.     STDMETHOD(GetTypeOf)(THIS_ SQLDMO_OBJECT_TYPE *pRetVal) PURE;
  9700.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  9701.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  9702.  
  9703.     //*** properties
  9704.     STDMETHOD(GetCurrentExecutionStatus)(THIS_ SQLDMO_JOBEXECUTION_STATUS *pRetVal) PURE;
  9705.     STDMETHOD(SetCurrentExecutionStatus)(THIS_ SQLDMO_JOBEXECUTION_STATUS NewValue) PURE;
  9706.     STDMETHOD(GetEnabled)(THIS_ LPBOOL pRetVal) PURE;
  9707.     STDMETHOD(SetEnabled)(THIS_ BOOL NewValue) PURE;
  9708.     STDMETHOD(GetCategory)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  9709.     STDMETHOD(SetCategory)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  9710.     STDMETHOD(GetOwner)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  9711.     STDMETHOD(SetOwner)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  9712.     STDMETHOD(GetStepSubsystem)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  9713.     STDMETHOD(SetStepSubsystem)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  9714.     STDMETHOD(GetDateJobCreated)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  9715.     STDMETHOD(SetDateJobCreated)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  9716.     STDMETHOD(GetDateJobLastModified)(THIS_ SQLDMO_LPBSTR pRetVal) PURE;
  9717.     STDMETHOD(SetDateJobLastModified)(THIS_ SQLDMO_LPCSTR NewValue) PURE;
  9718.     STDMETHOD(GetDateFindOperand)(THIS_ SQLDMO_FIND_OPERAND *pRetVal) PURE;
  9719.     STDMETHOD(SetDateFindOperand)(THIS_ SQLDMO_FIND_OPERAND NewValue) PURE;
  9720.     STDMETHOD(GetType)(THIS_ SQLDMO_JOB_TYPE *pRetVal) PURE;
  9721.     STDMETHOD(SetType)(THIS_ SQLDMO_JOB_TYPE NewValue) PURE;
  9722.  
  9723.     //*** methods
  9724. };
  9725.  
  9726.  
  9727.  
  9728.  
  9729.  
  9730. /////////////////////////////////////////////////////////////////////////////
  9731. //        SQLDMO Connection Point Sink Interfaces
  9732. /////////////////////////////////////////////////////////////////////////////
  9733.  
  9734. #ifdef _SQLDMO_INTERNAL_
  9735. #endif
  9736.  
  9737. #endif    // !_SQLDMO_ODL_
  9738. #endif    // _SQLDMO_H_
  9739.