home *** CD-ROM | disk | FTP | other *** search
/ Tricks of the Windows Gam…ming Gurus (2nd Edition) / Disc2.iso / vc98 / include / sqlole.h < prev    next >
C/C++ Source or Header  |  1998-04-25  |  279KB  |  5,987 lines

  1. /////////////////////////////////////////////////////////////////////////////////////////
  2. // Header file for SQLOLE C/C++ Client Component Object interfaces.
  3. // Copyright 1994-1995 Microsoft Corporation.
  4. /////////////////////////////////////////////////////////////////////////////////////////
  5. #ifndef _SQLOLE_H_
  6. #define _SQLOLE_H_
  7.  
  8. // SQLOLE versions supported for this header file.  
  9. #define SQLOLEVERSION_600        0x00060000
  10. #define SQLOLEVERSION_650        0x00063200
  11.  
  12. // Current version of sqlole for this header file (matches sp_MSSQLOLE_version).
  13. #define SQLOLEVERSION_CURRENT    SQLOLEVERSION_650
  14.  
  15. /////////////////////////////////////////////////////////////////////////////////////////
  16. // Constant enumerations.
  17. /////////////////////////////////////////////////////////////////////////////////////////
  18. #ifndef _SQLOLE_CONSTANTS_
  19. #define _SQLOLE_CONSTANTS_
  20.  
  21. #ifdef _SQLOLE_ODL_        // Generate helpids if in ODL file.
  22. #define SQLOLE_HELPID(id) [helpcontext(H_##id)]
  23. #else
  24. #define SQLOLE_HELPID(id)
  25. #endif
  26.  
  27. typedef SQLOLE_HELPID(SQLOLE_OBJECT_TYPE) enum {
  28.     SQLOLEObj_Unknown = 16384,        // Make it the only bit set
  29.     SQLOLEObj_Application = 0,
  30.  
  31.     // Database objects, value is power(2, sysobjects.sysstat & 0x0f), plus UDDTs in 0.
  32.     // These values can be bitmasked together for object listings.
  33.     SQLOLEObj_UserDefinedDatatype = 1,
  34.     SQLOLEObj_SystemTable = 2,
  35.     SQLOLEObj_View = 4,
  36.     SQLOLEObj_UserTable = 8,
  37.     SQLOLEObj_StoredProcedure = 16,
  38.     SQLOLEObj_Default = 64,
  39.     SQLOLEObj_Rule = 128,
  40.     SQLOLEObj_Trigger = 256,
  41.     SQLOLEObj_AllDatabaseUserObjects = 0x01fd,
  42.     SQLOLEObj_AllDatabaseObjects = 0x01ff,
  43.  
  44.     // Other Database objects (not in sysobjects)
  45.     SQLOLEObj_SystemDatatype = 10021,
  46.     SQLOLEObj_User = 10022,
  47.     SQLOLEObj_Group = 10023,
  48.     SQLOLEObj_Index = 10024,
  49.     SQLOLEObj_Key = 10025,
  50.     SQLOLEObj_Column = 10026,
  51.     SQLOLEObj_DBObject = 10027,
  52.     SQLOLEObj_DBOption = 10028,
  53.     SQLOLEObj_ProcedureParameter = 10029,
  54.     SQLOLEObj_Permission = 10033,
  55.     SQLOLEObj_IntegratedSecurity = 10034,
  56.     SQLOLEObj_Check = 10035,
  57.     SQLOLEObj_DRIDefault = 10036,
  58.  
  59.     // Objects not in databases.
  60.     SQLOLEObj_SQLServer = 10050,
  61.     SQLOLEObj_Database = 10051,
  62.     SQLOLEObj_Device = 10052,
  63.     SQLOLEObj_Login = 10054,
  64.     SQLOLEObj_Language = 10055,
  65.     SQLOLEObj_RemoteServer = 10056,
  66.     SQLOLEObj_RemoteLogin = 10057,
  67.  
  68.     SQLOLEObj_Configuration = 10059,
  69.     SQLOLEObj_ConfigValue = 10060,
  70.     SQLOLEObj_AlertSystem = 10061,
  71.     SQLOLEObj_Executive = 10062,
  72.     SQLOLEObj_QueryResults = 10063,
  73.     SQLOLEObj_TransactionLog = 10064,
  74.     SQLOLEObj_Registry = 10065,
  75.     SQLOLEObj_Transfer = 10066,
  76.     SQLOLEObj_Backup = 10067,
  77.     SQLOLEObj_Task = 10068,
  78.     SQLOLEObj_Alert = 10069,
  79.     SQLOLEObj_Operator = 10070,
  80.     SQLOLEObj_HistoryFilter = 10071,
  81.     SQLOLEObj_Publication = 10072,
  82.     SQLOLEObj_Article = 10073,
  83.     SQLOLEObj_Subscription = 10074,
  84.     SQLOLEObj_SubscriberInfo = 10075,
  85.     SQLOLEObj_AutoProperty = 10076,        // Automation property or properties collection.
  86.     SQLOLEObj_ServerGroup = 10077,
  87.     SQLOLEObj_RegisteredServer = 10078,
  88.     SQLOLEObj_BulkCopy = 10079
  89. } SQLOLE_OBJECT_TYPE;
  90.  
  91. typedef SQLOLE_HELPID(SQLOLE_KEY_TYPE) enum {
  92.     SQLOLEKey_Unknown = 0,
  93.     SQLOLEKey_Primary = 1,
  94.     SQLOLEKey_Unique = 2,
  95.     SQLOLEKey_Foreign = 3
  96. } SQLOLE_KEY_TYPE;
  97.  
  98. typedef SQLOLE_HELPID(SQLOLE_DEVICE_TYPE) enum {
  99.     SQLOLEDevice_Unknown = 100,
  100.     SQLOLEDevice_Database = 0,
  101.     SQLOLEDevice_DiskDump = 2,
  102.     SQLOLEDevice_FloppyADump = 3,
  103.     SQLOLEDevice_FloppyBDump = 4,
  104.     SQLOLEDevice_TapeDump = 5,
  105.     SQLOLEDevice_PipeDump = 6,
  106.     SQLOLEDevice_CDROM = 7
  107. } SQLOLE_DEVICE_TYPE;
  108.  
  109. typedef SQLOLE_HELPID(SQLOLE_MIRROR_TYPE) enum {
  110.     // Mirror states:
  111.     //     None = no mirror specified
  112.     //    Inactive = mirror specified but not active
  113.     //  RunningOnMirror = mirror device is functioning as the active device (after SwitchToMirrorTemp)
  114.     //    Active = mirror is specified and actively mirroring the device.
  115.     SQLOLEMirror_None = 0,
  116.     SQLOLEMirror_Inactive = 64,
  117.     SQLOLEMirror_RunningOnMirror = 320,
  118.     SQLOLEMirror_Active = 576
  119. } SQLOLE_MIRROR_TYPE;
  120.  
  121. typedef SQLOLE_HELPID(SQLOLE_PRIVILEGE_TYPE) enum {
  122.     SQLOLEPriv_Unknown = 0,
  123.  
  124.     // Privilege values, different from sysprotects as we need to bitmask.
  125.     // Object privileges.
  126.     SQLOLEPriv_Select = 1,
  127.     SQLOLEPriv_Insert = 2,
  128.     SQLOLEPriv_Update = 4,
  129.     SQLOLEPriv_Delete = 8,
  130.     SQLOLEPriv_Execute = 16,
  131.     SQLOLEPriv_References = 32,
  132.     SQLOLEPriv_AllObjectPrivs = 63,
  133.     
  134.     // Database (statement) privileges.
  135.     SQLOLEPriv_CreateTable = 128,
  136.     SQLOLEPriv_CreateDatabase = 256,
  137.     SQLOLEPriv_CreateView = 512,
  138.     SQLOLEPriv_CreateProcedure = 1024,
  139.     SQLOLEPriv_DumpDatabase = 2048,
  140.     SQLOLEPriv_CreateDefault = 4096,
  141.     SQLOLEPriv_DumpTransaction = 8192,
  142.     SQLOLEPriv_CreateRule = 16384,
  143.     SQLOLEPriv_AllDatabasePrivs = 32640
  144. } SQLOLE_PRIVILEGE_TYPE;
  145.  
  146. typedef SQLOLE_HELPID(SQLOLE_PROCEDURE_TYPE) enum {
  147.     SQLOLEProc_Unknown = 0,
  148.     SQLOLEProc_Standard = 1,
  149.     SQLOLEProc_Extended = 2,
  150.     SQLOLEProc_Macro = 3,
  151.     SQLOLEProc_ReplicationFilter = 4
  152. } SQLOLE_PROCEDURE_TYPE;
  153.  
  154. // Trigger types may be OR'd together.
  155. typedef SQLOLE_HELPID(SQLOLE_TRIGGER_TYPE) enum {
  156.     SQLOLETrig_Unknown = 0,
  157.     SQLOLETrig_Insert = 1,
  158.     SQLOLETrig_Update = 2,
  159.     SQLOLETrig_Delete = 4,
  160.     SQLOLETrig_All = 7
  161. } SQLOLE_TRIGGER_TYPE;
  162.  
  163. typedef SQLOLE_HELPID(SQLOLE_INDEX_TYPE) enum {                            // SQLOLE Internal:  sync with ntinc\index.h
  164.     // Index type values as in sysindexes.status.
  165.     SQLOLEIndex_Default = 0x0000,
  166.     SQLOLEIndex_IgnoreDupKey = 0x0001,
  167.     SQLOLEIndex_Unique = 0x0002,
  168.     SQLOLEIndex_IgnoreDupRow = 0x0004,
  169.     SQLOLEIndex_Clustered = 0x0010,
  170.     SQLOLEIndex_AllowDupRow = 0x0040,
  171.     SQLOLEIndex_SortedData = 0x0200,
  172.     SQLOLEIndex_SortedDataReorg = 0x2000,    // 6.0-only; sorted-data with reorganization
  173.     SQLOLEIndex_Valid = 0x2257,                // Any of foregoing (writable) types
  174.     SQLOLEIndex_DRIPrimaryKey = 0x0800,        // 6.0-only, readonly; DRI-generated types
  175.     SQLOLEIndex_DRIUniqueKey = 0x1000,
  176.     SQLOLEIndex_DRIIndex = 0x1800            // Index implements DRI (DRIPrimaryKey | DRIUniqueKey)
  177. } SQLOLE_INDEX_TYPE;
  178.  
  179. typedef SQLOLE_HELPID(SQLOLE_QUERY_DATATYPE) enum {
  180.    // Indexed as per ..\common\inc\sql.hpp and sqlfront.h datatype constants.
  181.     SQLOLE_DTypeUnknown = 0,
  182.     SQLOLE_DTypeChar     = 0x2f,
  183.     SQLOLE_DTypeText     = 0x23,
  184.     SQLOLE_DTypeVarchar     = 0x27,
  185.     SQLOLE_DTypeVarBinary= 0x25,
  186.     SQLOLE_DTypeBinary     = 0x2d,
  187.     SQLOLE_DTypeImage     = 0x22,
  188.     SQLOLE_DTypeFloat4     = 0x3b,
  189.     SQLOLE_DTypeFloat8     = 0x3e,
  190.     SQLOLE_DTypeInt1     = 0x30,
  191.     SQLOLE_DTypeInt2     = 0x34,
  192.     SQLOLE_DTypeInt4        = 0x38,
  193.     SQLOLE_DTypeMoney4    = 0x7a,
  194.     SQLOLE_DTypeMoney    = 0x3c,
  195.     SQLOLE_DTypeDateTime    = 0x3d,
  196.     SQLOLE_DTypeDateTime4= 0x3a,
  197.     SQLOLE_DTypeBit        = 0x32
  198. } SQLOLE_QUERY_DATATYPE;
  199.  
  200. typedef SQLOLE_HELPID(SQLOLE_AUDIT_TYPE) enum {
  201.     SQLOLEAudit_None = 0,
  202.     SQLOLEAudit_Success = 1,
  203.     SQLOLEAudit_Failure = 2,
  204.     SQLOLEAudit_All = 3
  205. } SQLOLE_AUDIT_TYPE;
  206.  
  207. typedef SQLOLE_HELPID(SQLOLE_SECURITY_TYPE) enum {
  208.     SQLOLESecurity_Min = 0,
  209.     SQLOLESecurity_Normal = 0,
  210.     SQLOLESecurity_Integrated = 1,
  211.     SQLOLESecurity_Mixed = 2,
  212.     SQLOLESecurity_Max = 2
  213. } SQLOLE_SECURITY_TYPE;
  214.  
  215. typedef SQLOLE_HELPID(SQLOLE_MEDIA_TYPE) enum {
  216.     SQLOLEMedia_Floppy = 1,
  217.     SQLOLEMedia_FixedDisk = 2,
  218.     SQLOLEMedia_Tape = 4,
  219.     SQLOLEMedia_CDROM = 8,
  220.     SQLOLEMedia_All = 15
  221. } SQLOLE_MEDIA_TYPE;
  222.  
  223. typedef SQLOLE_HELPID(SQLOLE_PERFMON_TYPE) enum {
  224.     SQLOLEPerfmon_None = 1000,                    // No perfmon integration
  225.     SQLOLEPerfmon_MinSet = 0,
  226.     SQLOLEPerfmon_Continuous = 0,
  227.     SQLOLEPerfmon_OnDemand = 1,
  228.     SQLOLEPerfmon_MaxSet = 1
  229. } SQLOLE_PERFMON_TYPE;
  230.  
  231. typedef SQLOLE_HELPID(SQLOLE_STARTSRV_TYPE) enum {
  232.     SQLOLEStart_NoServiceControl = 1,
  233.     SQLOLEStart_NTErrorLogging = 2,
  234.     SQLOLEStart_SingleUser = 4,
  235.     SQLOLEStart_StartAndConnect = 8,
  236.     SQLOLEStart_RealTime = 16,
  237.     SQLOLEStart_Defaults = 10                    // ServiceControl, StartAndConnect, and NTErrorLogging
  238. } SQLOLE_STARTSRV_TYPE;
  239.  
  240. typedef SQLOLE_HELPID(SQLOLE_DBSTATUS_TYPE) enum {
  241.     SQLOLEDBStat_Normal = 0x0000,
  242.     SQLOLEDBStat_Loading = 0x0020,
  243.     SQLOLEDBStat_Recovering = 0x00c0,            // 0x40 | 0x80
  244.     SQLOLEDBStat_Suspect = 0x0100,
  245.     SQLOLEDBStat_Offline = 0x0200,
  246.     SQLOLEDBStat_Inaccessible = 0x03e0,            // Loading | Recovering | Suspect | Offline
  247.     SQLOLEDBStat_EmergencyMode = 0x8000,
  248.     SQLOLEDBStat_All = 0x83e0
  249. } SQLOLE_DBSTATUS_TYPE;
  250.  
  251. typedef SQLOLE_HELPID(SQLOLE_COPYDATA_TYPE) enum {
  252.     SQLOLECopyData_False = 0,
  253.     SQLOLECopyData_Replace = 1,
  254.     SQLOLECopyData_Append = 2
  255. } SQLOLE_COPYDATA_TYPE;
  256.  
  257. typedef SQLOLE_HELPID(SQLOLE_DATAFILE_TYPE) enum {
  258.     // Bulk-copy datafile options (Table/View.Export and Table.Import).  These are mutually exclusive.
  259.     SQLOLEDataFile_CommaDelimitedChar =         0x00000001,    // ColumnDelimiter == Comma, RowDelimiter == <CRLF>
  260.     SQLOLEDataFile_Default =                     0x00000001,    // Default == csv
  261.     SQLOLEDataFile_TabDelimitedChar =             0x00000002,    // ColumnDelimiter == <TAB>, RowDelimiter == <CRLF>
  262.     SQLOLEDataFile_SpecialDelimitedChar =         0x00000003,    // Set BulkCopy.ColumnDelimiter and .RowDelimiter
  263.     SQLOLEDataFile_NativeFormat =                 0x00000004,    // Use native datatype formats
  264.     SQLOLEDataFile_UseFormatFile =                 0x00000005,    // Use an existing format file.
  265. } SQLOLE_DATAFILE_TYPE;
  266.  
  267. typedef SQLOLE_HELPID(SQLOLE_STATUSINFO_TYPE) enum {
  268.     SQLOLEStatInfo_Unknown = 0,                    // Initialization value, not valid as a parameter
  269.     SQLOLEStatInfo_DatabaseStatus = 0x0001,        // Database.Status
  270.     SQLOLEStatInfo_DatabaseSpace = 0x0002,        // Database.SpaceAvailable
  271.     SQLOLEStatInfo_AutoVerifyConnection = 0x0004,    // Server.VerifyConnection done automatically.
  272.     SQLOLEStatInfo_All = 0x0007                    // All the foregoing
  273. } SQLOLE_STATUSINFO_TYPE;
  274.  
  275. typedef SQLOLE_HELPID(SQLOLE_SCRIPT_TYPE) enum {
  276.     // What's included in the Script method output.
  277.     SQLOLEScript_Default = 0x0004,                // Object creation only
  278.     SQLOLEScript_Drops = 0x0001,                // Include object drops
  279.     SQLOLEScript_ObjectPermissions = 0x0002,    // Include object permissions
  280.     SQLOLEScript_PrimaryObject = 0x0004,        // Include object creation
  281.     SQLOLEScript_ClusteredIndexes = 0x0008,        // Include clustered index creation (table only)
  282.     SQLOLEScript_Triggers = 0x0010,                // Include trigger creation (table only)
  283.     SQLOLEScript_DatabasePermissions = 0x0020,    // Database (statement) permissions
  284.     SQLOLEScript_Permissions = 0x0022,            // Both database and object permissions (for scripting users).
  285.     SQLOLEScript_ToFileOnly = 0x0040,            // If not set, a string is returned (if file nonnull, both are done)
  286.     SQLOLEScript_Bindings = 0x0080,                // Include rule/default bindings (table only)
  287.     SQLOLEScript_AppendToFile = 0x0100,            // Append to output file if it already exists.
  288.     SQLOLEScript_NoDRI = 0x0200,                // Do not include DRI (intended for use if targeting pre-6.0 server with scripts)
  289.     SQLOLEScript_UDDTsToBaseType = 0x0400,        // Convert UserDefinedDatatypes to base type when creating columns (table only)
  290.     SQLOLEScript_42Syntax = 0x0800,                // Use SQL 4.2x syntax (convert numerics, skip identity, etc.)
  291.     SQLOLEScript_ODBCSyntax = 0x0E00,            // Use ODBC syntax (strip SQL-specifics); includes NoDRI, UDDTsToBaseTypes.
  292.     SQLOLEScript_IncludeIfNotExists = 0x1000,    // Include "if not exists" on object creation.
  293.     SQLOLEScript_NonClusteredIndexes = 0x2000,    // Include nonclustered index creation (table only)
  294.     SQLOLEScript_Indexes = 0x12008,                // Include all index creation (table only)
  295.     SQLOLEScript_Aliases = 0x4000,                // For users, script aliases
  296.     SQLOLEScript_NoCommandTerm = 0x8000,        // Do not append "GO" to commands.
  297.     SQLOLEScript_DRIIndexes = 0x10000,            // Script DRI-generated indexes as indexes if NoDRI is specified.
  298.     SQLOLEScript_IncludeHeaders = 0x20000,        // Include descriptive header in individual object script output.
  299.     SQLOLEScript_OwnerQualify = 0x40000,        // Owner-qualify DROP statements (and CREATE where possible).
  300.     SQLOLEScript_TimestampToBinary = 0x80000,    // Convert timestamp columns to binary(8) (for replication, etc.).
  301.     SQLOLEScript_SortedData = 0x100000,         // If the index or constraint was clustered, append sorted_data
  302.     SQLOLEScript_SortedDataReorg = 0x200000,    // Same as SQLOLEScript_SortedData, but Reorg is used to preserve fillfactor.
  303.  
  304.     SQLOLEScript_TransferDefault = 0x670ff,        //The default script type for Transfer. This is combination of following flags:
  305.                                                 //SQLOLEScript_PrimaryObject | SQLOLEScript_Bindings | SQLOLEScript_ClusteredIndexes | SQLOLEScript_NonClusteredIndexes | 
  306.                                                 //SQLOLEScript_Triggers| SQLOLEScript_ToFileOnly|SQLOLEScript_Permissions| SQLOLEScript_IncludeHeaders|
  307.                                                 //SQLOLEScript_Aliases|SQLOLEScript_IncludeIfNotExists|SQLOLEScript_OwnerQualify
  308.  
  309.     // DRI-restrictive flags.  These may be combined with PrimaryObject as desired.
  310.     // These are to be used to include or exclude specific DRI components, such
  311.     // as for multi-pass scripting.
  312.     SQLOLEScript_DRI_NonClustered =     0x00400000,
  313.     SQLOLEScript_DRI_Clustered =         0x00800000,
  314.     SQLOLEScript_DRI_Checks =             0x01000000,
  315.     SQLOLEScript_DRI_Defaults =         0x02000000,
  316.     SQLOLEScript_DRI_UniqueKeys =         0x04000000,
  317.     SQLOLEScript_DRI_ForeignKeys =         0x08000000,
  318.     SQLOLEScript_DRI_PrimaryKey =         0x10000000,
  319.     SQLOLEScript_DRI_AllKeys =            0x1c000000, // Bitmask of all key types (PK, FK, Unique).
  320.     SQLOLEScript_DRI_AllConstraints =     0x1f000000,    // Bitmask of all constraint types (PK, FK, Unique, Check, Default).
  321.     SQLOLEScript_DRI_All =                 0x1fc00000,    // All the foregoing (specifying this and not PrimaryObject gets just DRI output).
  322.  
  323.     SQLOLEScript_DRIWithNoCheck =         0x20000000,    // Script DRI with nocheck (not included in _DRI_All).
  324.     SQLOLEScript_NoIdentity =             0x40000000,    // Script with no IDENTITY attribute (e.g. for Replication).
  325.  
  326.     // Scripts with quoted identifiers. Also will cause Transfer to SET QUOTED_IDENTIFIER ON on the destination.
  327.     SQLOLEScript_UseQuotedIdentifiers =    0x80000000
  328. } SQLOLE_SCRIPT_TYPE;
  329.  
  330. typedef SQLOLE_HELPID(SQLOLE_XFRSCRIPTMODE_TYPE) enum {
  331.     // How many files the XFR Script is to written to.
  332.     SQLOLEXfrFile_Default = 0x0001,    
  333.     SQLOLEXfrFile_SummaryFiles    = 0x0001,        // One files per class of objects transferred/dropped
  334.     SQLOLEXfrFile_SingleFile    = 0x0002,        // All scripts go to same file
  335.     SQLOLEXfrFile_SingleFilePerObject = 0x0004    // One file per object
  336. } SQLOLE_XFRSCRIPTMODE_TYPE;
  337.  
  338. typedef SQLOLE_HELPID(SQLOLE_DEPENDENCY_TYPE) enum {
  339.     SQLOLEDep_Parents = 0,                        // Default:  return all parents of input object
  340.     SQLOLEDep_FullHierarchy = 0x10000,            // Return full hierarchy; multiple rows of object and parents/children
  341.     SQLOLEDep_OrderDescending = 0x20000,        // Order return in descending order
  342.     SQLOLEDep_Children = 0x40000,                // Return children of input object
  343.     SQLOLEDep_ReturnInputObject = 0x80000,        // Include input object in the return set
  344.     SQLOLEDep_FirstLevelOnly = 0x100000,        // Return only immediate parents/children
  345.     SQLOLEDep_DRIOnly = 0x200000,                // Return DRI dependencies only.
  346.     SQLOLEDep_Valid = 0x3f0000                    // All valid options.
  347. } SQLOLE_DEPENDENCY_TYPE;
  348.  
  349. typedef SQLOLE_HELPID(SQLOLE_OBJSORT_TYPE) enum {
  350.     SQLOLEObjSort_Name = 0,
  351.     SQLOLEObjSort_Type = 1,
  352.     SQLOLEObjSort_Owner = 2,
  353.     SQLOLEObjSort_Date = 3
  354. } SQLOLE_OBJSORT_TYPE;
  355.  
  356. // May be bitmasked.
  357. typedef SQLOLE_HELPID(SQLOLE_COMPLETION_TYPE) enum {
  358.     SQLOLEComp_Unknown = 0x1000,        // Only bit set
  359.     SQLOLEComp_None = 0x0000,
  360.     SQLOLEComp_Success = 0x0001,
  361.     SQLOLEComp_Failure = 0x0002,
  362.     SQLOLEComp_Always = 0x0003,
  363.     SQLOLEComp_Running = 0x0004,
  364.     SQLOLEComp_Aborted = 0x0008,
  365.     SQLOLEComp_Skipped = 0x0010,
  366.     SQLOLEComp_All = 0x001f
  367. } SQLOLE_COMPLETION_TYPE;
  368.  
  369. typedef SQLOLE_HELPID(SQLOLE_EVENT_TYPE) enum {
  370.     SQLOLEEvent_Unknown = 0x0000,
  371.     SQLOLEEvent_Info = 0x0001,
  372.     SQLOLEEvent_Warning = 0x0002,
  373.     SQLOLEEvent_Error = 0x0004,
  374.     SQLOLEEvent_AuditSuccess = 0x0008,
  375.     SQLOLEEvent_AuditFailure = 0x0010,
  376.     SQLOLEEvent_All = 0x001f
  377. } SQLOLE_EVENT_TYPE;
  378.  
  379. typedef SQLOLE_HELPID(SQLOLE_SVCSTATUS_TYPE) enum {
  380.     SQLOLESvc_Unknown = 0,
  381.     SQLOLESvc_Running = 1,
  382.     SQLOLESvc_Paused = 2,
  383.     SQLOLESvc_Stopped = 3,
  384.     SQLOLESvc_Starting = 4,
  385.     SQLOLESvc_Stopping = 5,
  386.     SQLOLESvc_Continuing = 6,
  387.     SQLOLESvc_Pausing = 7
  388. } SQLOLE_SVCSTATUS_TYPE;
  389.  
  390. typedef SQLOLE_HELPID(SQLOLE_FREQUENCY_TYPE) enum {                            // SQLOLE Internal:  sync with qsched.h
  391.     SQLOLEFreq_Unknown = 0x0000,
  392.     SQLOLEFreq_OneTime = 0x0001,
  393.     SQLOLEFreq_OnDemand = 0x0002,
  394.     SQLOLEFreq_Daily = 0x0004,
  395.     SQLOLEFreq_Weekly = 0x0008,
  396.     SQLOLEFreq_Monthly = 0x0010,
  397.     SQLOLEFreq_MonthlyRelative = 0x0020,
  398.     SQLOLEFreq_Autostart = 0x0040,
  399.     SQLOLEFreq_Recurring = 0x007c,        // Any recurring type
  400.     SQLOLEFreq_Valid = 0x007f            // All valid frequency types
  401. } SQLOLE_FREQUENCY_TYPE;
  402.  
  403. typedef SQLOLE_HELPID(SQLOLE_FREQSUB_TYPE) enum {                            // SQLOLE Internal:  sync with qsched.h
  404.     SQLOLEFreqSub_Unknown = 0x0000,
  405.     SQLOLEFreqSub_Once = 0x0001,
  406.     SQLOLEFreqSub_Minute = 0x0004,
  407.     SQLOLEFreqSub_Hour = 0x0008,
  408.     SQLOLEFreqSub_Valid = 0x000d        // All valid frequency subtypes
  409. } SQLOLE_FREQSUB_TYPE;
  410.  
  411. typedef SQLOLE_HELPID(SQLOLE_FREQRELATIVE_TYPE) enum {                        // SQLOLE Internal:  sync with qsched.h
  412.     SQLOLEFreqRel_Unknown = 0x0000,
  413.     SQLOLEFreqRel_First = 0x0001,
  414.     SQLOLEFreqRel_Second = 0x0002,
  415.     SQLOLEFreqRel_Third = 0x0004,
  416.     SQLOLEFreqRel_Fourth = 0x0008,
  417.     SQLOLEFreqRel_Last = 0x0010,
  418.     SQLOLEFreqRel_Valid = 0x001f        // All valid Relative frequencies.
  419. } SQLOLE_FREQRELATIVE_TYPE;
  420.  
  421. typedef SQLOLE_HELPID(SQLOLE_WEEKDAY_TYPE) enum {                            // SQLOLE Internal:  sync with qsched.h
  422.     // Specify for SQLOLEFreq_Weekly; bitmask
  423.     SQLOLEWeek_Unknown = 0x0000,
  424.     SQLOLEWeek_Sunday = 0x0001,
  425.     SQLOLEWeek_Monday = 0x0002,
  426.     SQLOLEWeek_Tuesday = 0x0004,
  427.     SQLOLEWeek_Wednesday = 0x0008,
  428.     SQLOLEWeek_Thursday = 0x0010,
  429.     SQLOLEWeek_Friday = 0x0020,
  430.     SQLOLEWeek_Saturday = 0x0040,
  431.     SQLOLEWeek_WeekDays = 0x003e,        // Monday - Friday
  432.     SQLOLEWeek_WeekEnds = 0x0041,        // Saturday - Sunday
  433.     SQLOLEWeek_EveryDay = 0x007f
  434. } SQLOLE_WEEKDAY_TYPE;
  435.  
  436. typedef SQLOLE_HELPID(SQLOLE_MONTHDAY_TYPE) enum {                            // SQLOLE Internal:  sync with qsched.h
  437.     // Specify for SQLOLEFreq_MonthlyRelative; single-value.
  438.     // This is the relative interval SQLOLE_FREQRELATIVE_TYPE;
  439.     // e.g., on the xth Monday of the month.
  440.     SQLOLEMonth_Unknown = 0,
  441.     SQLOLEMonth_MinValid = 1,
  442.     SQLOLEMonth_Sunday = 1,
  443.     SQLOLEMonth_Monday = 2,
  444.     SQLOLEMonth_Tuesday = 3,
  445.     SQLOLEMonth_Wednesday = 4,
  446.     SQLOLEMonth_Thursday = 5,
  447.     SQLOLEMonth_Friday = 6,
  448.     SQLOLEMonth_Saturday = 7,
  449.     SQLOLEMonth_Day = 8,                // xth day
  450.     SQLOLEMonth_WeekDay = 9,            // xth weekday
  451.     SQLOLEMonth_WeekEndDay = 10,        // xth weekendday
  452.     SQLOLEMonth_MaxValid = 10
  453. } SQLOLE_MONTHDAY_TYPE;
  454.  
  455. typedef SQLOLE_HELPID(SQLOLE_SRVOPTION_TYPE) enum {
  456.     SQLOLESrvOpt_Unknown = 0x0000,
  457.     SQLOLESrvOpt_RPC = 0x0001,
  458.     SQLOLESrvOpt_Publisher = 0x0002,
  459.     SQLOLESrvOpt_Subscriber = 0x0004,
  460.     SQLOLESrvOpt_Distributor = 0x0008,
  461.     SQLOLESrvOpt_DistPublisher = 0x0010,    // Separate from Publisher and Distributor; dpub bit set
  462.     SQLOLESrvOpt_ODBCDatasource = 0x0020,    // Server is an ODBC datasource
  463.     SQLOLESrvOpt_Valid = 0x003f
  464. } SQLOLE_SRVOPTION_TYPE;
  465.  
  466. typedef SQLOLE_HELPID(SQLOLE_SUBSCRIBERINFO_TYPE) enum {
  467.     SQLOLESubInfo_SQLServer = 0x00000000,        // Current version of MS SQLServer.
  468.     SQLOLESubInfo_ODBCDatasource = 0x00000001    // ODBC Datasource
  469. } SQLOLE_SUBSCRIBERINFO_TYPE;
  470.  
  471. typedef SQLOLE_HELPID(SQLOLE_TABLEATT_TYPE) enum {
  472.     // Values from sysobjects.category.
  473.     SQLOLETabAtt_Identity =     0x0001,        // Table has an identity column
  474.     SQLOLETabAtt_SystemObject =    0x0002,        // Table is a Microsoft system-required object
  475.     SQLOLETabAtt_ForeignKey =     0x0004,     // Table has a foreign key
  476.     SQLOLETabAtt_Referenced =     0x0008,        // Table is referenced by another table's foreign key
  477.     SQLOLETabAtt_Published =     0x0020,        // Table is published
  478.     SQLOLETabAtt_Replicated =    0x0040,        // Table has an active subscriber
  479.     SQLOLETabAtt_Check =         0x0080,        // Table has a check constraint
  480.     SQLOLETabAtt_Replica =         0x0100,        // Table is actively subscribed to a publisher
  481.     SQLOLETabAtt_PrimaryKey =     0x0200,        // Table has a primary key
  482.     SQLOLETabAtt_Unique =         0x0400,        // Table has a unique constraint
  483.     SQLOLETabAtt_Default =         0x0800,        // Table has a DRI default
  484.     SQLOLETabAtt_ReplCheck =     0x1000,        // Table has a check constraint that excludes replication
  485.     SQLOLETabAtt_HasConstraint =0x1c84        // Table has at least one DRI constraint
  486. } SQLOLE_TABLEATT_TYPE;
  487.  
  488. typedef SQLOLE_HELPID(SQLOLE_INITIALSYNC_TYPE) enum {
  489.     SQLOLEInitSync_Unknown = 10,     // Pick your favourite invalid number
  490.     SQLOLEInitSync_Min = 0,
  491.     SQLOLEInitSync_BCPNative = 0,
  492.     SQLOLEInitSync_BCPChar = 1,
  493.     SQLOLEInitSync_TableDumpLoad = 2,
  494.     SQLOLEInitSync_Max = 2
  495. } SQLOLE_INITIALSYNC_TYPE;
  496.  
  497. typedef SQLOLE_HELPID(SQLOLE_REPFREQ_TYPE) enum {
  498.     SQLOLERepFreq_Unknown = 1000,        // Tinyint out-of-range
  499.     SQLOLERepFreq_Min = 0,
  500.     SQLOLERepFreq_Continuous = 0,
  501.     SQLOLERepFreq_Snapshot = 1,
  502.     SQLOLERepFreq_Max = 1
  503. } SQLOLE_REPFREQ_TYPE;
  504.  
  505. typedef SQLOLE_HELPID(SQLOLE_REPLICATION_TYPE) enum {
  506.     SQLOLERep_Unknown = 0x100,                         // Tinyint out-of-range
  507.     SQLOLERep_LogBased = 0x0001,                    // Base for all LogBased replication types.
  508.     SQLOLERep_ManualFilterProc = 0x0002,            // Bit for manually created (not auto-generated) filter proc
  509.     SQLOLERep_LogBasedManualFilterProc = 0x0003,    // Log based, with manually created sync view.
  510.     SQLOLERep_ManualSyncView = 0x0004,                // Bit for manually created (not auto-generated) filter proc.
  511.     SQLOLERep_LogBasedManualSyncView = 0x0005,        // Log based, with manually created filter proc.
  512.     SQLOLERep_LogBasedManualBoth = 0x0007,            // Log based, with manually created sync view and filter proc.
  513.     SQLOLERep_Valid = 7
  514. } SQLOLE_REPLICATION_TYPE;
  515.  
  516. typedef SQLOLE_HELPID(SQLOLE_SUBSYNC_TYPE) enum {
  517.     SQLOLESubSync_Unknown = 1000,        // Tinyint out-of-range
  518.     SQLOLESubSync_Min = 0,
  519.     SQLOLESubSync_Manual = 0,
  520.     SQLOLESubSync_Auto = 1,
  521.     SQLOLESubSync_Default = 1,            // Auto is default.
  522.     SQLOLESubSync_None = 2,
  523.     SQLOLESubSync_Max = 2
  524. } SQLOLE_SUBSYNC_TYPE;
  525.  
  526. typedef SQLOLE_HELPID(SQLOLE_PREARTICLE_TYPE) enum {
  527.     // Article pre-creation methods on destination table.
  528.     SQLOLEPreArt_Min = 0,
  529.     SQLOLEPreArt_None = 0,                // Do nothing
  530.     SQLOLEPreArt_DropTable = 1,            // Drop and re-create table
  531.     SQLOLEPreArt_DeleteRows = 2,        // Delete rows (logged)
  532.     SQLOLEPreArt_TruncateTable = 3,        // Truncate table (nonlogged)
  533.     SQLOLEPreArt_Max = 3
  534. } SQLOLE_PREARTICLE_TYPE;
  535.  
  536. typedef SQLOLE_HELPID(SQLOLE_SUBSTATUS_TYPE) enum {
  537.     SQLOLESubStat_Unknown = 1000,        // Tinyint out-of-range
  538.     SQLOLESubStat_Default = 1000,        // Use default
  539.     SQLOLESubStat_Min = 0,
  540.     SQLOLESubStat_Inactive = 0,
  541.     SQLOLESubStat_Unsynced = 1,
  542.     SQLOLESubStat_Active = 2,
  543.     SQLOLESubStat_Max = 2
  544. } SQLOLE_SUBSTATUS_TYPE;
  545.  
  546. typedef SQLOLE_HELPID(SQLOLE_RUNPRIORITY_TYPE) enum {
  547.     // These must match the NT ThreadPriority values.
  548.     SQLOLERunPri_Unknown = 100,            // Invalid ThreadPriority
  549.     SQLOLERunPri_Min = 1,
  550.     SQLOLERunPri_Idle = -15,
  551.     SQLOLERunPri_Lowest = -2,
  552.     SQLOLERunPri_BelowNormal = -1,
  553.     SQLOLERunPri_Normal = 0,
  554.     SQLOLERunPri_AboveNormal = 1,
  555.     SQLOLERunPri_Highest = 2,
  556.     SQLOLERunPri_TimeCritical = 15,
  557. } SQLOLE_RUNPRIORITY_TYPE;
  558.  
  559. typedef SQLOLE_HELPID(SQLOLE_INTSECLOGIN_TYPE) enum {
  560.     SQLOLEIntSecLogin_Unknown = 0,
  561.     SQLOLEIntSecLogin_Min = 1,
  562.     SQLOLEIntSecLogin_Admin = 1,
  563.     SQLOLEIntSecLogin_User = 2,
  564.     SQLOLEIntSecLogin_Replication = 3,
  565.     SQLOLEIntSecLogin_Max = 3
  566. } SQLOLE_INTSECLOGIN_TYPE;
  567.  
  568. typedef SQLOLE_HELPID(SQLOLE_NOTIFY_TYPE) enum {
  569.     SQLOLENotify_None = 0x0000,
  570.     SQLOLENotify_Email = 0x0001,
  571.     SQLOLENotify_Pager = 0x0002,
  572.     SQLOLENotify_Both = 0x0003,
  573.     SQLOLENotify_Valid = 0x0003
  574. } SQLOLE_NOTIFY_TYPE;
  575.  
  576. typedef SQLOLE_HELPID(SQLOLE_ENUMNOTIFY_TYPE) enum {
  577.     SQLOLEEnumNotify_Min = 1,
  578.     SQLOLEEnumNotify_All = 1,            // All operators/alerts
  579.     SQLOLEEnumNotify_Actual = 2,        // Only operators/alerts receiving notifications for this alert/operator
  580.     SQLOLEEnumNotify_Target = 3,        // Specifically named target alert/operator(s)
  581.     SQLOLEEnumNotify_Max = 3
  582. } SQLOLE_ENUMNOTIFY_TYPE;
  583.  
  584. typedef SQLOLE_HELPID(SQLOLE_VERIFYCONN_TYPE) enum {
  585.     SQLOLEConn_LastState = 0x0001,            // State of conn at end of last operation.
  586.     SQLOLEConn_CurrentState = 0x0002,        // Actual current state (checks pipe, etc.)
  587.     SQLOLEConn_ReconnectIfDead = 0x0006,    // Reconnect if we've been disconnected (0x0004 | CurrentState)..
  588.     SQLOLEConn_Valid = 0x0007                // All valid conn operations.
  589. } SQLOLE_VERIFYCONN_TYPE;
  590.  
  591. typedef SQLOLE_HELPID(SQLOLE_EXEC_TYPE) enum {
  592.     // For ExecuteImmediate, tells how to handle multi-batch commands.
  593.     SQLOLEExec_Default = 0x0000,            // None of the following
  594.     SQLOLEExec_NoCommandTerm = 0x0001,        // No command-terminator parsing (i.e. don't check for "GO"; exec as single batch)
  595.     SQLOLEExec_ContinueOnError = 0x0002,    // Continue batch on all but broken-connection errors.
  596.     SQLOLEExec_NoExec = 0x0004,                // SET NOEXEC ON/OFF
  597.     SQLOLEExec_ParseOnly = 0x0008            // SET PARSEONLY ON/OFF
  598. } SQLOLE_EXEC_TYPE;
  599.  
  600. typedef SQLOLE_HELPID(SQLOLE_CONFIGVALUE_TYPE) enum {
  601.     SQLOLEConfig_RecoveryInterval = 101,
  602.     SQLOLEConfig_AllowUpdates = 102,
  603.     SQLOLEConfig_UserConnections = 103,
  604.     SQLOLEConfig_Memory = 104,
  605.     SQLOLEConfig_OpenDatabases = 105,
  606.     SQLOLEConfig_Locks = 106,
  607.     SQLOLEConfig_OpenObjects = 107,
  608.     SQLOLEConfig_ProcedureCache = 108,
  609.     SQLOLEConfig_FillFactor = 109,
  610.     SQLOLEConfig_DatabaseSize = 111,
  611.     SQLOLEConfig_MediaRetention = 112,
  612.     SQLOLEConfig_RecoveryFlags = 113,
  613.     SQLOLEConfig_NestedTriggers = 115,
  614.     SQLOLEConfig_RemoteAccess = 117,
  615.     SQLOLEConfig_DefaultLanguage = 124,
  616.     SQLOLEConfig_LanguageInCache = 125,
  617.     SQLOLEConfig_TempdbInRamMB = 501,
  618.     SQLOLEConfig_MaxAsyncIO = 502,
  619.     SQLOLEConfig_MaxWorkerThreads = 503,
  620.     SQLOLEConfig_NetworkPacketSize = 505,
  621.     SQLOLEConfig_RAWorkerThreads = 508,
  622.     SQLOLEConfig_ShowAdvancedOption = 518,
  623.     SQLOLEConfig_LEThresholdPercent = 521,
  624.     SQLOLEConfig_LEThresholdMaximum = 523,
  625.     SQLOLEConfig_BackupThreads = 540,
  626.     SQLOLEConfig_BackupBufferSize = 541,
  627.     SQLOLEConfig_RemoteProcTrans = 542,
  628.     SQLOLEConfig_RemoteConnTimeout = 543,
  629.     SQLOLEConfig_TimeSlice = 1110,
  630.     SQLOLEConfig_RemoteSites = 1119,
  631.     SQLOLEConfig_DefaultSortorderId = 1123,
  632.     SQLOLEConfig_HashBuckets = 1504,
  633.     SQLOLEConfig_SortPages = 1505,
  634.     SQLOLEConfig_MaxLazywriteIO = 1506,
  635.     SQLOLEConfig_RASlotsPerThread = 1509,
  636.     SQLOLEConfig_RAPrefetches = 1510,
  637.     SQLOLEConfig_RADelay = 1511,
  638.     SQLOLEConfig_RACacheMissLimit = 1512,
  639.     SQLOLEConfig_RACacheHitLimit = 1513,
  640.     SQLOLEConfig_SpinCounter = 1514,
  641.     SQLOLEConfig_FreeBuffers = 1515,
  642.     SQLOLEConfig_SMPConcurrency = 1516,
  643.     SQLOLEConfig_PriorityBoost = 1517,
  644.     SQLOLEConfig_RemoteLoginTimeout = 1519,
  645.     SQLOLEConfig_RemoteQueryTimeout = 1520,
  646.     SQLOLEConfig_LEThresholdMinimum = 1522,
  647.     SQLOLEConfig_LogwriteSleepMS = 1530,
  648.     SQLOLEConfig_CursorThreshold = 1531,
  649.     SQLOLEConfig_SetWorkingSetSize = 1532,
  650.     SQLOLEConfig_ResourceTimeout = 1533,
  651.     SQLOLEConfig_UserOptions = 1534,
  652.     SQLOLEConfig_ProcessorAffinityMask = 1535,
  653.     SQLOLEConfig_MaxTextReplSize = 1536
  654. } SQLOLE_CONFIGVALUE_TYPE;
  655.  
  656. typedef SQLOLE_HELPID(SQLOLE_SRVUSERPROFILE_TYPE) enum {
  657.     // Output from Server.GetUserProfile
  658.     SQLOLESrvUserProf_None = 0x0000,
  659.     SQLOLESrvUserProf_SaLogin = 0x0001,                        // User is System Administrator
  660.     SQLOLESrvUserProf_CreateDatabase = 0x0002,                // User has privilege to do this
  661.     SQLOLESrvUserProf_CreateXP = 0x0004,                    // User can create Extended Stored Procedures
  662.  
  663.     SQLOLESrvUserProf_AllProfileBits = 0x0007                // All server profile bits
  664. } SQLOLE_SRVUSERPROFILE_TYPE;
  665.  
  666. typedef SQLOLE_HELPID(SQLOLE_DBUSERPROFILE_TYPE) enum {
  667.     // Output from Database.GetUserProfile
  668.     SQLOLEDbUserProf_None = 0x0000,
  669.     SQLOLEDbUserProf_DboLogin = 0x0001,                        // User is Database Owner
  670.     SQLOLEDbUserProf_CreateTable = 0x0002,                    // User has these privileges
  671.     SQLOLEDbUserProf_CreateView = 0x0004,
  672.     SQLOLEDbUserProf_CreateProcedure = 0x0008,
  673.     SQLOLEDbUserProf_DumpDatabase = 0x0010,
  674.     SQLOLEDbUserProf_CreateDefault = 0x0020,
  675.     SQLOLEDbUserProf_DumpTransaction = 0x0040,
  676.     SQLOLEDbUserProf_CreateRule = 0x0080,
  677.  
  678.     SQLOLEDbUserProf_AllProfileBits = 0x00ff,                // All DB-valid profile bits
  679.  
  680.     SQLOLEDbUserProf_InvalidLogin = 0x40000000,                // Current login not a valid user in this database.
  681.     SQLOLEDbUserProf_InaccessibleDb = 0x80000000,            // Database Loading | Recovering | Suspect | Offline
  682.     SQLOLEDbUserProf_DbNotAvailable = 0xc0000000            // All Database-not-accessible bits.
  683. } SQLOLE_DBUSERPROFILE_TYPE;
  684.  
  685. typedef SQLOLE_HELPID(SQLOLE_ERROR_TYPE) enum {
  686.     // Error values.  (MS-Internal:  See usa.rc for the string representation of these (OSQL_S_*)).
  687.     // DBLib uses 10000 (0x2710) to 10200 (0x27D8).
  688.     SQLOLE_E_DBLIBFIRSTERROR = 0x2710,
  689.     SQLOLE_E_DBLIBLASTERROR = 0x27D8,
  690.  
  691.     // SQL Server itself sends errors back which may be up to 20000 (0x4E20).
  692.     // SQLOLE-detected errors are in the range SQLOLE_E_FIRSTERROR to SQLOLE_E_LASTERROR.
  693.     // Each SQLOLE_ECAT (Error CATegory) summarizes its specific errorcodes.
  694.     SQLOLE_E_FIRSTERROR = 0x5000,
  695.  
  696. // All error categories masked off by this.
  697. SQLOLE_ECAT_MASK = 0x5F00,
  698.  
  699. // Errors indicating an operation that is valid but not in the given context.
  700. SQLOLE_ECAT_INVALIDCONTEXT = 0x5000,
  701.     SQLOLE_E_ALREADYCONN = 0x5000,
  702.     SQLOLE_E_ALREADYCOLL = 0x5001,
  703.     SQLOLE_E_NOTCONN = 0x5002,
  704.     SQLOLE_E_CANTDROPSERVER = 0x5003,
  705.     SQLOLE_E_NOCOMPLEXALTER = 0x5004,
  706.     SQLOLE_E_PROPNEEDSCREATE = 0x5005,
  707.     SQLOLE_E_COLTYPEFIXED = 0x5006,
  708.     SQLOLE_E_COLTYPENONNULL = 0x5007,
  709.     SQLOLE_E_CANTCHANGEUDDT = 0x5008,
  710.     SQLOLE_E_BASETYPEFIXED = 0x5009,
  711.     SQLOLE_E_BASETYPENONNULL = 0x500A,
  712.     SQLOLE_E_ENUMORDINAL = 0x500B,
  713.     SQLOLE_E_CANTRENAMEUSER = 0x500C,
  714.     SQLOLE_E_CANTRENAMEGROUP = 0x500D,
  715.     SQLOLE_E_CANTRENAMELOGIN = 0x500E,
  716.     SQLOLE_E_CANTRENAMEDEVICE = 0x500F,
  717.     SQLOLE_E_NOTDUMPPROP = 0x5010,
  718.     SQLOLE_E_NOSERVERASSOC = 0x5011,
  719.     SQLOLE_E_NOTCOLLTYPE = 0x5012,
  720.     SQLOLE_E_CANTMODIFYDRIINDEX = 0x5013,
  721.     SQLOLE_E_CANTCHANGEPROCTYPE = 0x5014,
  722.     SQLOLE_E_CANTMODIFYINDEX = 0x5015,
  723.     SQLOLE_E_INVALIDPRIVOBJ = 0x5016,
  724.     SQLOLE_E_CANTCHANGETRIGTYPE = 0x5017,
  725.     SQLOLE_E_NOVIEWCOLALTER = 0x5018,
  726.     SQLOLE_E_CANTRENAMELANGUAGE = 0x5019,
  727.     SQLOLE_E_CANTRENAMERSERVER = 0x501A,
  728.     SQLOLE_E_CANTRENAMERLOGIN = 0x501B,
  729.     SQLOLE_E_MUSTBEDBDEV = 0x501C,
  730.     SQLOLE_E_NOINACTIVEMIRROR = 0x501D,
  731.     SQLOLE_E_NOACTIVEMIRROR = 0x501E,
  732.     SQLOLE_E_NOMIRROR = 0x501F,
  733.     SQLOLE_E_SERVERDISCONNECTED = 0x5020,
  734.     SQLOLE_E_CANTRENAMESERVER = 0x5021,
  735.     SQLOLE_E_CANTMODIFYTEXT = 0x5022,
  736.     SQLOLE_E_CANTMODIFYSYSTABLE = 0x5023,
  737.     SQLOLE_E_LOGINALREADYALIASED = 0x5024,
  738.     SQLOLE_E_LOGINALREADYUSER = 0x5025,
  739.     SQLOLE_E_CACHENORESULTS = 0x5026,
  740.     SQLOLE_E_ALREADYCREATED = 0x5027,
  741.     SQLOLE_E_NOTDISCONN = 0x5028,
  742.     SQLOLE_E_CANTMODIFYARTTABLE = 0x5029,
  743.     SQLOLE_E_CANTMODIFYSUBSERVER = 0x502A,
  744.     SQLOLE_E_BASETYPENOTNUMERIC = 0x502B,
  745.     SQLOLE_E_TOFILEBUTNOFILENAME = 0x502C,
  746.     SQLOLE_E_MUSTBEDISTSERVER = 0x502D,
  747.     SQLOLE_E_CANTMODIFYKEY = 0x502E,
  748.     SQLOLE_E_LISTCANTREFRESH = 0x502F,
  749.     SQLOLE_E_NOCOLTABLE = 0x5030,
  750.     SQLOLE_E_MUSTBEINALTER = 0x5031,
  751.     SQLOLE_E_CANTUNDEDICATELOGDEVICE = 0x5032,
  752.     SQLOLE_E_CANTRENAMESERVERGROUP = 0x5033,
  753.     SQLOLE_E_CANTRENAMEREGISTEREDSERVER = 0x5034,
  754.     SQLOLE_E_INDEXREBUILDKEYTYPE = 0x5035,
  755.     SQLOLE_E_REBUILDINDEXOPTIONS = 0x5036,
  756.     SQLOLE_E_IMPERSONATEXPONLY = 0x5037,
  757.  
  758. // Errors indicating that the OLE object is not (or is no longer) valid in SQLOLE.
  759. SQLOLE_ECAT_INVALIDOBJECT = 0x5100,
  760.     SQLOLE_E_OBJECTDROPPED = 0x5100,
  761.     SQLOLE_E_NOTSQLOLEOBJECT = 0x5101,
  762.     SQLOLE_E_OBJECTDETACHED = 0x5102,
  763.     SQLOLE_E_SERVERCLOSED = 0x5103,
  764.  
  765. // Errors indicating that an attempt was made to create an object (usually to add an object
  766. // to a collection) but that its definition (property settings) were incomplete or inconsistent.
  767. SQLOLE_ECAT_INVALIDOBJECTDEFINITION = 0x5200,
  768.     SQLOLE_E_NOCOLUMNSADDED = 0x5200,
  769.     SQLOLE_E_COLUMNINCOMPLETE = 0x5201,
  770.     SQLOLE_E_TABLEINCOMPLETE = 0x5202,
  771.     SQLOLE_E_UDDTINCOMPLETE = 0x5203,
  772.     SQLOLE_E_RULEINCOMPLETE = 0x5204,
  773.     SQLOLE_E_DEFAULTINCOMPLETE = 0x5205,
  774.     SQLOLE_E_VIEWINCOMPLETE = 0x5206,
  775.     SQLOLE_E_USERINCOMPLETE = 0x5207,
  776.     SQLOLE_E_GROUPINCOMPLETE = 0x5208,
  777.     SQLOLE_E_PROCINCOMPLETE = 0x5209,
  778.     SQLOLE_E_USERALREADYEXISTS = 0x520A,
  779.     SQLOLE_E_GROUPALREADYEXISTS = 0x520B,
  780.     SQLOLE_E_COLUMNALREADYEXISTS = 0x520C,
  781.     SQLOLE_E_OBJECTALREADYEXISTS = 0x520D,
  782.     SQLOLE_E_INDEXALREADYEXISTS = 0x520E,
  783.     SQLOLE_E_DBALREADYEXISTS = 0x520F,
  784.     SQLOLE_E_LOGINALREADYEXISTS = 0x5210,
  785.     SQLOLE_E_DEVICEALREADYEXISTS = 0x5211,
  786.     SQLOLE_E_SKIPONLYTAPE = 0x5212,
  787.     SQLOLE_E_DEVICEINCOMPLETE = 0x5213,
  788.     SQLOLE_E_PROCALREADYEXISTS = 0x5214,
  789.     SQLOLE_E_UDDTALREADYEXISTS = 0x5215,
  790.     SQLOLE_E_TABLEALREADYEXISTS = 0x5216,
  791.     SQLOLE_E_RULEALREADYEXISTS = 0x5217,
  792.     SQLOLE_E_DEFAULTALREADYEXISTS = 0x5218,
  793.     SQLOLE_E_VIEWALREADYEXISTS = 0x5219,
  794.     SQLOLE_E_INDEXINCOMPLETE = 0x521A,
  795.     SQLOLE_E_TRIGINCOMPLETE = 0x521B,
  796.     SQLOLE_E_TRIGALREADYEXISTS = 0x521C,
  797.     SQLOLE_E_LANGUAGEINCOMPLETE = 0x521D,
  798.     SQLOLE_E_LANGUAGEALREADYEXISTS = 0x521E,
  799.     SQLOLE_E_LOGININCOMPLETE = 0x521F,
  800.     SQLOLE_E_RSERVERINCOMPLETE = 0x5220,
  801.     SQLOLE_E_RSERVERALREADYEXISTS = 0x5221,
  802.     SQLOLE_E_NULLRLOGINALREADYEXISTS = 0x5222,
  803.     SQLOLE_E_RLOGINALREADYEXISTS = 0x5223,
  804.     SQLOLE_E_REMOTENEEDSLOCAL = 0x5224,
  805.     SQLOLE_E_BACKUPNEEDSDEVICE = 0x5225,
  806.     SQLOLE_E_NEEDMANUALFILTERNAME = 0x5226,
  807.     SQLOLE_E_TASKINCOMPLETE = 0x5227,
  808.     SQLOLE_E_ARTINCOMPLETE = 0x5228,
  809.     SQLOLE_E_PUBINCOMPLETE = 0x5229,
  810.     SQLOLE_E_SUBINCOMPLETE = 0x522A,
  811.     SQLOLE_E_ALERTINCOMPLETE = 0x522B,
  812.     SQLOLE_E_OPERATORINCOMPLETE = 0x522C,
  813.     SQLOLE_E_NAMEMUSTMATCH = 0x522D,
  814.     SQLOLE_E_TRIGREQTABLENAME = 0x522E,
  815.     SQLOLE_E_MUSTBESYNCTASK = 0x522F,
  816.     SQLOLE_E_NOEVENTCOMPLETION = 0x5230,
  817.     SQLOLE_E_FKEYINCOMPLETE = 0x5231,
  818.     SQLOLE_E_KEYINCOMPLETE = 0x5232,
  819.     SQLOLE_E_KEYALREADYEXISTS = 0x5233,
  820.     SQLOLE_E_CHECKINCOMPLETE = 0x5234,
  821.     SQLOLE_E_DRIDEFAULTINCOMPLETE = 0x5235,
  822.     SQLOLE_E_CHECKALREADYEXISTS = 0x5236,
  823.     SQLOLE_E_ONLYONEPRIMARYKEY = 0x5237,
  824.     SQLOLE_E_NEEDMANUALVIEWNAME = 0x5238,
  825.     SQLOLE_E_SERVERGROUPINCOMPLETE = 0x5239,
  826.     SQLOLE_E_REGISTEREDSERVERINCOMPLETE = 0x523A,
  827.     SQLOLE_E_SERVERGROUPALREADYEXISTS = 0x523B,
  828.     SQLOLE_E_REGISTEREDSERVERALREADYEXISTS = 0x523C,
  829.     SQLOLE_E_NEEDLOADTABLENAME = 0x523D,
  830.  
  831. // Errors indicating an invalid parameter passed to a method or property, or other unexpected condition.
  832. SQLOLE_ECAT_INVALIDPARAMETER = 0x5300,
  833.     SQLOLE_E_BADCOLLEN = 0x5300,
  834.     SQLOLE_E_INVALIDPERFMONSET = 0x5301,
  835.     SQLOLE_E_BADDEVICETYPE = 0x5302,
  836.     SQLOLE_E_SIZEGREATERTHAN0 = 0x5303,
  837.     SQLOLE_E_RESULTSETOUTOFRANGE = 0x5304,
  838.     SQLOLE_E_OUTPUTPARAMREQUIRED = 0x5305,
  839.     SQLOLE_E_PROPTEXTNONNULL = 0x5306,
  840.     SQLOLE_E_BADPROCTYPE = 0x5307,
  841.     SQLOLE_E_BADFILLFACTOR = 0x5308,
  842.     SQLOLE_E_INVALIDINDEXTYPE = 0x5309,
  843.     SQLOLE_E_INVALIDPRIVTYPE = 0x530A,
  844.     SQLOLE_E_BADTRIGTYPE = 0x530B,
  845.     SQLOLE_E_INVALIDDAYOFWEEK = 0x530C,
  846.     SQLOLE_E_INVALIDMONTH = 0x530D,
  847.     SQLOLE_E_BADDAYCOUNT = 0x530E,
  848.     SQLOLE_E_BADMONTHCOUNT = 0x530F,
  849.     SQLOLE_E_BADCONFIGVALUE = 0x5310,
  850.     SQLOLE_E_INVALIDPARAMINDEX = 0x5311,
  851.     SQLOLE_E_INVALIDPARAMRANGE = 0x5312,
  852.     SQLOLE_E_INVALIDDBOBJTYPE = 0x5313,
  853.     SQLOLE_E_ROWCOLOUTOFRANGE = 0x5314,
  854.     SQLOLE_E_NONUNIQUENAME = 0x5315,
  855.     SQLOLE_E_NOTIMESTAMPUDDT = 0x5316,
  856.     SQLOLE_E_INVALIDNAME = 0x5317,
  857.     SQLOLE_E_INVALIDCOMPLETION = 0x5318,
  858.     SQLOLE_E_NAMETOOLONG = 0x5319,
  859.     SQLOLE_E_INVALIDFREQTYPE = 0x531A,
  860.     SQLOLE_E_INVALIDFREQSUBDAY = 0x531B,
  861.     SQLOLE_E_INVALIDFREQRELINTERVAL = 0x531C,
  862.     SQLOLE_E_BADWEEKLYINTERVAL = 0x531D,
  863.     SQLOLE_E_BADMONTHLYINTERVAL = 0x531E,
  864.     SQLOLE_E_BADMONTHLYRELINTERVAL = 0x531F,
  865.     SQLOLE_E_INVALIDSRVOPTION = 0x5320,
  866.     SQLOLE_E_INVALIDRUNPRIORITY = 0x5321,
  867.     SQLOLE_E_DBNAMEREQUIRED = 0x5322,
  868.     SQLOLE_E_PUBNAMEREQUIRED = 0x5323,
  869.     SQLOLE_E_PROPINDEXOUTOFRANGE = 0x5324,
  870.     SQLOLE_E_INVALIDNOTIFYTYPE = 0x5325,
  871.     SQLOLE_E_INVALIDENUMNOTIFYTYPE = 0x5326,
  872.     SQLOLE_E_INVALIDWEEKDAY = 0x5327,
  873.     SQLOLE_E_INVALIDOBJECTTYPE = 0x5328,
  874.     SQLOLE_E_OBJECTREQUIRED = 0x5329,
  875.     SQLOLE_E_INVALIDEVENTTYPE = 0x532A,
  876.     SQLOLE_E_INVALIDCOMPLETIONTYPE = 0x532B,
  877.     SQLOLE_E_INVALIDKEYTYPE = 0x532C,
  878.     SQLOLE_E_TABLEMUSTBECREATED = 0x532D,
  879.     SQLOLE_E_INVALIDPREARTICLE = 0x532E,
  880.     SQLOLE_E_INVALIDSECURITYMODE = 0x532F,
  881.     SQLOLE_E_INVALIDPREC = 0x5330,
  882.     SQLOLE_E_INVALIDDEPENDENCYTYPE = 0x5331,
  883.     SQLOLE_E_INVALIDVERIFYCONNTYPE = 0x5332,
  884.     SQLOLE_E_INVALIDSTATUSINFOTYPE = 0x5333,
  885.     SQLOLE_E_INVALIDFORWARDINGSEVERITY = 0x5334,
  886.     SQLOLE_E_INVALIDFORWARDINGSERVER = 0x5335,
  887.     SQLOLE_E_INVALIDRESTARTINTERVAL = 0x5336,
  888.     SQLOLE_E_INVALIDHISTORYROWSMAX = 0x5337,
  889.     SQLOLE_E_NAMETOOSHORT = 0x5338,
  890.     SQLOLE_E_UNEXPECTED = 0x5339,
  891.     SQLOLE_E_INVALIDHISTORYROWSPERTASKMAX = 0x533A,
  892.     SQLOLE_E_INVALIDOBJSORTTYPE = 0x533B,
  893.     SQLOLE_E_INVALIDEXECTYPE = 0x533C,
  894.  
  895. // Errors indicating that either the connected SQL Server is an invalid version,
  896. // or the client platform is invalid, or a combination of those; or that the
  897. // server has not been set up properly for SQLOLE (the required stored procedures
  898. // are not installed)..
  899. SQLOLE_ECAT_INVALIDPLATFORM = 0x5400,
  900.     SQLOLE_E_BACKUPSQL60ONLY = 0x5400,
  901.     SQLOLE_E_MSSQLONLY = 0x5401,
  902.     SQLOLE_E_WIN95REQUIRESCONN = 0x5402,
  903.     SQLOLE_E_NOTONWIN95 = 0x5403,
  904.     SQLOLE_E_SQL60ONLY = 0x5404,
  905.     SQLOLE_E_REPLSQL60ONLY = 0x5405,
  906.     SQLOLE_E_STARTUPPROCSQL60ONLY = 0x5406,
  907.     SQLOLE_E_NEEDSQLOLEPROCS = 0x5407,
  908.     SQLOLE_E_ALTERSQL60ONLY = 0x5408,
  909.     SQLOLE_E_SORTEDDATAREORGSQL60ONLY = 0x5409,
  910.     SQLOLE_E_MSSQLNTONLY = 0x540A,
  911.     SQLOLE_E_WIN95REQUIRESSQL60 = 0x540B,
  912.     SQLOLE_E_BACKUPSQL65ONLY = 0x540C,
  913.     SQLOLE_E_SQL65ONLY = 0x540D,
  914.     SQLOLE_E_ALERTSQL65ONLY = 0x540E,
  915.     SQLOLE_E_REMOTESQL65ONLY = 0x540F,
  916.     SQLOLE_E_PIPEDEVSQL60ONLY = 0x5410,
  917.     SQLOLE_E_FKEYSQL65ONLY = 0x5411,
  918.     SQLOLE_E_XPIMPERSONATESQL65ONLY = 0x5412,
  919.  
  920. // Errors indicating that the named object was not found in the collection, or 
  921. // that the ordinal passed as a collection index was out of range.
  922. SQLOLE_ECAT_ITEMNOTFOUND = 0x5500,
  923.     SQLOLE_E_RULENOTFOUND = 0x5500,
  924.     SQLOLE_E_DEFAULTNOTFOUND = 0x5501,
  925.     SQLOLE_E_TYPENOTFOUND = 0x5502,
  926.     SQLOLE_E_LOGINNOTFOUND = 0x5503,
  927.     SQLOLE_E_GROUPNOTFOUND = 0x5504,
  928.     SQLOLE_E_LANGNOTFOUND = 0x5505,
  929.     SQLOLE_E_DBNOTFOUND = 0x5506,
  930.     SQLOLE_E_DEVICENOTFOUND = 0x5507,
  931.     SQLOLE_E_COLUMNNOTFOUND = 0x5508,
  932.     SQLOLE_E_ORDOUTOFRANGE = 0x5509,
  933.     SQLOLE_E_NAMENOTFOUND = 0x550A,
  934.     SQLOLE_E_USERNOTFOUND = 0x550B,
  935.     SQLOLE_E_NAMENOTINCACHE = 0x550C,
  936.     SQLOLE_E_PROPNAMENOTFOUND = 0x550D,
  937.     SQLOLE_E_IDNOTFOUND = 0x550E,
  938.  
  939. // Errors indicating that the current login does not have sufficient privilege
  940. // to perform the requested operation.
  941. SQLOLE_ECAT_UNPRIVILEGEDLOGIN = 0x5600,
  942.     SQLOLE_E_MUSTBESAORDBO = 0x5600,
  943.     SQLOLE_E_MUSTBESAORLOGIN = 0x5601,
  944.     SQLOLE_E_MUSTBESA = 0x5602,
  945.  
  946. // Errors indicating a query execution error or an inaccessible database.
  947. SQLOLE_ECAT_EXECUTION = 0x5700,
  948.     SQLOLE_E_SYSPROCERROR = 0x5700,
  949.     SQLOLE_E_CACHEEXECERROR = 0x5701,
  950.     SQLOLE_E_INACCESSIBLEDB = 0x5702,
  951.     SQLOLE_E_BATCHCOMPLETEWITHERRORS = 0x5703,
  952.  
  953. // Errors indicating the connection to SQL Server cannot be restored.  SQLOLE will
  954. // automatically reconnect (as determined by the SQLServer.AutoReconnect property)
  955. // but the network may be down or the server not started.
  956. SQLOLE_ECAT_CONNECTION = 0x5800,
  957.     SQLOLE_E_CANTRECONNDEADCONN = 0x5800,
  958.  
  959. // Errors indicating insufficient resources either locally or on the server.
  960. SQLOLE_ECAT_RESOURCE = 0x5900,
  961.     SQLOLE_E_OUTOFMEMORY = 0x5900,
  962.     SQLOLE_E_NOMOREDEVNOS = 0x5901,
  963.  
  964. // Errors indicating termination of Transfer.
  965. SQLOLE_ECAT_TRANSFER = 0x5A00,
  966.     SQLOLE_E_USERABORTED = 0x5A00,            //User aborted transfer
  967.     SQLOLE_E_FILEPATHREQUIRED = 0x5A01,        //User should specify path for script file
  968.  
  969. // Error indicating failure of bulk copy
  970. SQLOLE_ECAT_BCP = 0x5B00,
  971.     SQLOLE_E_INCOMPATIBLEPROPS = 0x5B00,    //Some of the bcp object properties are incompatible.
  972.     SQLOLE_E_BCPEXECFAILED    = 0x5B01,        //dblib bcp_exec function failed
  973.     SQLOLE_E_BCPINITFAILED = 0x5B02,        //dblib bcp_init function failed
  974.     SQLOLE_E_BCPCONTROLFAILED = 0x5B03,        //dblib bcp_control function failed
  975.     SQLOLE_E_BCPCOLFMTFAILED = 0x5B04,         //dblib bcp_colfmt failed.
  976.     SQLOLE_E_SUSPENDINDEX = 0x5B05,         //Error trying to suspend indexing
  977.     SQLOLE_E_RESUMEINDEX = 0x5B06,            //Error trying to resume suspended indexing
  978.  
  979.     SQLOLE_E_LASTERROR = 0x5AFF
  980. } SQLOLE_ERROR_TYPE;
  981.  
  982. // SQLOLE_ERROR #defines.  These are categories, not severities; there is no
  983. // mathematical relationship between groupings.
  984. #ifndef _SQLOLE_ODL_        // Not done in .ODL file.
  985.  
  986. // Switch on SQLOLE_ECAT to determine the category of a returned error code.
  987. // Use long cast as lint can complain about an enum-vs.-int.
  988. #define SQLOLE_ECAT(scode) (scode & (long)SQLOLE_ECAT_MASK)
  989.  
  990. #endif
  991.  
  992. // Constant values.
  993. typedef SQLOLE_HELPID(SQLOLE_CONSTANTS_TYPE) enum {
  994.     SQLOLE_NOENDDATE =                99991231,    // For task dates/times
  995.     SQLOLE_NOENDTIME =                235959,        // For task dates/times
  996.     SQLOLE_USEEXISTINGFILLFACTOR =    0            // For Table.RebuildIndexes
  997. } SQLOLE_CONSTANTS_TYPE;
  998.  
  999. #endif    // _SQLOLE_CONSTANTS_
  1000.  
  1001. /////////////////////////////////////////////////////////////////////////////////////////
  1002. // Interface definitions.
  1003. /////////////////////////////////////////////////////////////////////////////////////////
  1004. #ifndef _SQLOLE_ODL_        // Skip if in .odl file.
  1005.  
  1006. // Optional parameter definitions.  For C explicit values will have to be specified,
  1007. // as indicated within the CPPDEFAULT() expansion.
  1008. //
  1009. // SQLOLE Parameter sequencing is as follows ("optional" in accordance with C++ usage):
  1010. //     Nonoptional parameters
  1011. //        Nonoptional Return value if any
  1012. //        Optional additional parameters
  1013. //        Optional return value, if any
  1014. //
  1015. #ifdef __cplusplus
  1016. #define CPPDEFAULT(DefaultParamValue)    DefaultParamValue
  1017. #else
  1018. #define CPPDEFAULT(DefaultParamValue)
  1019. #endif
  1020.  
  1021. // Windows.h should define these...
  1022. typedef BOOL *LPBOOL;
  1023. typedef float *LPFLOAT;
  1024. typedef double *LPDOUBLE;
  1025.  
  1026. ///////////////////////////////////////////////////////////////////////////////////////
  1027. // Forward declarations and typedefs, allowing for UNICODE or ANSI clients.
  1028. ///////////////////////////////////////////////////////////////////////////////////////
  1029. #undef SQLOLE_LPCSTR
  1030. #undef SQLOLE_BSTR
  1031. #undef SQLOLE_LPBSTR
  1032. #undef SQLOLEFreeString
  1033.  
  1034. // Carry over the Ansi definition of BSTR.
  1035. typedef char __RPC_FAR * BSTRA;
  1036. typedef BSTRA __RPC_FAR *LPBSTRA;
  1037.  
  1038. #if defined (UNICODE) || defined (_UNICODE)
  1039. #define SQLOLE_UNICODE
  1040. #define SQLOLE_LPCSTR   LPCWSTR
  1041. #define SQLOLE_BSTR     BSTR
  1042. #define SQLOLE_LPBSTR   LPBSTR
  1043. #define SQLOLEFreeString(bstr) SysFreeString(bstr)
  1044. #else    // !UNICODE
  1045. #define SQLOLE_LPCSTR      LPCSTR
  1046. #define SQLOLE_BSTR     BSTRA
  1047. #define SQLOLE_LPBSTR   LPBSTRA
  1048. #define SQLOLEFreeString(bstr) SysFreeString((BSTR)bstr)
  1049. #endif
  1050.  
  1051. #ifdef __cplusplus
  1052. #define TYPEDEFINTERFACE typedef
  1053. #else
  1054. #define TYPEDEFINTERFACE typedef interface
  1055. #endif
  1056.  
  1057. // Forward declarations.  Base classes...
  1058. #undef LPSQLOLESTDOBJECT 
  1059. #undef ISQLOLEStdObject 
  1060. #undef IID_ISQLOLEStdObject 
  1061. #ifdef SQLOLE_UNICODE
  1062. interface IWSQLOLEStdObject;            TYPEDEFINTERFACE IWSQLOLEStdObject *                LPWSQLOLESTDOBJECT;
  1063. #define LPSQLOLESTDOBJECT LPWSQLOLESTDOBJECT
  1064. #define ISQLOLEStdObject IWSQLOLEStdObject
  1065. #define IID_ISQLOLEStdObject IID_IWSQLOLEStdObject 
  1066. #else
  1067. interface IASQLOLEStdObject;            TYPEDEFINTERFACE IASQLOLEStdObject *                LPASQLOLESTDOBJECT;
  1068. #define LPSQLOLESTDOBJECT LPASQLOLESTDOBJECT
  1069. #define ISQLOLEStdObject IASQLOLEStdObject
  1070. #define IID_ISQLOLEStdObject IID_IASQLOLEStdObject 
  1071. #endif
  1072.  
  1073. #undef LPSQLOLESTDCOLLECTION 
  1074. #undef ISQLOLEStdCollection 
  1075. #undef IID_ISQLOLEStdCollection 
  1076. #ifdef SQLOLE_UNICODE
  1077. TYPEDEFINTERFACE IWSQLOLEStdObject * LPWSQLOLESTDCOLLECTION;    // Auto-documenting for collection management
  1078. #define LPSQLOLESTDCOLLECTION LPWSQLOLESTDCOLLECTION
  1079. #define ISQLOLEStdCollection IWSQLOLEStdCollection
  1080. #define IID_ISQLOLEStdCollection IID_IWSQLOLEStdCollection 
  1081. #else
  1082. TYPEDEFINTERFACE IASQLOLEStdObject * LPASQLOLESTDCOLLECTION;    // Auto-documenting for collection management
  1083. #define LPSQLOLESTDCOLLECTION LPASQLOLESTDCOLLECTION
  1084. #define ISQLOLEStdCollection IASQLOLEStdCollection
  1085. #define IID_ISQLOLEStdCollection IID_IASQLOLEStdCollection 
  1086. #endif
  1087.  
  1088. // ... and derived classes.
  1089. #undef LPSQLOLEAPPLICATION 
  1090. #undef ISQLOLEApplication 
  1091. #undef IID_ISQLOLEApplication 
  1092. #ifdef SQLOLE_UNICODE
  1093. interface IWSQLOLEApplication;        TYPEDEFINTERFACE IWSQLOLEApplication *            LPWSQLOLEAPPLICATION;
  1094. #define LPSQLOLEAPPLICATION LPWSQLOLEAPPLICATION
  1095. #define ISQLOLEApplication IWSQLOLEApplication
  1096. #define IID_ISQLOLEApplication IID_IWSQLOLEApplication 
  1097. #else
  1098. interface IASQLOLEApplication;        TYPEDEFINTERFACE IASQLOLEApplication *            LPASQLOLEAPPLICATION;
  1099. #define LPSQLOLEAPPLICATION LPASQLOLEAPPLICATION
  1100. #define ISQLOLEApplication IASQLOLEApplication
  1101. #define IID_ISQLOLEApplication IID_IASQLOLEApplication 
  1102. #endif
  1103.  
  1104. #undef LPSQLOLESERVERS 
  1105. #undef ISQLOLEServers 
  1106. #undef IID_ISQLOLEServers 
  1107. #ifdef SQLOLE_UNICODE
  1108. interface IWSQLOLEServers;            TYPEDEFINTERFACE IWSQLOLEServers *                LPWSQLOLESERVERS;
  1109. #define LPSQLOLESERVERS LPWSQLOLESERVERS
  1110. #define ISQLOLEServers IWSQLOLEServers
  1111. #define IID_ISQLOLEServers IID_IWSQLOLEServers 
  1112. #else
  1113. interface IASQLOLEServers;            TYPEDEFINTERFACE IASQLOLEServers *                LPASQLOLESERVERS;
  1114. #define LPSQLOLESERVERS LPASQLOLESERVERS
  1115. #define ISQLOLEServers IASQLOLEServers
  1116. #define IID_ISQLOLEServers IID_IASQLOLEServers 
  1117. #endif
  1118.  
  1119. #undef LPSQLOLESERVER 
  1120. #undef ISQLOLEServer 
  1121. #undef IID_ISQLOLEServer 
  1122. #ifdef SQLOLE_UNICODE
  1123. interface IWSQLOLEServer;            TYPEDEFINTERFACE IWSQLOLEServer *                    LPWSQLOLESERVER;
  1124. #define LPSQLOLESERVER LPWSQLOLESERVER
  1125. #define ISQLOLEServer IWSQLOLEServer
  1126. #define IID_ISQLOLEServer IID_IWSQLOLEServer 
  1127. #else
  1128. interface IASQLOLEServer;            TYPEDEFINTERFACE IASQLOLEServer *                    LPASQLOLESERVER;
  1129. #define LPSQLOLESERVER LPASQLOLESERVER
  1130. #define ISQLOLEServer IASQLOLEServer
  1131. #define IID_ISQLOLEServer IID_IASQLOLEServer 
  1132. #endif
  1133.  
  1134. #undef LPSQLOLEDATABASES 
  1135. #undef ISQLOLEDatabases 
  1136. #undef IID_ISQLOLEDatabases 
  1137. #ifdef SQLOLE_UNICODE
  1138. interface IWSQLOLEDatabases;            TYPEDEFINTERFACE IWSQLOLEDatabases *                LPWSQLOLEDATABASES;
  1139. #define LPSQLOLEDATABASES LPWSQLOLEDATABASES
  1140. #define ISQLOLEDatabases IWSQLOLEDatabases
  1141. #define IID_ISQLOLEDatabases IID_IWSQLOLEDatabases 
  1142. #else
  1143. interface IASQLOLEDatabases;            TYPEDEFINTERFACE IASQLOLEDatabases *                LPASQLOLEDATABASES;
  1144. #define LPSQLOLEDATABASES LPASQLOLEDATABASES
  1145. #define ISQLOLEDatabases IASQLOLEDatabases
  1146. #define IID_ISQLOLEDatabases IID_IASQLOLEDatabases 
  1147. #endif
  1148.  
  1149. #undef LPSQLOLEDATABASE 
  1150. #undef ISQLOLEDatabase 
  1151. #undef IID_ISQLOLEDatabase 
  1152. #ifdef SQLOLE_UNICODE
  1153. interface IWSQLOLEDatabase;            TYPEDEFINTERFACE IWSQLOLEDatabase *                LPWSQLOLEDATABASE;
  1154. #define LPSQLOLEDATABASE LPWSQLOLEDATABASE
  1155. #define ISQLOLEDatabase IWSQLOLEDatabase
  1156. #define IID_ISQLOLEDatabase IID_IWSQLOLEDatabase 
  1157. #else
  1158. interface IASQLOLEDatabase;            TYPEDEFINTERFACE IASQLOLEDatabase *                LPASQLOLEDATABASE;
  1159. #define LPSQLOLEDATABASE LPASQLOLEDATABASE
  1160. #define ISQLOLEDatabase IASQLOLEDatabase
  1161. #define IID_ISQLOLEDatabase IID_IASQLOLEDatabase 
  1162. #endif
  1163.  
  1164. #undef LPSQLOLEDEVICES 
  1165. #undef ISQLOLEDevices 
  1166. #undef IID_ISQLOLEDevices 
  1167. #ifdef SQLOLE_UNICODE
  1168. interface IWSQLOLEDevices;            TYPEDEFINTERFACE IWSQLOLEDevices *                LPWSQLOLEDEVICES;
  1169. #define LPSQLOLEDEVICES LPWSQLOLEDEVICES
  1170. #define ISQLOLEDevices IWSQLOLEDevices
  1171. #define IID_ISQLOLEDevices IID_IWSQLOLEDevices 
  1172. #else
  1173. interface IASQLOLEDevices;            TYPEDEFINTERFACE IASQLOLEDevices *                LPASQLOLEDEVICES;
  1174. #define LPSQLOLEDEVICES LPASQLOLEDEVICES
  1175. #define ISQLOLEDevices IASQLOLEDevices
  1176. #define IID_ISQLOLEDevices IID_IASQLOLEDevices 
  1177. #endif
  1178.  
  1179. #undef LPSQLOLEDEVICE 
  1180. #undef ISQLOLEDevice 
  1181. #undef IID_ISQLOLEDevice 
  1182. #ifdef SQLOLE_UNICODE
  1183. interface IWSQLOLEDevice;            TYPEDEFINTERFACE IWSQLOLEDevice *                    LPWSQLOLEDEVICE;
  1184. #define LPSQLOLEDEVICE LPWSQLOLEDEVICE
  1185. #define ISQLOLEDevice IWSQLOLEDevice
  1186. #define IID_ISQLOLEDevice IID_IWSQLOLEDevice 
  1187. #else
  1188. interface IASQLOLEDevice;            TYPEDEFINTERFACE IASQLOLEDevice *                    LPASQLOLEDEVICE;
  1189. #define LPSQLOLEDEVICE LPASQLOLEDEVICE
  1190. #define ISQLOLEDevice IASQLOLEDevice
  1191. #define IID_ISQLOLEDevice IID_IASQLOLEDevice 
  1192. #endif
  1193.  
  1194. #undef LPSQLOLELOGINS 
  1195. #undef ISQLOLELogins 
  1196. #undef IID_ISQLOLELogins 
  1197. #ifdef SQLOLE_UNICODE
  1198. interface IWSQLOLELogins;            TYPEDEFINTERFACE IWSQLOLELogins *                    LPWSQLOLELOGINS;
  1199. #define LPSQLOLELOGINS LPWSQLOLELOGINS
  1200. #define ISQLOLELogins IWSQLOLELogins
  1201. #define IID_ISQLOLELogins IID_IWSQLOLELogins 
  1202. #else
  1203. interface IASQLOLELogins;            TYPEDEFINTERFACE IASQLOLELogins *                    LPASQLOLELOGINS;
  1204. #define LPSQLOLELOGINS LPASQLOLELOGINS
  1205. #define ISQLOLELogins IASQLOLELogins
  1206. #define IID_ISQLOLELogins IID_IASQLOLELogins 
  1207. #endif
  1208.  
  1209. #undef LPSQLOLELOGIN 
  1210. #undef ISQLOLELogin 
  1211. #undef IID_ISQLOLELogin 
  1212. #ifdef SQLOLE_UNICODE
  1213. interface IWSQLOLELogin;                TYPEDEFINTERFACE IWSQLOLELogin *                    LPWSQLOLELOGIN;
  1214. #define LPSQLOLELOGIN LPWSQLOLELOGIN
  1215. #define ISQLOLELogin IWSQLOLELogin
  1216. #define IID_ISQLOLELogin IID_IWSQLOLELogin 
  1217. #else
  1218. interface IASQLOLELogin;                TYPEDEFINTERFACE IASQLOLELogin *                    LPASQLOLELOGIN;
  1219. #define LPSQLOLELOGIN LPASQLOLELOGIN
  1220. #define ISQLOLELogin IASQLOLELogin
  1221. #define IID_ISQLOLELogin IID_IASQLOLELogin 
  1222. #endif
  1223.  
  1224. #undef LPSQLOLELANGUAGES 
  1225. #undef ISQLOLELanguages 
  1226. #undef IID_ISQLOLELanguages 
  1227. #ifdef SQLOLE_UNICODE
  1228. interface IWSQLOLELanguages;            TYPEDEFINTERFACE IWSQLOLELanguages *                LPWSQLOLELANGUAGES;
  1229. #define LPSQLOLELANGUAGES LPWSQLOLELANGUAGES
  1230. #define ISQLOLELanguages IWSQLOLELanguages
  1231. #define IID_ISQLOLELanguages IID_IWSQLOLELanguages 
  1232. #else
  1233. interface IASQLOLELanguages;            TYPEDEFINTERFACE IASQLOLELanguages *                LPASQLOLELANGUAGES;
  1234. #define LPSQLOLELANGUAGES LPASQLOLELANGUAGES
  1235. #define ISQLOLELanguages IASQLOLELanguages
  1236. #define IID_ISQLOLELanguages IID_IASQLOLELanguages 
  1237. #endif
  1238.  
  1239. #undef LPSQLOLELANGUAGE 
  1240. #undef ISQLOLELanguage 
  1241. #undef IID_ISQLOLELanguage 
  1242. #ifdef SQLOLE_UNICODE
  1243. interface IWSQLOLELanguage;            TYPEDEFINTERFACE IWSQLOLELanguage *                LPWSQLOLELANGUAGE;
  1244. #define LPSQLOLELANGUAGE LPWSQLOLELANGUAGE
  1245. #define ISQLOLELanguage IWSQLOLELanguage
  1246. #define IID_ISQLOLELanguage IID_IWSQLOLELanguage 
  1247. #else
  1248. interface IASQLOLELanguage;            TYPEDEFINTERFACE IASQLOLELanguage *                LPASQLOLELANGUAGE;
  1249. #define LPSQLOLELANGUAGE LPASQLOLELANGUAGE
  1250. #define ISQLOLELanguage IASQLOLELanguage
  1251. #define IID_ISQLOLELanguage IID_IASQLOLELanguage 
  1252. #endif
  1253.  
  1254. #undef LPSQLOLEREMOTESERVERS 
  1255. #undef ISQLOLERemoteServers 
  1256. #undef IID_ISQLOLERemoteServers 
  1257. #ifdef SQLOLE_UNICODE
  1258. interface IWSQLOLERemoteServers;        TYPEDEFINTERFACE IWSQLOLERemoteServers *            LPWSQLOLEREMOTESERVERS;
  1259. #define LPSQLOLEREMOTESERVERS LPWSQLOLEREMOTESERVERS
  1260. #define ISQLOLERemoteServers IWSQLOLERemoteServers
  1261. #define IID_ISQLOLERemoteServers IID_IWSQLOLERemoteServers 
  1262. #else
  1263. interface IASQLOLERemoteServers;        TYPEDEFINTERFACE IASQLOLERemoteServers *            LPASQLOLEREMOTESERVERS;
  1264. #define LPSQLOLEREMOTESERVERS LPASQLOLEREMOTESERVERS
  1265. #define ISQLOLERemoteServers IASQLOLERemoteServers
  1266. #define IID_ISQLOLERemoteServers IID_IASQLOLERemoteServers 
  1267. #endif
  1268.  
  1269. #undef LPSQLOLEREMOTESERVER 
  1270. #undef ISQLOLERemoteServer 
  1271. #undef IID_ISQLOLERemoteServer 
  1272. #ifdef SQLOLE_UNICODE
  1273. interface IWSQLOLERemoteServer;        TYPEDEFINTERFACE IWSQLOLERemoteServer *            LPWSQLOLEREMOTESERVER;
  1274. #define LPSQLOLEREMOTESERVER LPWSQLOLEREMOTESERVER
  1275. #define ISQLOLERemoteServer IWSQLOLERemoteServer
  1276. #define IID_ISQLOLERemoteServer IID_IWSQLOLERemoteServer 
  1277. #else
  1278. interface IASQLOLERemoteServer;        TYPEDEFINTERFACE IASQLOLERemoteServer *            LPASQLOLEREMOTESERVER;
  1279. #define LPSQLOLEREMOTESERVER LPASQLOLEREMOTESERVER
  1280. #define ISQLOLERemoteServer IASQLOLERemoteServer
  1281. #define IID_ISQLOLERemoteServer IID_IASQLOLERemoteServer 
  1282. #endif
  1283.  
  1284. #undef LPSQLOLETABLES 
  1285. #undef ISQLOLETables 
  1286. #undef IID_ISQLOLETables 
  1287. #ifdef SQLOLE_UNICODE
  1288. interface IWSQLOLETables;            TYPEDEFINTERFACE IWSQLOLETables *                    LPWSQLOLETABLES;
  1289. #define LPSQLOLETABLES LPWSQLOLETABLES
  1290. #define ISQLOLETables IWSQLOLETables
  1291. #define IID_ISQLOLETables IID_IWSQLOLETables 
  1292. #else
  1293. interface IASQLOLETables;            TYPEDEFINTERFACE IASQLOLETables *                    LPASQLOLETABLES;
  1294. #define LPSQLOLETABLES LPASQLOLETABLES
  1295. #define ISQLOLETables IASQLOLETables
  1296. #define IID_ISQLOLETables IID_IASQLOLETables 
  1297. #endif
  1298.  
  1299. #undef LPSQLOLETABLE 
  1300. #undef ISQLOLETable 
  1301. #undef IID_ISQLOLETable 
  1302. #ifdef SQLOLE_UNICODE
  1303. interface IWSQLOLETable;                TYPEDEFINTERFACE IWSQLOLETable *                    LPWSQLOLETABLE;
  1304. #define LPSQLOLETABLE LPWSQLOLETABLE
  1305. #define ISQLOLETable IWSQLOLETable
  1306. #define IID_ISQLOLETable IID_IWSQLOLETable 
  1307. #else
  1308. interface IASQLOLETable;                TYPEDEFINTERFACE IASQLOLETable *                    LPASQLOLETABLE;
  1309. #define LPSQLOLETABLE LPASQLOLETABLE
  1310. #define ISQLOLETable IASQLOLETable
  1311. #define IID_ISQLOLETable IID_IASQLOLETable 
  1312. #endif
  1313.  
  1314. #undef LPSQLOLECOLUMNS 
  1315. #undef ISQLOLEColumns 
  1316. #undef IID_ISQLOLEColumns 
  1317. #ifdef SQLOLE_UNICODE
  1318. interface IWSQLOLEColumns;            TYPEDEFINTERFACE IWSQLOLEColumns *                LPWSQLOLECOLUMNS;
  1319. #define LPSQLOLECOLUMNS LPWSQLOLECOLUMNS
  1320. #define ISQLOLEColumns IWSQLOLEColumns
  1321. #define IID_ISQLOLEColumns IID_IWSQLOLEColumns 
  1322. #else
  1323. interface IASQLOLEColumns;            TYPEDEFINTERFACE IASQLOLEColumns *                LPASQLOLECOLUMNS;
  1324. #define LPSQLOLECOLUMNS LPASQLOLECOLUMNS
  1325. #define ISQLOLEColumns IASQLOLEColumns
  1326. #define IID_ISQLOLEColumns IID_IASQLOLEColumns 
  1327. #endif
  1328.  
  1329. #undef LPSQLOLECOLUMN 
  1330. #undef ISQLOLEColumn 
  1331. #undef IID_ISQLOLEColumn 
  1332. #ifdef SQLOLE_UNICODE
  1333. interface IWSQLOLEColumn;            TYPEDEFINTERFACE IWSQLOLEColumn *                    LPWSQLOLECOLUMN;
  1334. #define LPSQLOLECOLUMN LPWSQLOLECOLUMN
  1335. #define ISQLOLEColumn IWSQLOLEColumn
  1336. #define IID_ISQLOLEColumn IID_IWSQLOLEColumn 
  1337. #else
  1338. interface IASQLOLEColumn;            TYPEDEFINTERFACE IASQLOLEColumn *                    LPASQLOLECOLUMN;
  1339. #define LPSQLOLECOLUMN LPASQLOLECOLUMN
  1340. #define ISQLOLEColumn IASQLOLEColumn
  1341. #define IID_ISQLOLEColumn IID_IASQLOLEColumn 
  1342. #endif
  1343.  
  1344. #undef LPSQLOLERULES 
  1345. #undef ISQLOLERules 
  1346. #undef IID_ISQLOLERules 
  1347. #ifdef SQLOLE_UNICODE
  1348. interface IWSQLOLERules;                TYPEDEFINTERFACE IWSQLOLERules *                    LPWSQLOLERULES;
  1349. #define LPSQLOLERULES LPWSQLOLERULES
  1350. #define ISQLOLERules IWSQLOLERules
  1351. #define IID_ISQLOLERules IID_IWSQLOLERules 
  1352. #else
  1353. interface IASQLOLERules;                TYPEDEFINTERFACE IASQLOLERules *                    LPASQLOLERULES;
  1354. #define LPSQLOLERULES LPASQLOLERULES
  1355. #define ISQLOLERules IASQLOLERules
  1356. #define IID_ISQLOLERules IID_IASQLOLERules 
  1357. #endif
  1358.  
  1359. #undef LPSQLOLERULE 
  1360. #undef ISQLOLERule 
  1361. #undef IID_ISQLOLERule 
  1362. #ifdef SQLOLE_UNICODE
  1363. interface IWSQLOLERule;                TYPEDEFINTERFACE IWSQLOLERule *                    LPWSQLOLERULE;
  1364. #define LPSQLOLERULE LPWSQLOLERULE
  1365. #define ISQLOLERule IWSQLOLERule
  1366. #define IID_ISQLOLERule IID_IWSQLOLERule 
  1367. #else
  1368. interface IASQLOLERule;                TYPEDEFINTERFACE IASQLOLERule *                    LPASQLOLERULE;
  1369. #define LPSQLOLERULE LPASQLOLERULE
  1370. #define ISQLOLERule IASQLOLERule
  1371. #define IID_ISQLOLERule IID_IASQLOLERule 
  1372. #endif
  1373.  
  1374. #undef LPSQLOLEDEFAULTS 
  1375. #undef ISQLOLEDefaults 
  1376. #undef IID_ISQLOLEDefaults 
  1377. #ifdef SQLOLE_UNICODE
  1378. interface IWSQLOLEDefaults;            TYPEDEFINTERFACE IWSQLOLEDefaults *                LPWSQLOLEDEFAULTS;
  1379. #define LPSQLOLEDEFAULTS LPWSQLOLEDEFAULTS
  1380. #define ISQLOLEDefaults IWSQLOLEDefaults
  1381. #define IID_ISQLOLEDefaults IID_IWSQLOLEDefaults 
  1382. #else
  1383. interface IASQLOLEDefaults;            TYPEDEFINTERFACE IASQLOLEDefaults *                LPASQLOLEDEFAULTS;
  1384. #define LPSQLOLEDEFAULTS LPASQLOLEDEFAULTS
  1385. #define ISQLOLEDefaults IASQLOLEDefaults
  1386. #define IID_ISQLOLEDefaults IID_IASQLOLEDefaults 
  1387. #endif
  1388.  
  1389. #undef LPSQLOLEDEFAULT 
  1390. #undef ISQLOLEDefault 
  1391. #undef IID_ISQLOLEDefault 
  1392. #ifdef SQLOLE_UNICODE
  1393. interface IWSQLOLEDefault;            TYPEDEFINTERFACE IWSQLOLEDefault *                LPWSQLOLEDEFAULT;
  1394. #define LPSQLOLEDEFAULT LPWSQLOLEDEFAULT
  1395. #define ISQLOLEDefault IWSQLOLEDefault
  1396. #define IID_ISQLOLEDefault IID_IWSQLOLEDefault 
  1397. #else
  1398. interface IASQLOLEDefault;            TYPEDEFINTERFACE IASQLOLEDefault *                LPASQLOLEDEFAULT;
  1399. #define LPSQLOLEDEFAULT LPASQLOLEDEFAULT
  1400. #define ISQLOLEDefault IASQLOLEDefault
  1401. #define IID_ISQLOLEDefault IID_IASQLOLEDefault 
  1402. #endif
  1403.  
  1404. #undef LPSQLOLEUSERDEFINEDDATATYPES 
  1405. #undef ISQLOLEUserDefinedDatatypes 
  1406. #undef IID_ISQLOLEUserDefinedDatatypes 
  1407. #ifdef SQLOLE_UNICODE
  1408. interface IWSQLOLEUserDefinedDatatypes;    TYPEDEFINTERFACE IWSQLOLEUserDefinedDatatypes *    LPWSQLOLEUSERDEFINEDDATATYPES;
  1409. #define LPSQLOLEUSERDEFINEDDATATYPES LPWSQLOLEUSERDEFINEDDATATYPES
  1410. #define ISQLOLEUserDefinedDatatypes IWSQLOLEUserDefinedDatatypes
  1411. #define IID_ISQLOLEUserDefinedDatatypes IID_IWSQLOLEUserDefinedDatatypes 
  1412. #else
  1413. interface IASQLOLEUserDefinedDatatypes;    TYPEDEFINTERFACE IASQLOLEUserDefinedDatatypes *    LPASQLOLEUSERDEFINEDDATATYPES;
  1414. #define LPSQLOLEUSERDEFINEDDATATYPES LPASQLOLEUSERDEFINEDDATATYPES
  1415. #define ISQLOLEUserDefinedDatatypes IASQLOLEUserDefinedDatatypes
  1416. #define IID_ISQLOLEUserDefinedDatatypes IID_IASQLOLEUserDefinedDatatypes 
  1417. #endif
  1418.  
  1419. #undef LPSQLOLEUSERDEFINEDDATATYPE 
  1420. #undef ISQLOLEUserDefinedDatatype 
  1421. #undef IID_ISQLOLEUserDefinedDatatype 
  1422. #ifdef SQLOLE_UNICODE
  1423. interface IWSQLOLEUserDefinedDatatype;    TYPEDEFINTERFACE IWSQLOLEUserDefinedDatatype *    LPWSQLOLEUSERDEFINEDDATATYPE;
  1424. #define LPSQLOLEUSERDEFINEDDATATYPE LPWSQLOLEUSERDEFINEDDATATYPE
  1425. #define ISQLOLEUserDefinedDatatype IWSQLOLEUserDefinedDatatype
  1426. #define IID_ISQLOLEUserDefinedDatatype IID_IWSQLOLEUserDefinedDatatype 
  1427. #else
  1428. interface IASQLOLEUserDefinedDatatype;    TYPEDEFINTERFACE IASQLOLEUserDefinedDatatype *    LPASQLOLEUSERDEFINEDDATATYPE;
  1429. #define LPSQLOLEUSERDEFINEDDATATYPE LPASQLOLEUSERDEFINEDDATATYPE
  1430. #define ISQLOLEUserDefinedDatatype IASQLOLEUserDefinedDatatype
  1431. #define IID_ISQLOLEUserDefinedDatatype IID_IASQLOLEUserDefinedDatatype 
  1432. #endif
  1433.  
  1434. #undef LPSQLOLESYSTEMDATATYPES 
  1435. #undef ISQLOLESystemDatatypes 
  1436. #undef IID_ISQLOLESystemDatatypes 
  1437. #ifdef SQLOLE_UNICODE
  1438. interface IWSQLOLESystemDatatypes;    TYPEDEFINTERFACE IWSQLOLESystemDatatypes *        LPWSQLOLESYSTEMDATATYPES;
  1439. #define LPSQLOLESYSTEMDATATYPES LPWSQLOLESYSTEMDATATYPES
  1440. #define ISQLOLESystemDatatypes IWSQLOLESystemDatatypes
  1441. #define IID_ISQLOLESystemDatatypes IID_IWSQLOLESystemDatatypes 
  1442. #else
  1443. interface IASQLOLESystemDatatypes;    TYPEDEFINTERFACE IASQLOLESystemDatatypes *        LPASQLOLESYSTEMDATATYPES;
  1444. #define LPSQLOLESYSTEMDATATYPES LPASQLOLESYSTEMDATATYPES
  1445. #define ISQLOLESystemDatatypes IASQLOLESystemDatatypes
  1446. #define IID_ISQLOLESystemDatatypes IID_IASQLOLESystemDatatypes 
  1447. #endif
  1448.  
  1449. #undef LPSQLOLESYSTEMDATATYPE 
  1450. #undef ISQLOLESystemDatatype 
  1451. #undef IID_ISQLOLESystemDatatype 
  1452. #ifdef SQLOLE_UNICODE
  1453. interface IWSQLOLESystemDatatype;    TYPEDEFINTERFACE IWSQLOLESystemDatatype *            LPWSQLOLESYSTEMDATATYPE;
  1454. #define LPSQLOLESYSTEMDATATYPE LPWSQLOLESYSTEMDATATYPE
  1455. #define ISQLOLESystemDatatype IWSQLOLESystemDatatype
  1456. #define IID_ISQLOLESystemDatatype IID_IWSQLOLESystemDatatype 
  1457. #else
  1458. interface IASQLOLESystemDatatype;    TYPEDEFINTERFACE IASQLOLESystemDatatype *            LPASQLOLESYSTEMDATATYPE;
  1459. #define LPSQLOLESYSTEMDATATYPE LPASQLOLESYSTEMDATATYPE
  1460. #define ISQLOLESystemDatatype IASQLOLESystemDatatype
  1461. #define IID_ISQLOLESystemDatatype IID_IASQLOLESystemDatatype 
  1462. #endif
  1463.  
  1464. #undef LPSQLOLEVIEWS 
  1465. #undef ISQLOLEViews 
  1466. #undef IID_ISQLOLEViews 
  1467. #ifdef SQLOLE_UNICODE
  1468. interface IWSQLOLEViews;                TYPEDEFINTERFACE IWSQLOLEViews *                    LPWSQLOLEVIEWS;
  1469. #define LPSQLOLEVIEWS LPWSQLOLEVIEWS
  1470. #define ISQLOLEViews IWSQLOLEViews
  1471. #define IID_ISQLOLEViews IID_IWSQLOLEViews 
  1472. #else
  1473. interface IASQLOLEViews;                TYPEDEFINTERFACE IASQLOLEViews *                    LPASQLOLEVIEWS;
  1474. #define LPSQLOLEVIEWS LPASQLOLEVIEWS
  1475. #define ISQLOLEViews IASQLOLEViews
  1476. #define IID_ISQLOLEViews IID_IASQLOLEViews 
  1477. #endif
  1478.  
  1479. #undef LPSQLOLEVIEW 
  1480. #undef ISQLOLEView 
  1481. #undef IID_ISQLOLEView 
  1482. #ifdef SQLOLE_UNICODE
  1483. interface IWSQLOLEView;                TYPEDEFINTERFACE IWSQLOLEView *                    LPWSQLOLEVIEW;
  1484. #define LPSQLOLEVIEW LPWSQLOLEVIEW
  1485. #define ISQLOLEView IWSQLOLEView
  1486. #define IID_ISQLOLEView IID_IWSQLOLEView 
  1487. #else
  1488. interface IASQLOLEView;                TYPEDEFINTERFACE IASQLOLEView *                    LPASQLOLEVIEW;
  1489. #define LPSQLOLEVIEW LPASQLOLEVIEW
  1490. #define ISQLOLEView IASQLOLEView
  1491. #define IID_ISQLOLEView IID_IASQLOLEView 
  1492. #endif
  1493.  
  1494. #undef LPSQLOLESTOREDPROCEDURES 
  1495. #undef ISQLOLEStoredProcedures 
  1496. #undef IID_ISQLOLEStoredProcedures 
  1497. #ifdef SQLOLE_UNICODE
  1498. interface IWSQLOLEStoredProcedures;    TYPEDEFINTERFACE IWSQLOLEStoredProcedures *        LPWSQLOLESTOREDPROCEDURES;
  1499. #define LPSQLOLESTOREDPROCEDURES LPWSQLOLESTOREDPROCEDURES
  1500. #define ISQLOLEStoredProcedures IWSQLOLEStoredProcedures
  1501. #define IID_ISQLOLEStoredProcedures IID_IWSQLOLEStoredProcedures 
  1502. #else
  1503. interface IASQLOLEStoredProcedures;    TYPEDEFINTERFACE IASQLOLEStoredProcedures *        LPASQLOLESTOREDPROCEDURES;
  1504. #define LPSQLOLESTOREDPROCEDURES LPASQLOLESTOREDPROCEDURES
  1505. #define ISQLOLEStoredProcedures IASQLOLEStoredProcedures
  1506. #define IID_ISQLOLEStoredProcedures IID_IASQLOLEStoredProcedures 
  1507. #endif
  1508.  
  1509. #undef LPSQLOLESTOREDPROCEDURE 
  1510. #undef ISQLOLEStoredProcedure 
  1511. #undef IID_ISQLOLEStoredProcedure 
  1512. #ifdef SQLOLE_UNICODE
  1513. interface IWSQLOLEStoredProcedure;    TYPEDEFINTERFACE IWSQLOLEStoredProcedure *        LPWSQLOLESTOREDPROCEDURE;
  1514. #define LPSQLOLESTOREDPROCEDURE LPWSQLOLESTOREDPROCEDURE
  1515. #define ISQLOLEStoredProcedure IWSQLOLEStoredProcedure
  1516. #define IID_ISQLOLEStoredProcedure IID_IWSQLOLEStoredProcedure 
  1517. #else
  1518. interface IASQLOLEStoredProcedure;    TYPEDEFINTERFACE IASQLOLEStoredProcedure *        LPASQLOLESTOREDPROCEDURE;
  1519. #define LPSQLOLESTOREDPROCEDURE LPASQLOLESTOREDPROCEDURE
  1520. #define ISQLOLEStoredProcedure IASQLOLEStoredProcedure
  1521. #define IID_ISQLOLEStoredProcedure IID_IASQLOLEStoredProcedure 
  1522. #endif
  1523.  
  1524. #undef LPSQLOLETRIGGERS 
  1525. #undef ISQLOLETriggers 
  1526. #undef IID_ISQLOLETriggers 
  1527. #ifdef SQLOLE_UNICODE
  1528. interface IWSQLOLETriggers;            TYPEDEFINTERFACE IWSQLOLETriggers *                LPWSQLOLETRIGGERS;
  1529. #define LPSQLOLETRIGGERS LPWSQLOLETRIGGERS
  1530. #define ISQLOLETriggers IWSQLOLETriggers
  1531. #define IID_ISQLOLETriggers IID_IWSQLOLETriggers 
  1532. #else
  1533. interface IASQLOLETriggers;            TYPEDEFINTERFACE IASQLOLETriggers *                LPASQLOLETRIGGERS;
  1534. #define LPSQLOLETRIGGERS LPASQLOLETRIGGERS
  1535. #define ISQLOLETriggers IASQLOLETriggers
  1536. #define IID_ISQLOLETriggers IID_IASQLOLETriggers 
  1537. #endif
  1538.  
  1539. #undef LPSQLOLETRIGGER 
  1540. #undef ISQLOLETrigger 
  1541. #undef IID_ISQLOLETrigger 
  1542. #ifdef SQLOLE_UNICODE
  1543. interface IWSQLOLETrigger;            TYPEDEFINTERFACE IWSQLOLETrigger *                LPWSQLOLETRIGGER;
  1544. #define LPSQLOLETRIGGER LPWSQLOLETRIGGER
  1545. #define ISQLOLETrigger IWSQLOLETrigger
  1546. #define IID_ISQLOLETrigger IID_IWSQLOLETrigger 
  1547. #else
  1548. interface IASQLOLETrigger;            TYPEDEFINTERFACE IASQLOLETrigger *                LPASQLOLETRIGGER;
  1549. #define LPSQLOLETRIGGER LPASQLOLETRIGGER
  1550. #define ISQLOLETrigger IASQLOLETrigger
  1551. #define IID_ISQLOLETrigger IID_IASQLOLETrigger 
  1552. #endif
  1553.  
  1554. #undef LPSQLOLEUSERS 
  1555. #undef ISQLOLEUsers 
  1556. #undef IID_ISQLOLEUsers 
  1557. #ifdef SQLOLE_UNICODE
  1558. interface IWSQLOLEUsers;                TYPEDEFINTERFACE IWSQLOLEUsers *                    LPWSQLOLEUSERS;
  1559. #define LPSQLOLEUSERS LPWSQLOLEUSERS
  1560. #define ISQLOLEUsers IWSQLOLEUsers
  1561. #define IID_ISQLOLEUsers IID_IWSQLOLEUsers 
  1562. #else
  1563. interface IASQLOLEUsers;                TYPEDEFINTERFACE IASQLOLEUsers *                    LPASQLOLEUSERS;
  1564. #define LPSQLOLEUSERS LPASQLOLEUSERS
  1565. #define ISQLOLEUsers IASQLOLEUsers
  1566. #define IID_ISQLOLEUsers IID_IASQLOLEUsers 
  1567. #endif
  1568.  
  1569. #undef LPSQLOLEUSER 
  1570. #undef ISQLOLEUser 
  1571. #undef IID_ISQLOLEUser 
  1572. #ifdef SQLOLE_UNICODE
  1573. interface IWSQLOLEUser;                TYPEDEFINTERFACE IWSQLOLEUser *                    LPWSQLOLEUSER;
  1574. #define LPSQLOLEUSER LPWSQLOLEUSER
  1575. #define ISQLOLEUser IWSQLOLEUser
  1576. #define IID_ISQLOLEUser IID_IWSQLOLEUser 
  1577. #else
  1578. interface IASQLOLEUser;                TYPEDEFINTERFACE IASQLOLEUser *                    LPASQLOLEUSER;
  1579. #define LPSQLOLEUSER LPASQLOLEUSER
  1580. #define ISQLOLEUser IASQLOLEUser
  1581. #define IID_ISQLOLEUser IID_IASQLOLEUser 
  1582. #endif
  1583.  
  1584. #undef LPSQLOLEGROUPS 
  1585. #undef ISQLOLEGroups 
  1586. #undef IID_ISQLOLEGroups 
  1587. #ifdef SQLOLE_UNICODE
  1588. interface IWSQLOLEGroups;            TYPEDEFINTERFACE IWSQLOLEGroups *                    LPWSQLOLEGROUPS;
  1589. #define LPSQLOLEGROUPS LPWSQLOLEGROUPS
  1590. #define ISQLOLEGroups IWSQLOLEGroups
  1591. #define IID_ISQLOLEGroups IID_IWSQLOLEGroups 
  1592. #else
  1593. interface IASQLOLEGroups;            TYPEDEFINTERFACE IASQLOLEGroups *                    LPASQLOLEGROUPS;
  1594. #define LPSQLOLEGROUPS LPASQLOLEGROUPS
  1595. #define ISQLOLEGroups IASQLOLEGroups
  1596. #define IID_ISQLOLEGroups IID_IASQLOLEGroups 
  1597. #endif
  1598.  
  1599. #undef LPSQLOLEGROUP 
  1600. #undef ISQLOLEGroup 
  1601. #undef IID_ISQLOLEGroup 
  1602. #ifdef SQLOLE_UNICODE
  1603. interface IWSQLOLEGroup;                TYPEDEFINTERFACE IWSQLOLEGroup *                    LPWSQLOLEGROUP;
  1604. #define LPSQLOLEGROUP LPWSQLOLEGROUP
  1605. #define ISQLOLEGroup IWSQLOLEGroup
  1606. #define IID_ISQLOLEGroup IID_IWSQLOLEGroup 
  1607. #else
  1608. interface IASQLOLEGroup;                TYPEDEFINTERFACE IASQLOLEGroup *                    LPASQLOLEGROUP;
  1609. #define LPSQLOLEGROUP LPASQLOLEGROUP
  1610. #define ISQLOLEGroup IASQLOLEGroup
  1611. #define IID_ISQLOLEGroup IID_IASQLOLEGroup 
  1612. #endif
  1613.  
  1614. #undef LPSQLOLEINDEXES 
  1615. #undef ISQLOLEIndexes 
  1616. #undef IID_ISQLOLEIndexes 
  1617. #ifdef SQLOLE_UNICODE
  1618. interface IWSQLOLEIndexes;            TYPEDEFINTERFACE IWSQLOLEIndexes *                LPWSQLOLEINDEXES;
  1619. #define LPSQLOLEINDEXES LPWSQLOLEINDEXES
  1620. #define ISQLOLEIndexes IWSQLOLEIndexes
  1621. #define IID_ISQLOLEIndexes IID_IWSQLOLEIndexes 
  1622. #else
  1623. interface IASQLOLEIndexes;            TYPEDEFINTERFACE IASQLOLEIndexes *                LPASQLOLEINDEXES;
  1624. #define LPSQLOLEINDEXES LPASQLOLEINDEXES
  1625. #define ISQLOLEIndexes IASQLOLEIndexes
  1626. #define IID_ISQLOLEIndexes IID_IASQLOLEIndexes 
  1627. #endif
  1628.  
  1629. #undef LPSQLOLEINDEX 
  1630. #undef ISQLOLEIndex 
  1631. #undef IID_ISQLOLEIndex 
  1632. #ifdef SQLOLE_UNICODE
  1633. interface IWSQLOLEIndex;                TYPEDEFINTERFACE IWSQLOLEIndex *                    LPWSQLOLEINDEX;
  1634. #define LPSQLOLEINDEX LPWSQLOLEINDEX
  1635. #define ISQLOLEIndex IWSQLOLEIndex
  1636. #define IID_ISQLOLEIndex IID_IWSQLOLEIndex 
  1637. #else
  1638. interface IASQLOLEIndex;                TYPEDEFINTERFACE IASQLOLEIndex *                    LPASQLOLEINDEX;
  1639. #define LPSQLOLEINDEX LPASQLOLEINDEX
  1640. #define ISQLOLEIndex IASQLOLEIndex
  1641. #define IID_ISQLOLEIndex IID_IASQLOLEIndex 
  1642. #endif
  1643.  
  1644. #undef LPSQLOLETRIGGERS 
  1645. #undef ISQLOLETriggers 
  1646. #undef IID_ISQLOLETriggers 
  1647. #ifdef SQLOLE_UNICODE
  1648. interface IWSQLOLETriggers;            TYPEDEFINTERFACE IWSQLOLETriggers *                LPWSQLOLETRIGGERS;
  1649. #define LPSQLOLETRIGGERS LPWSQLOLETRIGGERS
  1650. #define ISQLOLETriggers IWSQLOLETriggers
  1651. #define IID_ISQLOLETriggers IID_IWSQLOLETriggers 
  1652. #else
  1653. interface IASQLOLETriggers;            TYPEDEFINTERFACE IASQLOLETriggers *                LPASQLOLETRIGGERS;
  1654. #define LPSQLOLETRIGGERS LPASQLOLETRIGGERS
  1655. #define ISQLOLETriggers IASQLOLETriggers
  1656. #define IID_ISQLOLETriggers IID_IASQLOLETriggers 
  1657. #endif
  1658.  
  1659. #undef LPSQLOLETRIGGER 
  1660. #undef ISQLOLETrigger 
  1661. #undef IID_ISQLOLETrigger 
  1662. #ifdef SQLOLE_UNICODE
  1663. interface IWSQLOLETrigger;            TYPEDEFINTERFACE IWSQLOLETrigger *                LPWSQLOLETRIGGER;
  1664. #define LPSQLOLETRIGGER LPWSQLOLETRIGGER
  1665. #define ISQLOLETrigger IWSQLOLETrigger
  1666. #define IID_ISQLOLETrigger IID_IWSQLOLETrigger 
  1667. #else
  1668. interface IASQLOLETrigger;            TYPEDEFINTERFACE IASQLOLETrigger *                LPASQLOLETRIGGER;
  1669. #define LPSQLOLETRIGGER LPASQLOLETRIGGER
  1670. #define ISQLOLETrigger IASQLOLETrigger
  1671. #define IID_ISQLOLETrigger IID_IASQLOLETrigger 
  1672. #endif
  1673.  
  1674. #undef LPSQLOLEREMOTELOGINS 
  1675. #undef ISQLOLERemoteLogins 
  1676. #undef IID_ISQLOLERemoteLogins 
  1677. #ifdef SQLOLE_UNICODE
  1678. interface IWSQLOLERemoteLogins;        TYPEDEFINTERFACE IWSQLOLERemoteLogins *            LPWSQLOLEREMOTELOGINS;
  1679. #define LPSQLOLEREMOTELOGINS LPWSQLOLEREMOTELOGINS
  1680. #define ISQLOLERemoteLogins IWSQLOLERemoteLogins
  1681. #define IID_ISQLOLERemoteLogins IID_IWSQLOLERemoteLogins 
  1682. #else
  1683. interface IASQLOLERemoteLogins;        TYPEDEFINTERFACE IASQLOLERemoteLogins *            LPASQLOLEREMOTELOGINS;
  1684. #define LPSQLOLEREMOTELOGINS LPASQLOLEREMOTELOGINS
  1685. #define ISQLOLERemoteLogins IASQLOLERemoteLogins
  1686. #define IID_ISQLOLERemoteLogins IID_IASQLOLERemoteLogins 
  1687. #endif
  1688.  
  1689. #undef LPSQLOLEREMOTELOGIN 
  1690. #undef ISQLOLERemoteLogin 
  1691. #undef IID_ISQLOLERemoteLogin 
  1692. #ifdef SQLOLE_UNICODE
  1693. interface IWSQLOLERemoteLogin;        TYPEDEFINTERFACE IWSQLOLERemoteLogin *            LPWSQLOLEREMOTELOGIN;
  1694. #define LPSQLOLEREMOTELOGIN LPWSQLOLEREMOTELOGIN
  1695. #define ISQLOLERemoteLogin IWSQLOLERemoteLogin
  1696. #define IID_ISQLOLERemoteLogin IID_IWSQLOLERemoteLogin 
  1697. #else
  1698. interface IASQLOLERemoteLogin;        TYPEDEFINTERFACE IASQLOLERemoteLogin *            LPASQLOLEREMOTELOGIN;
  1699. #define LPSQLOLEREMOTELOGIN LPASQLOLEREMOTELOGIN
  1700. #define ISQLOLERemoteLogin IASQLOLERemoteLogin
  1701. #define IID_ISQLOLERemoteLogin IID_IASQLOLERemoteLogin 
  1702. #endif
  1703.  
  1704. #undef LPSQLOLETASKS 
  1705. #undef ISQLOLETasks 
  1706. #undef IID_ISQLOLETasks 
  1707. #ifdef SQLOLE_UNICODE
  1708. interface IWSQLOLETasks;            TYPEDEFINTERFACE IWSQLOLETasks *                    LPWSQLOLETASKS;
  1709. #define LPSQLOLETASKS LPWSQLOLETASKS
  1710. #define ISQLOLETasks IWSQLOLETasks
  1711. #define IID_ISQLOLETasks IID_IWSQLOLETasks 
  1712. #else
  1713. interface IASQLOLETasks;            TYPEDEFINTERFACE IASQLOLETasks *                    LPASQLOLETASKS;
  1714. #define LPSQLOLETASKS LPASQLOLETASKS
  1715. #define ISQLOLETasks IASQLOLETasks
  1716. #define IID_ISQLOLETasks IID_IASQLOLETasks 
  1717. #endif
  1718.  
  1719. #undef LPSQLOLETASK 
  1720. #undef ISQLOLETask 
  1721. #undef IID_ISQLOLETask 
  1722. #ifdef SQLOLE_UNICODE
  1723. interface IWSQLOLETask;                TYPEDEFINTERFACE IWSQLOLETask *                    LPWSQLOLETASK;
  1724. #define LPSQLOLETASK LPWSQLOLETASK
  1725. #define ISQLOLETask IWSQLOLETask
  1726. #define IID_ISQLOLETask IID_IWSQLOLETask 
  1727. #else
  1728. interface IASQLOLETask;                TYPEDEFINTERFACE IASQLOLETask *                    LPASQLOLETASK;
  1729. #define LPSQLOLETASK LPASQLOLETASK
  1730. #define ISQLOLETask IASQLOLETask
  1731. #define IID_ISQLOLETask IID_IASQLOLETask 
  1732. #endif
  1733.  
  1734. #undef LPSQLOLEALERTS 
  1735. #undef ISQLOLEAlerts 
  1736. #undef IID_ISQLOLEAlerts 
  1737. #ifdef SQLOLE_UNICODE
  1738. interface IWSQLOLEAlerts;            TYPEDEFINTERFACE IWSQLOLEAlerts *                    LPWSQLOLEALERTS;
  1739. #define LPSQLOLEALERTS LPWSQLOLEALERTS
  1740. #define ISQLOLEAlerts IWSQLOLEAlerts
  1741. #define IID_ISQLOLEAlerts IID_IWSQLOLEAlerts 
  1742. #else
  1743. interface IASQLOLEAlerts;            TYPEDEFINTERFACE IASQLOLEAlerts *                    LPASQLOLEALERTS;
  1744. #define LPSQLOLEALERTS LPASQLOLEALERTS
  1745. #define ISQLOLEAlerts IASQLOLEAlerts
  1746. #define IID_ISQLOLEAlerts IID_IASQLOLEAlerts 
  1747. #endif
  1748.  
  1749. #undef LPSQLOLEALERT 
  1750. #undef ISQLOLEAlert 
  1751. #undef IID_ISQLOLEAlert 
  1752. #ifdef SQLOLE_UNICODE
  1753. interface IWSQLOLEAlert;                TYPEDEFINTERFACE IWSQLOLEAlert *                    LPWSQLOLEALERT;
  1754. #define LPSQLOLEALERT LPWSQLOLEALERT
  1755. #define ISQLOLEAlert IWSQLOLEAlert
  1756. #define IID_ISQLOLEAlert IID_IWSQLOLEAlert 
  1757. #else
  1758. interface IASQLOLEAlert;                TYPEDEFINTERFACE IASQLOLEAlert *                    LPASQLOLEALERT;
  1759. #define LPSQLOLEALERT LPASQLOLEALERT
  1760. #define ISQLOLEAlert IASQLOLEAlert
  1761. #define IID_ISQLOLEAlert IID_IASQLOLEAlert 
  1762. #endif
  1763.  
  1764. #undef LPSQLOLEOPERATORS 
  1765. #undef ISQLOLEOperators 
  1766. #undef IID_ISQLOLEOperators 
  1767. #ifdef SQLOLE_UNICODE
  1768. interface IWSQLOLEOperators;            TYPEDEFINTERFACE IWSQLOLEOperators *                    LPWSQLOLEOPERATORS;
  1769. #define LPSQLOLEOPERATORS LPWSQLOLEOPERATORS
  1770. #define ISQLOLEOperators IWSQLOLEOperators
  1771. #define IID_ISQLOLEOperators IID_IWSQLOLEOperators 
  1772. #else
  1773. interface IASQLOLEOperators;            TYPEDEFINTERFACE IASQLOLEOperators *                    LPASQLOLEOPERATORS;
  1774. #define LPSQLOLEOPERATORS LPASQLOLEOPERATORS
  1775. #define ISQLOLEOperators IASQLOLEOperators
  1776. #define IID_ISQLOLEOperators IID_IASQLOLEOperators 
  1777. #endif
  1778.  
  1779. #undef LPSQLOLEOPERATOR 
  1780. #undef ISQLOLEOperator 
  1781. #undef IID_ISQLOLEOperator 
  1782. #ifdef SQLOLE_UNICODE
  1783. interface IWSQLOLEOperator;                TYPEDEFINTERFACE IWSQLOLEOperator *                    LPWSQLOLEOPERATOR;
  1784. #define LPSQLOLEOPERATOR LPWSQLOLEOPERATOR
  1785. #define ISQLOLEOperator IWSQLOLEOperator
  1786. #define IID_ISQLOLEOperator IID_IWSQLOLEOperator 
  1787. #else
  1788. interface IASQLOLEOperator;                TYPEDEFINTERFACE IASQLOLEOperator *                    LPASQLOLEOPERATOR;
  1789. #define LPSQLOLEOPERATOR LPASQLOLEOPERATOR
  1790. #define ISQLOLEOperator IASQLOLEOperator
  1791. #define IID_ISQLOLEOperator IID_IASQLOLEOperator 
  1792. #endif
  1793.  
  1794. #undef LPSQLOLEPUBLICATIONS 
  1795. #undef ISQLOLEPublications 
  1796. #undef IID_ISQLOLEPublications 
  1797. #ifdef SQLOLE_UNICODE
  1798. interface IWSQLOLEPublications;            TYPEDEFINTERFACE IWSQLOLEPublications *                    LPWSQLOLEPUBLICATIONS;
  1799. #define LPSQLOLEPUBLICATIONS LPWSQLOLEPUBLICATIONS
  1800. #define ISQLOLEPublications IWSQLOLEPublications
  1801. #define IID_ISQLOLEPublications IID_IWSQLOLEPublications 
  1802. #else
  1803. interface IASQLOLEPublications;            TYPEDEFINTERFACE IASQLOLEPublications *                    LPASQLOLEPUBLICATIONS;
  1804. #define LPSQLOLEPUBLICATIONS LPASQLOLEPUBLICATIONS
  1805. #define ISQLOLEPublications IASQLOLEPublications
  1806. #define IID_ISQLOLEPublications IID_IASQLOLEPublications 
  1807. #endif
  1808.  
  1809. #undef LPSQLOLEPUBLICATION 
  1810. #undef ISQLOLEPublication 
  1811. #undef IID_ISQLOLEPublication 
  1812. #ifdef SQLOLE_UNICODE
  1813. interface IWSQLOLEPublication;                TYPEDEFINTERFACE IWSQLOLEPublication *                    LPWSQLOLEPUBLICATION;
  1814. #define LPSQLOLEPUBLICATION LPWSQLOLEPUBLICATION
  1815. #define ISQLOLEPublication IWSQLOLEPublication
  1816. #define IID_ISQLOLEPublication IID_IWSQLOLEPublication 
  1817. #else
  1818. interface IASQLOLEPublication;                TYPEDEFINTERFACE IASQLOLEPublication *                    LPASQLOLEPUBLICATION;
  1819. #define LPSQLOLEPUBLICATION LPASQLOLEPUBLICATION
  1820. #define ISQLOLEPublication IASQLOLEPublication
  1821. #define IID_ISQLOLEPublication IID_IASQLOLEPublication 
  1822. #endif
  1823.  
  1824. #undef LPSQLOLEARTICLES 
  1825. #undef ISQLOLEArticles 
  1826. #undef IID_ISQLOLEArticles 
  1827. #ifdef SQLOLE_UNICODE
  1828. interface IWSQLOLEArticles;            TYPEDEFINTERFACE IWSQLOLEArticles *                    LPWSQLOLEARTICLES;
  1829. #define LPSQLOLEARTICLES LPWSQLOLEARTICLES
  1830. #define ISQLOLEArticles IWSQLOLEArticles
  1831. #define IID_ISQLOLEArticles IID_IWSQLOLEArticles 
  1832. #else
  1833. interface IASQLOLEArticles;            TYPEDEFINTERFACE IASQLOLEArticles *                    LPASQLOLEARTICLES;
  1834. #define LPSQLOLEARTICLES LPASQLOLEARTICLES
  1835. #define ISQLOLEArticles IASQLOLEArticles
  1836. #define IID_ISQLOLEArticles IID_IASQLOLEArticles 
  1837. #endif
  1838.  
  1839. #undef LPSQLOLEARTICLE 
  1840. #undef ISQLOLEArticle 
  1841. #undef IID_ISQLOLEArticle 
  1842. #ifdef SQLOLE_UNICODE
  1843. interface IWSQLOLEArticle;                TYPEDEFINTERFACE IWSQLOLEArticle *                    LPWSQLOLEARTICLE;
  1844. #define LPSQLOLEARTICLE LPWSQLOLEARTICLE
  1845. #define ISQLOLEArticle IWSQLOLEArticle
  1846. #define IID_ISQLOLEArticle IID_IWSQLOLEArticle 
  1847. #else
  1848. interface IASQLOLEArticle;                TYPEDEFINTERFACE IASQLOLEArticle *                    LPASQLOLEARTICLE;
  1849. #define LPSQLOLEARTICLE LPASQLOLEARTICLE
  1850. #define ISQLOLEArticle IASQLOLEArticle
  1851. #define IID_ISQLOLEArticle IID_IASQLOLEArticle 
  1852. #endif
  1853.  
  1854. #undef LPSQLOLESUBSCRIPTIONS 
  1855. #undef ISQLOLESubscriptions 
  1856. #undef IID_ISQLOLESubscriptions 
  1857. #ifdef SQLOLE_UNICODE
  1858. interface IWSQLOLESubscriptions;            TYPEDEFINTERFACE IWSQLOLESubscriptions *                    LPWSQLOLESUBSCRIPTIONS;
  1859. #define LPSQLOLESUBSCRIPTIONS LPWSQLOLESUBSCRIPTIONS
  1860. #define ISQLOLESubscriptions IWSQLOLESubscriptions
  1861. #define IID_ISQLOLESubscriptions IID_IWSQLOLESubscriptions 
  1862. #else
  1863. interface IASQLOLESubscriptions;            TYPEDEFINTERFACE IASQLOLESubscriptions *                    LPASQLOLESUBSCRIPTIONS;
  1864. #define LPSQLOLESUBSCRIPTIONS LPASQLOLESUBSCRIPTIONS
  1865. #define ISQLOLESubscriptions IASQLOLESubscriptions
  1866. #define IID_ISQLOLESubscriptions IID_IASQLOLESubscriptions 
  1867. #endif
  1868.  
  1869. #undef LPSQLOLESUBSCRIPTION 
  1870. #undef ISQLOLESubscription 
  1871. #undef IID_ISQLOLESubscription 
  1872. #ifdef SQLOLE_UNICODE
  1873. interface IWSQLOLESubscription;                TYPEDEFINTERFACE IWSQLOLESubscription *                    LPWSQLOLESUBSCRIPTION;
  1874. #define LPSQLOLESUBSCRIPTION LPWSQLOLESUBSCRIPTION
  1875. #define ISQLOLESubscription IWSQLOLESubscription
  1876. #define IID_ISQLOLESubscription IID_IWSQLOLESubscription 
  1877. #else
  1878. interface IASQLOLESubscription;                TYPEDEFINTERFACE IASQLOLESubscription *                    LPASQLOLESUBSCRIPTION;
  1879. #define LPSQLOLESUBSCRIPTION LPASQLOLESUBSCRIPTION
  1880. #define ISQLOLESubscription IASQLOLESubscription
  1881. #define IID_ISQLOLESubscription IID_IASQLOLESubscription 
  1882. #endif
  1883.  
  1884. #undef LPSQLOLESUBSCRIBERINFO 
  1885. #undef ISQLOLESubscriberInfo 
  1886. #undef IID_ISQLOLESubscriberInfo 
  1887. #ifdef SQLOLE_UNICODE
  1888. interface IWSQLOLESubscriberInfo;                TYPEDEFINTERFACE IWSQLOLESubscriberInfo *                    LPWSQLOLESUBSCRIBERINFO;
  1889. #define LPSQLOLESUBSCRIBERINFO LPWSQLOLESUBSCRIBERINFO
  1890. #define ISQLOLESubscriberInfo IWSQLOLESubscriberInfo
  1891. #define IID_ISQLOLESubscriberInfo IID_IWSQLOLESubscriberInfo 
  1892. #else
  1893. interface IASQLOLESubscriberInfo;                TYPEDEFINTERFACE IASQLOLESubscriberInfo *                    LPASQLOLESUBSCRIBERINFO;
  1894. #define LPSQLOLESUBSCRIBERINFO LPASQLOLESUBSCRIBERINFO
  1895. #define ISQLOLESubscriberInfo IASQLOLESubscriberInfo
  1896. #define IID_ISQLOLESubscriberInfo IID_IASQLOLESubscriberInfo 
  1897. #endif
  1898.  
  1899. #undef LPSQLOLEHISTORYFILTER 
  1900. #undef ISQLOLEHistoryFilter 
  1901. #undef IID_ISQLOLEHistoryFilter 
  1902. #ifdef SQLOLE_UNICODE
  1903. interface IWSQLOLEHistoryFilter;            TYPEDEFINTERFACE IWSQLOLEHistoryFilter *                LPWSQLOLEHISTORYFILTER;
  1904. #define LPSQLOLEHISTORYFILTER LPWSQLOLEHISTORYFILTER
  1905. #define ISQLOLEHistoryFilter IWSQLOLEHistoryFilter
  1906. #define IID_ISQLOLEHistoryFilter IID_IWSQLOLEHistoryFilter 
  1907. #else
  1908. interface IASQLOLEHistoryFilter;            TYPEDEFINTERFACE IASQLOLEHistoryFilter *                LPASQLOLEHISTORYFILTER;
  1909. #define LPSQLOLEHISTORYFILTER LPASQLOLEHISTORYFILTER
  1910. #define ISQLOLEHistoryFilter IASQLOLEHistoryFilter
  1911. #define IID_ISQLOLEHistoryFilter IID_IASQLOLEHistoryFilter 
  1912. #endif
  1913.  
  1914. #undef LPSQLOLEDBOBJECTS 
  1915. #undef ISQLOLEDBObjects 
  1916. #undef IID_ISQLOLEDBObjects 
  1917. #ifdef SQLOLE_UNICODE
  1918. interface IWSQLOLEDBObjects;            TYPEDEFINTERFACE IWSQLOLEDBObjects *                LPWSQLOLEDBOBJECTS;
  1919. #define LPSQLOLEDBOBJECTS LPWSQLOLEDBOBJECTS
  1920. #define ISQLOLEDBObjects IWSQLOLEDBObjects
  1921. #define IID_ISQLOLEDBObjects IID_IWSQLOLEDBObjects 
  1922. #else
  1923. interface IASQLOLEDBObjects;            TYPEDEFINTERFACE IASQLOLEDBObjects *                LPASQLOLEDBOBJECTS;
  1924. #define LPSQLOLEDBOBJECTS LPASQLOLEDBOBJECTS
  1925. #define ISQLOLEDBObjects IASQLOLEDBObjects
  1926. #define IID_ISQLOLEDBObjects IID_IASQLOLEDBObjects 
  1927. #endif
  1928.  
  1929. #undef LPSQLOLEDBOBJECT 
  1930. #undef ISQLOLEDBObject 
  1931. #undef IID_ISQLOLEDBObject 
  1932. #ifdef SQLOLE_UNICODE
  1933. interface IWSQLOLEDBObject;            TYPEDEFINTERFACE IWSQLOLEDBObject *                LPWSQLOLEDBOBJECT;
  1934. #define LPSQLOLEDBOBJECT LPWSQLOLEDBOBJECT
  1935. #define ISQLOLEDBObject IWSQLOLEDBObject
  1936. #define IID_ISQLOLEDBObject IID_IWSQLOLEDBObject 
  1937. #else
  1938. interface IASQLOLEDBObject;            TYPEDEFINTERFACE IASQLOLEDBObject *                LPASQLOLEDBOBJECT;
  1939. #define LPSQLOLEDBOBJECT LPASQLOLEDBOBJECT
  1940. #define ISQLOLEDBObject IASQLOLEDBObject
  1941. #define IID_ISQLOLEDBObject IID_IASQLOLEDBObject 
  1942. #endif
  1943.  
  1944. #undef LPSQLOLEDBOPTION 
  1945. #undef ISQLOLEDBOption 
  1946. #undef IID_ISQLOLEDBOption 
  1947. #ifdef SQLOLE_UNICODE
  1948. interface IWSQLOLEDBOption;            TYPEDEFINTERFACE IWSQLOLEDBOption *                LPWSQLOLEDBOPTION;
  1949. #define LPSQLOLEDBOPTION LPWSQLOLEDBOPTION
  1950. #define ISQLOLEDBOption IWSQLOLEDBOption
  1951. #define IID_ISQLOLEDBOption IID_IWSQLOLEDBOption 
  1952. #else
  1953. interface IASQLOLEDBOption;            TYPEDEFINTERFACE IASQLOLEDBOption *                LPASQLOLEDBOPTION;
  1954. #define LPSQLOLEDBOPTION LPASQLOLEDBOPTION
  1955. #define ISQLOLEDBOption IASQLOLEDBOption
  1956. #define IID_ISQLOLEDBOption IID_IASQLOLEDBOption 
  1957. #endif
  1958.  
  1959. #undef LPSQLOLECONFIGURATION 
  1960. #undef ISQLOLEConfiguration 
  1961. #undef IID_ISQLOLEConfiguration 
  1962. #ifdef SQLOLE_UNICODE
  1963. interface IWSQLOLEConfiguration;        TYPEDEFINTERFACE IWSQLOLEConfiguration *            LPWSQLOLECONFIGURATION;
  1964. #define LPSQLOLECONFIGURATION LPWSQLOLECONFIGURATION
  1965. #define ISQLOLEConfiguration IWSQLOLEConfiguration
  1966. #define IID_ISQLOLEConfiguration IID_IWSQLOLEConfiguration 
  1967. #else
  1968. interface IASQLOLEConfiguration;        TYPEDEFINTERFACE IASQLOLEConfiguration *            LPASQLOLECONFIGURATION;
  1969. #define LPSQLOLECONFIGURATION LPASQLOLECONFIGURATION
  1970. #define ISQLOLEConfiguration IASQLOLEConfiguration
  1971. #define IID_ISQLOLEConfiguration IID_IASQLOLEConfiguration 
  1972. #endif
  1973.  
  1974. #undef LPSQLOLECONFIGVALUES 
  1975. #undef ISQLOLEConfigValues 
  1976. #undef IID_ISQLOLEConfigValues 
  1977. #ifdef SQLOLE_UNICODE
  1978. interface IWSQLOLEConfigValues;        TYPEDEFINTERFACE IWSQLOLEConfigValues *                LPWSQLOLECONFIGVALUES;
  1979. #define LPSQLOLECONFIGVALUES LPWSQLOLECONFIGVALUES
  1980. #define ISQLOLEConfigValues IWSQLOLEConfigValues
  1981. #define IID_ISQLOLEConfigValues IID_IWSQLOLEConfigValues 
  1982. #else
  1983. interface IASQLOLEConfigValues;        TYPEDEFINTERFACE IASQLOLEConfigValues *                LPASQLOLECONFIGVALUES;
  1984. #define LPSQLOLECONFIGVALUES LPASQLOLECONFIGVALUES
  1985. #define ISQLOLEConfigValues IASQLOLEConfigValues
  1986. #define IID_ISQLOLEConfigValues IID_IASQLOLEConfigValues 
  1987. #endif
  1988.  
  1989. #undef LPSQLOLECONFIGVALUE 
  1990. #undef ISQLOLEConfigValue 
  1991. #undef IID_ISQLOLEConfigValue 
  1992. #ifdef SQLOLE_UNICODE
  1993. interface IWSQLOLEConfigValue;        TYPEDEFINTERFACE IWSQLOLEConfigValue *                LPWSQLOLECONFIGVALUE;
  1994. #define LPSQLOLECONFIGVALUE LPWSQLOLECONFIGVALUE
  1995. #define ISQLOLEConfigValue IWSQLOLEConfigValue
  1996. #define IID_ISQLOLEConfigValue IID_IWSQLOLEConfigValue 
  1997. #else
  1998. interface IASQLOLEConfigValue;        TYPEDEFINTERFACE IASQLOLEConfigValue *                LPASQLOLECONFIGVALUE;
  1999. #define LPSQLOLECONFIGVALUE LPASQLOLECONFIGVALUE
  2000. #define ISQLOLEConfigValue IASQLOLEConfigValue
  2001. #define IID_ISQLOLEConfigValue IID_IASQLOLEConfigValue 
  2002. #endif
  2003.  
  2004. #undef LPSQLOLEEXECUTIVE 
  2005. #undef ISQLOLEExecutive 
  2006. #undef IID_ISQLOLEExecutive 
  2007. #ifdef SQLOLE_UNICODE
  2008. interface IWSQLOLEExecutive;            TYPEDEFINTERFACE IWSQLOLEExecutive *                LPWSQLOLEEXECUTIVE;
  2009. #define LPSQLOLEEXECUTIVE LPWSQLOLEEXECUTIVE
  2010. #define ISQLOLEExecutive IWSQLOLEExecutive
  2011. #define IID_ISQLOLEExecutive IID_IWSQLOLEExecutive 
  2012. #else
  2013. interface IASQLOLEExecutive;            TYPEDEFINTERFACE IASQLOLEExecutive *                LPASQLOLEEXECUTIVE;
  2014. #define LPSQLOLEEXECUTIVE LPASQLOLEEXECUTIVE
  2015. #define ISQLOLEExecutive IASQLOLEExecutive
  2016. #define IID_ISQLOLEExecutive IID_IASQLOLEExecutive 
  2017. #endif
  2018.  
  2019. #undef LPSQLOLEQUERYRESULTS 
  2020. #undef ISQLOLEQueryResults 
  2021. #undef IID_ISQLOLEQueryResults 
  2022. #ifdef SQLOLE_UNICODE
  2023. interface IWSQLOLEQueryResults;        TYPEDEFINTERFACE IWSQLOLEQueryResults *            LPWSQLOLEQUERYRESULTS;
  2024. #define LPSQLOLEQUERYRESULTS LPWSQLOLEQUERYRESULTS
  2025. #define ISQLOLEQueryResults IWSQLOLEQueryResults
  2026. #define IID_ISQLOLEQueryResults IID_IWSQLOLEQueryResults 
  2027. #else
  2028. interface IASQLOLEQueryResults;        TYPEDEFINTERFACE IASQLOLEQueryResults *            LPASQLOLEQUERYRESULTS;
  2029. #define LPSQLOLEQUERYRESULTS LPASQLOLEQUERYRESULTS
  2030. #define ISQLOLEQueryResults IASQLOLEQueryResults
  2031. #define IID_ISQLOLEQueryResults IID_IASQLOLEQueryResults 
  2032. #endif
  2033.  
  2034. #undef LPSQLOLETRANSACTIONLOG 
  2035. #undef ISQLOLETransactionLog 
  2036. #undef IID_ISQLOLETransactionLog 
  2037. #ifdef SQLOLE_UNICODE
  2038. interface IWSQLOLETransactionLog;    TYPEDEFINTERFACE IWSQLOLETransactionLog *            LPWSQLOLETRANSACTIONLOG;
  2039. #define LPSQLOLETRANSACTIONLOG LPWSQLOLETRANSACTIONLOG
  2040. #define ISQLOLETransactionLog IWSQLOLETransactionLog
  2041. #define IID_ISQLOLETransactionLog IID_IWSQLOLETransactionLog 
  2042. #else
  2043. interface IASQLOLETransactionLog;    TYPEDEFINTERFACE IASQLOLETransactionLog *            LPASQLOLETRANSACTIONLOG;
  2044. #define LPSQLOLETRANSACTIONLOG LPASQLOLETRANSACTIONLOG
  2045. #define ISQLOLETransactionLog IASQLOLETransactionLog
  2046. #define IID_ISQLOLETransactionLog IID_IASQLOLETransactionLog 
  2047. #endif
  2048.  
  2049. #undef LPSQLOLEREGISTRY 
  2050. #undef ISQLOLERegistry 
  2051. #undef IID_ISQLOLERegistry 
  2052. #ifdef SQLOLE_UNICODE
  2053. interface IWSQLOLERegistry;            TYPEDEFINTERFACE IWSQLOLERegistry *                LPWSQLOLEREGISTRY;
  2054. #define LPSQLOLEREGISTRY LPWSQLOLEREGISTRY
  2055. #define ISQLOLERegistry IWSQLOLERegistry
  2056. #define IID_ISQLOLERegistry IID_IWSQLOLERegistry 
  2057. #else
  2058. interface IASQLOLERegistry;            TYPEDEFINTERFACE IASQLOLERegistry *                LPASQLOLEREGISTRY;
  2059. #define LPSQLOLEREGISTRY LPASQLOLEREGISTRY
  2060. #define ISQLOLERegistry IASQLOLERegistry
  2061. #define IID_ISQLOLERegistry IID_IASQLOLERegistry 
  2062. #endif
  2063.  
  2064. #undef LPSQLOLEBACKUP 
  2065. #undef ISQLOLEBackup 
  2066. #undef IID_ISQLOLEBackup 
  2067. #ifdef SQLOLE_UNICODE
  2068. interface IWSQLOLEBackup;            TYPEDEFINTERFACE IWSQLOLEBackup *                    LPWSQLOLEBACKUP;
  2069. #define LPSQLOLEBACKUP LPWSQLOLEBACKUP
  2070. #define ISQLOLEBackup IWSQLOLEBackup
  2071. #define IID_ISQLOLEBackup IID_IWSQLOLEBackup 
  2072. #else
  2073. interface IASQLOLEBackup;            TYPEDEFINTERFACE IASQLOLEBackup *                    LPASQLOLEBACKUP;
  2074. #define LPSQLOLEBACKUP LPASQLOLEBACKUP
  2075. #define ISQLOLEBackup IASQLOLEBackup
  2076. #define IID_ISQLOLEBackup IID_IASQLOLEBackup 
  2077. #endif
  2078.  
  2079. #undef LPSQLOLEBULKCOPY 
  2080. #undef ISQLOLEBulkCopy 
  2081. #undef IID_ISQLOLEBulkCopy 
  2082. #ifdef SQLOLE_UNICODE
  2083. interface IWSQLOLEBulkCopy;            TYPEDEFINTERFACE IWSQLOLEBulkCopy *                    LPWSQLOLEBULKCOPY;
  2084. #define LPSQLOLEBULKCOPY LPWSQLOLEBULKCOPY
  2085. #define ISQLOLEBulkCopy IWSQLOLEBulkCopy
  2086. #define IID_ISQLOLEBulkCopy IID_IWSQLOLEBulkCopy 
  2087. #else
  2088. interface IASQLOLEBulkCopy;            TYPEDEFINTERFACE IASQLOLEBulkCopy *                    LPASQLOLEBULKCOPY;
  2089. #define LPSQLOLEBULKCOPY LPASQLOLEBULKCOPY
  2090. #define ISQLOLEBulkCopy IASQLOLEBulkCopy
  2091. #define IID_ISQLOLEBulkCopy IID_IASQLOLEBulkCopy 
  2092. #endif
  2093.  
  2094. #undef LPSQLOLEOBJECTLIST 
  2095. #undef ISQLOLEObjectList 
  2096. #undef IID_ISQLOLEObjectList 
  2097. #ifdef SQLOLE_UNICODE
  2098. interface IWSQLOLEObjectList;        TYPEDEFINTERFACE IWSQLOLEObjectList *                LPWSQLOLEOBJECTLIST;
  2099. #define LPSQLOLEOBJECTLIST LPWSQLOLEOBJECTLIST
  2100. #define ISQLOLEObjectList IWSQLOLEObjectList
  2101. #define IID_ISQLOLEObjectList IID_IWSQLOLEObjectList 
  2102. #else
  2103. interface IASQLOLEObjectList;        TYPEDEFINTERFACE IASQLOLEObjectList *                LPASQLOLEOBJECTLIST;
  2104. #define LPSQLOLEOBJECTLIST LPASQLOLEOBJECTLIST
  2105. #define ISQLOLEObjectList IASQLOLEObjectList
  2106. #define IID_ISQLOLEObjectList IID_IASQLOLEObjectList 
  2107. #endif
  2108.  
  2109. #undef LPSQLOLENAMES 
  2110. #undef ISQLOLENames 
  2111. #undef IID_ISQLOLENames 
  2112. #ifdef SQLOLE_UNICODE
  2113. interface IWSQLOLENames;        TYPEDEFINTERFACE IWSQLOLENames *                LPWSQLOLENAMES;
  2114. #define LPSQLOLENAMES LPWSQLOLENAMES
  2115. #define ISQLOLENames IWSQLOLENames
  2116. #define IID_ISQLOLENames IID_IWSQLOLENames 
  2117. #else
  2118. interface IASQLOLENames;        TYPEDEFINTERFACE IASQLOLENames *                LPASQLOLENAMES;
  2119. #define LPSQLOLENAMES LPASQLOLENAMES
  2120. #define ISQLOLENames IASQLOLENames
  2121. #define IID_ISQLOLENames IID_IASQLOLENames 
  2122. #endif
  2123.  
  2124. #undef LPSQLOLENAMELIST 
  2125. #undef ISQLOLENameList 
  2126. #undef IID_ISQLOLENameList 
  2127. #ifdef SQLOLE_UNICODE
  2128. interface IWSQLOLENameList;        TYPEDEFINTERFACE IWSQLOLENameList *                LPWSQLOLENAMELIST;
  2129. #define LPSQLOLENAMELIST LPWSQLOLENAMELIST
  2130. #define ISQLOLENameList IWSQLOLENameList
  2131. #define IID_ISQLOLENameList IID_IWSQLOLENameList 
  2132. #else
  2133. interface IASQLOLENameList;        TYPEDEFINTERFACE IASQLOLENameList *                LPASQLOLENAMELIST;
  2134. #define LPSQLOLENAMELIST LPASQLOLENAMELIST
  2135. #define ISQLOLENameList IASQLOLENameList
  2136. #define IID_ISQLOLENameList IID_IASQLOLENameList 
  2137. #endif
  2138.  
  2139. #undef LPSQLOLEPERMISSION 
  2140. #undef ISQLOLEPermission 
  2141. #undef IID_ISQLOLEPermission 
  2142. #ifdef SQLOLE_UNICODE
  2143. interface IWSQLOLEPermission;        TYPEDEFINTERFACE IWSQLOLEPermission *                LPWSQLOLEPERMISSION;
  2144. #define LPSQLOLEPERMISSION LPWSQLOLEPERMISSION
  2145. #define ISQLOLEPermission IWSQLOLEPermission
  2146. #define IID_ISQLOLEPermission IID_IWSQLOLEPermission 
  2147. #else
  2148. interface IASQLOLEPermission;        TYPEDEFINTERFACE IASQLOLEPermission *                LPASQLOLEPERMISSION;
  2149. #define LPSQLOLEPERMISSION LPASQLOLEPERMISSION
  2150. #define ISQLOLEPermission IASQLOLEPermission
  2151. #define IID_ISQLOLEPermission IID_IASQLOLEPermission 
  2152. #endif
  2153.  
  2154. #undef LPSQLOLEINTEGRATEDSECURITY 
  2155. #undef ISQLOLEIntegratedSecurity 
  2156. #undef IID_ISQLOLEIntegratedSecurity 
  2157. #ifdef SQLOLE_UNICODE
  2158. interface IWSQLOLEIntegratedSecurity;    TYPEDEFINTERFACE IWSQLOLEIntegratedSecurity *    LPWSQLOLEINTEGRATEDSECURITY;
  2159. #define LPSQLOLEINTEGRATEDSECURITY LPWSQLOLEINTEGRATEDSECURITY
  2160. #define ISQLOLEIntegratedSecurity IWSQLOLEIntegratedSecurity
  2161. #define IID_ISQLOLEIntegratedSecurity IID_IWSQLOLEIntegratedSecurity 
  2162. #else
  2163. interface IASQLOLEIntegratedSecurity;    TYPEDEFINTERFACE IASQLOLEIntegratedSecurity *    LPASQLOLEINTEGRATEDSECURITY;
  2164. #define LPSQLOLEINTEGRATEDSECURITY LPASQLOLEINTEGRATEDSECURITY
  2165. #define ISQLOLEIntegratedSecurity IASQLOLEIntegratedSecurity
  2166. #define IID_ISQLOLEIntegratedSecurity IID_IASQLOLEIntegratedSecurity 
  2167. #endif
  2168.  
  2169. #undef LPSQLOLEKEYS 
  2170. #undef ISQLOLEKeys 
  2171. #undef IID_ISQLOLEKeys 
  2172. #ifdef SQLOLE_UNICODE
  2173. interface IWSQLOLEKeys;            TYPEDEFINTERFACE IWSQLOLEKeys *                    LPWSQLOLEKEYS;
  2174. #define LPSQLOLEKEYS LPWSQLOLEKEYS
  2175. #define ISQLOLEKeys IWSQLOLEKeys
  2176. #define IID_ISQLOLEKeys IID_IWSQLOLEKeys 
  2177. #else
  2178. interface IASQLOLEKeys;            TYPEDEFINTERFACE IASQLOLEKeys *                    LPASQLOLEKEYS;
  2179. #define LPSQLOLEKEYS LPASQLOLEKEYS
  2180. #define ISQLOLEKeys IASQLOLEKeys
  2181. #define IID_ISQLOLEKeys IID_IASQLOLEKeys 
  2182. #endif
  2183.  
  2184. #undef LPSQLOLEKEY 
  2185. #undef ISQLOLEKey 
  2186. #undef IID_ISQLOLEKey 
  2187. #ifdef SQLOLE_UNICODE
  2188. interface IWSQLOLEKey;                TYPEDEFINTERFACE IWSQLOLEKey *                    LPWSQLOLEKEY;
  2189. #define LPSQLOLEKEY LPWSQLOLEKEY
  2190. #define ISQLOLEKey IWSQLOLEKey
  2191. #define IID_ISQLOLEKey IID_IWSQLOLEKey 
  2192. #else
  2193. interface IASQLOLEKey;                TYPEDEFINTERFACE IASQLOLEKey *                    LPASQLOLEKEY;
  2194. #define LPSQLOLEKEY LPASQLOLEKEY
  2195. #define ISQLOLEKey IASQLOLEKey
  2196. #define IID_ISQLOLEKey IID_IASQLOLEKey 
  2197. #endif
  2198.  
  2199. #undef LPSQLOLECHECKS 
  2200. #undef ISQLOLEChecks 
  2201. #undef IID_ISQLOLEChecks 
  2202. #ifdef SQLOLE_UNICODE
  2203. interface IWSQLOLEChecks;            TYPEDEFINTERFACE IWSQLOLEChecks *                    LPWSQLOLECHECKS;
  2204. #define LPSQLOLECHECKS LPWSQLOLECHECKS
  2205. #define ISQLOLEChecks IWSQLOLEChecks
  2206. #define IID_ISQLOLEChecks IID_IWSQLOLEChecks 
  2207. #else
  2208. interface IASQLOLEChecks;            TYPEDEFINTERFACE IASQLOLEChecks *                    LPASQLOLECHECKS;
  2209. #define LPSQLOLECHECKS LPASQLOLECHECKS
  2210. #define ISQLOLEChecks IASQLOLEChecks
  2211. #define IID_ISQLOLEChecks IID_IASQLOLEChecks 
  2212. #endif
  2213.  
  2214. #undef LPSQLOLECHECK 
  2215. #undef ISQLOLECheck 
  2216. #undef IID_ISQLOLECheck 
  2217. #ifdef SQLOLE_UNICODE
  2218. interface IWSQLOLECheck;                TYPEDEFINTERFACE IWSQLOLECheck *                    LPWSQLOLECHECK;
  2219. #define LPSQLOLECHECK LPWSQLOLECHECK
  2220. #define ISQLOLECheck IWSQLOLECheck
  2221. #define IID_ISQLOLECheck IID_IWSQLOLECheck 
  2222. #else
  2223. interface IASQLOLECheck;                TYPEDEFINTERFACE IASQLOLECheck *                    LPASQLOLECHECK;
  2224. #define LPSQLOLECHECK LPASQLOLECHECK
  2225. #define ISQLOLECheck IASQLOLECheck
  2226. #define IID_ISQLOLECheck IID_IASQLOLECheck 
  2227. #endif
  2228.  
  2229. #undef LPSQLOLEDRIDEFAULT 
  2230. #undef ISQLOLEDRIDefault 
  2231. #undef IID_ISQLOLEDRIDefault 
  2232. #ifdef SQLOLE_UNICODE
  2233. interface IWSQLOLEDRIDefault;                TYPEDEFINTERFACE IWSQLOLEDRIDefault *                    LPWSQLOLEDRIDEFAULT;
  2234. #define LPSQLOLEDRIDEFAULT LPWSQLOLEDRIDEFAULT
  2235. #define ISQLOLEDRIDefault IWSQLOLEDRIDefault
  2236. #define IID_ISQLOLEDRIDefault IID_IWSQLOLEDRIDefault 
  2237. #else
  2238. interface IASQLOLEDRIDefault;                TYPEDEFINTERFACE IASQLOLEDRIDefault *                    LPASQLOLEDRIDEFAULT;
  2239. #define LPSQLOLEDRIDEFAULT LPASQLOLEDRIDEFAULT
  2240. #define ISQLOLEDRIDefault IASQLOLEDRIDefault
  2241. #define IID_ISQLOLEDRIDefault IID_IASQLOLEDRIDefault 
  2242. #endif
  2243.  
  2244. #undef LPSQLOLEALERTSYSTEM 
  2245. #undef ISQLOLEAlertSystem 
  2246. #undef IID_ISQLOLEAlertSystem 
  2247. #ifdef SQLOLE_UNICODE
  2248. interface IWSQLOLEAlertSystem;                TYPEDEFINTERFACE IWSQLOLEAlertSystem *                    LPWSQLOLEALERTSYSTEM;
  2249. #define LPSQLOLEALERTSYSTEM LPWSQLOLEALERTSYSTEM
  2250. #define ISQLOLEAlertSystem IWSQLOLEAlertSystem
  2251. #define IID_ISQLOLEAlertSystem IID_IWSQLOLEAlertSystem 
  2252. #else
  2253. interface IASQLOLEAlertSystem;                TYPEDEFINTERFACE IASQLOLEAlertSystem *                    LPASQLOLEALERTSYSTEM;
  2254. #define LPSQLOLEALERTSYSTEM LPASQLOLEALERTSYSTEM
  2255. #define ISQLOLEAlertSystem IASQLOLEAlertSystem
  2256. #define IID_ISQLOLEAlertSystem IID_IASQLOLEAlertSystem 
  2257. #endif
  2258.  
  2259. #undef LPSQLOLESERVERGROUPS 
  2260. #undef ISQLOLEServerGroups 
  2261. #undef IID_ISQLOLEServerGroups 
  2262. #ifdef SQLOLE_UNICODE
  2263. interface IWSQLOLEServerGroups;            TYPEDEFINTERFACE IWSQLOLEServerGroups *                    LPWSQLOLESERVERGROUPS;
  2264. #define LPSQLOLESERVERGROUPS LPWSQLOLESERVERGROUPS
  2265. #define ISQLOLEServerGroups IWSQLOLEServerGroups
  2266. #define IID_ISQLOLEServerGroups IID_IWSQLOLEServerGroups 
  2267. #else
  2268. interface IASQLOLEServerGroups;            TYPEDEFINTERFACE IASQLOLEServerGroups *                    LPASQLOLESERVERGROUPS;
  2269. #define LPSQLOLESERVERGROUPS LPASQLOLESERVERGROUPS
  2270. #define ISQLOLEServerGroups IASQLOLEServerGroups
  2271. #define IID_ISQLOLEServerGroups IID_IASQLOLEServerGroups 
  2272. #endif
  2273.  
  2274. #undef LPSQLOLESERVERGROUP 
  2275. #undef ISQLOLEServerGroup 
  2276. #undef IID_ISQLOLEServerGroup 
  2277. #ifdef SQLOLE_UNICODE
  2278. interface IWSQLOLEServerGroup;                TYPEDEFINTERFACE IWSQLOLEServerGroup *                    LPWSQLOLESERVERGROUP;
  2279. #define LPSQLOLESERVERGROUP LPWSQLOLESERVERGROUP
  2280. #define ISQLOLEServerGroup IWSQLOLEServerGroup
  2281. #define IID_ISQLOLEServerGroup IID_IWSQLOLEServerGroup 
  2282. #else
  2283. interface IASQLOLEServerGroup;                TYPEDEFINTERFACE IASQLOLEServerGroup *                    LPASQLOLESERVERGROUP;
  2284. #define LPSQLOLESERVERGROUP LPASQLOLESERVERGROUP
  2285. #define ISQLOLEServerGroup IASQLOLEServerGroup
  2286. #define IID_ISQLOLEServerGroup IID_IASQLOLEServerGroup 
  2287. #endif
  2288.  
  2289. #undef LPSQLOLEREGISTEREDSERVERS 
  2290. #undef ISQLOLERegisteredServers 
  2291. #undef IID_ISQLOLERegisteredServers 
  2292. #ifdef SQLOLE_UNICODE
  2293. interface IWSQLOLERegisteredServers;            TYPEDEFINTERFACE IWSQLOLERegisteredServers *                    LPWSQLOLEREGISTEREDSERVERS;
  2294. #define LPSQLOLEREGISTEREDSERVERS LPWSQLOLEREGISTEREDSERVERS
  2295. #define ISQLOLERegisteredServers IWSQLOLERegisteredServers
  2296. #define IID_ISQLOLERegisteredServers IID_IWSQLOLERegisteredServers 
  2297. #else
  2298. interface IASQLOLERegisteredServers;            TYPEDEFINTERFACE IASQLOLERegisteredServers *                    LPASQLOLEREGISTEREDSERVERS;
  2299. #define LPSQLOLEREGISTEREDSERVERS LPASQLOLEREGISTEREDSERVERS
  2300. #define ISQLOLERegisteredServers IASQLOLERegisteredServers
  2301. #define IID_ISQLOLERegisteredServers IID_IASQLOLERegisteredServers 
  2302. #endif
  2303.  
  2304. #undef LPSQLOLEREGISTEREDSERVER 
  2305. #undef ISQLOLERegisteredServer 
  2306. #undef IID_ISQLOLERegisteredServer 
  2307. #ifdef SQLOLE_UNICODE
  2308. interface IWSQLOLERegisteredServer;                TYPEDEFINTERFACE IWSQLOLERegisteredServer *                    LPWSQLOLEREGISTEREDSERVER;
  2309. #define LPSQLOLEREGISTEREDSERVER LPWSQLOLEREGISTEREDSERVER
  2310. #define ISQLOLERegisteredServer IWSQLOLERegisteredServer
  2311. #define IID_ISQLOLERegisteredServer IID_IWSQLOLERegisteredServer 
  2312. #else
  2313. interface IASQLOLERegisteredServer;                TYPEDEFINTERFACE IASQLOLERegisteredServer *                    LPASQLOLEREGISTEREDSERVER;
  2314. #define LPSQLOLEREGISTEREDSERVER LPASQLOLEREGISTEREDSERVER
  2315. #define ISQLOLERegisteredServer IASQLOLERegisteredServer
  2316. #define IID_ISQLOLERegisteredServer IID_IASQLOLERegisteredServer 
  2317. #endif
  2318.  
  2319. #undef LPSQLOLETRANSFER 
  2320. #undef ISQLOLETransfer 
  2321. #undef IID_ISQLOLETransfer 
  2322. #ifdef SQLOLE_UNICODE
  2323. interface IWSQLOLETransfer;                        TYPEDEFINTERFACE IWSQLOLETransfer *                LPWSQLOLETRANSFER;
  2324. #define LPSQLOLETRANSFER LPWSQLOLETRANSFER
  2325. #define ISQLOLETransfer IWSQLOLETransfer
  2326. #define IID_ISQLOLETransfer IID_IWSQLOLETransfer 
  2327. #else
  2328. interface IASQLOLETransfer;                        TYPEDEFINTERFACE IASQLOLETransfer *                LPASQLOLETRANSFER;
  2329. #define LPSQLOLETRANSFER LPASQLOLETRANSFER
  2330. #define ISQLOLETransfer IASQLOLETransfer
  2331. #define IID_ISQLOLETransfer IID_IASQLOLETransfer 
  2332. #endif
  2333.  
  2334. ////////////////////////////////////////////////////////////////////////////////////////
  2335. // Event Sink Interfaces
  2336. ////////////////////////////////////////////////////////////////////////////////////////
  2337. #undef LPSQLOLETRANSFERSINK 
  2338. #undef ISQLOLETransferSink
  2339. #undef IID_ISQLOLETransferSink 
  2340. #ifdef SQLOLE_UNICODE
  2341. interface IWSQLOLETransferSink;                        TYPEDEFINTERFACE IWSQLOLETransferSink *                LPWSQLOLETRANSFERSINK;
  2342. #define LPSQLOLETRANSFERSINK LPWSQLOLETRANSFERSINK
  2343. #define ISQLOLETransferSink IWSQLOLETransferSink
  2344. #define IID_ISQLOLETransferSink IID_IWSQLOLETransferSink
  2345. #else
  2346. interface IASQLOLETransferSink;                        TYPEDEFINTERFACE IASQLOLETransferSink *                LPASQLOLETRANSFERSINK;
  2347. #define LPSQLOLETRANSFERSINK LPASQLOLETRANSFERSINK
  2348. #define ISQLOLETransferSink IASQLOLETransferSink
  2349. #define IID_ISQLOLETransferSink IID_IASQLOLETransferSink
  2350. #endif
  2351.  
  2352. #undef LPSQLOLESERVERSINK 
  2353. #undef ISQLOLEServerSink
  2354. #undef IID_ISQLOLEServerSink 
  2355. #ifdef SQLOLE_UNICODE
  2356. interface IWSQLOLEServerSink;                        TYPEDEFINTERFACE IWSQLOLEServerSink *                LPWSQLOLESERVERSINK;
  2357. #define LPSQLOLESERVERSINK LPWSQLOLESERVERSINK
  2358. #define ISQLOLEServerSink IWSQLOLEServerSink
  2359. #define IID_ISQLOLEServerSink IID_IWSQLOLEServerSink
  2360. #else
  2361. interface IASQLOLEServerSink;                        TYPEDEFINTERFACE IASQLOLEServerSink *                LPASQLOLESERVERSINK;
  2362. #define LPSQLOLESERVERSINK LPASQLOLESERVERSINK
  2363. #define ISQLOLEServerSink IASQLOLEServerSink
  2364. #define IID_ISQLOLEServerSink IID_IASQLOLEServerSink
  2365. #endif
  2366.  
  2367. #undef LPSQLOLEBACKUPSINK 
  2368. #undef ISQLOLEBackupSink
  2369. #undef IID_ISQLOLEBackupSink 
  2370. #ifdef SQLOLE_UNICODE
  2371. interface IWSQLOLEBackupSink;                        TYPEDEFINTERFACE IWSQLOLEBackupSink *                LPWSQLOLEBACKUPSINK;
  2372. #define LPSQLOLEBACKUPSINK LPWSQLOLEBACKUPSINK
  2373. #define ISQLOLEBackupSink IWSQLOLEBackupSink
  2374. #define IID_ISQLOLEBackupSink IID_IWSQLOLEBackupSink
  2375. #else
  2376. interface IASQLOLEBackupSink;                        TYPEDEFINTERFACE IASQLOLEBackupSink *                LPASQLOLEBACKUPSINK;
  2377. #define LPSQLOLEBACKUPSINK LPASQLOLEBACKUPSINK
  2378. #define ISQLOLEBackupSink IASQLOLEBackupSink
  2379. #define IID_ISQLOLEBackupSink IID_IASQLOLEBackupSink
  2380. #endif
  2381.  
  2382. #undef LPSQLOLEBULKCOPYSINK 
  2383. #undef ISQLOLEBulkCopySink
  2384. #undef IID_ISQLOLEBulkCopySink 
  2385. #ifdef SQLOLE_UNICODE
  2386. interface IWSQLOLEBulkCopySink;                        TYPEDEFINTERFACE IWSQLOLEBulkCopySink *                LPWSQLOLEBULKCOPYSINK;
  2387. #define LPSQLOLEBULKCOPYSINK LPWSQLOLEBULKCOPYSINK
  2388. #define ISQLOLEBulkCopySink IWSQLOLEBulkCopySink
  2389. #define IID_ISQLOLEBulkCopySink IID_IWSQLOLEBulkCopySink
  2390. #else
  2391. interface IASQLOLEBulkCopySink;                        TYPEDEFINTERFACE IASQLOLEBulkCopySink *                LPASQLOLEBULKCOPYSINK;
  2392. #define LPSQLOLEBULKCOPYSINK LPASQLOLEBULKCOPYSINK
  2393. #define ISQLOLEBulkCopySink IASQLOLEBulkCopySink
  2394. #define IID_ISQLOLEBulkCopySink IID_IASQLOLEBulkCopySink
  2395. #endif
  2396.  
  2397. // Auto-documenting names for these... They return an LPSQLOLEOBJECTLIST
  2398. // of the specified <objecttype>LIST objects.. e.g. LPSQLOLECOLUMNLIST
  2399. // returns a list of LPSQLOLECOLUMN objects.
  2400. #undef LPSQLOLEDBOBJECTLIST
  2401. #define LPSQLOLEDBOBJECTLIST LPSQLOLEOBJECTLIST
  2402. #define LPWSQLOLEDBOBJECTLIST LPWSQLOLEOBJECTLIST
  2403. #define LPASQLOLEDBOBJECTLIST LPASQLOLEOBJECTLIST
  2404. #undef LPSQLOLEPERMISSIONLIST
  2405. #define LPSQLOLEPERMISSIONLIST LPSQLOLEOBJECTLIST
  2406. #define LPWSQLOLEPERMISSIONLIST LPWSQLOLEOBJECTLIST
  2407. #define LPASQLOLEPERMISSIONLIST LPASQLOLEOBJECTLIST
  2408. #undef LPSQLOLECONFIGVALUELIST
  2409. #define LPSQLOLECONFIGVALUELIST LPSQLOLEOBJECTLIST
  2410. #define LPWSQLOLECONFIGVALUELIST LPWSQLOLEOBJECTLIST
  2411. #define LPASQLOLECONFIGVALUELIST LPASQLOLEOBJECTLIST
  2412. #undef LPSQLOLEDEVICELIST
  2413. #define LPSQLOLEDEVICELIST LPSQLOLEOBJECTLIST
  2414. #define LPWSQLOLEDEVICELIST LPWSQLOLEOBJECTLIST
  2415. #define LPASQLOLEDEVICELIST LPASQLOLEOBJECTLIST
  2416. #undef LPSQLOLECOLUMNLIST
  2417. #define LPSQLOLECOLUMNLIST LPSQLOLEOBJECTLIST
  2418. #define LPWSQLOLECOLUMNLIST LPWSQLOLEOBJECTLIST
  2419. #define LPASQLOLECOLUMNLIST LPASQLOLEOBJECTLIST
  2420. #undef LPSQLOLEUSERDEFINEDDATATYPELIST
  2421. #define LPSQLOLEUSERDEFINEDDATATYPELIST LPSQLOLEOBJECTLIST
  2422. #define LPWSQLOLEUSERDEFINEDDATATYPELIST LPWSQLOLEOBJECTLIST
  2423. #define LPASQLOLEUSERDEFINEDDATATYPELIST LPASQLOLEOBJECTLIST
  2424. #undef LPSQLOLESTOREDPROCEDURELIST
  2425. #define LPSQLOLESTOREDPROCEDURELIST LPSQLOLEOBJECTLIST
  2426. #define LPWSQLOLESTOREDPROCEDURELIST LPWSQLOLEOBJECTLIST
  2427. #define LPASQLOLESTOREDPROCEDURELIST LPASQLOLEOBJECTLIST
  2428. #undef LPSQLOLELOGINLIST
  2429. #define LPSQLOLELOGINLIST LPSQLOLEOBJECTLIST
  2430. #define LPWSQLOLELOGINLIST LPWSQLOLEOBJECTLIST
  2431. #define LPASQLOLELOGINLIST LPASQLOLEOBJECTLIST
  2432. #undef LPSQLOLEUSERLIST
  2433. #define LPSQLOLEUSERLIST LPSQLOLEOBJECTLIST
  2434. #define LPWSQLOLEUSERLIST LPWSQLOLEOBJECTLIST
  2435. #define LPASQLOLEUSERLIST LPASQLOLEOBJECTLIST
  2436. #undef LPSQLOLEDATABASELIST
  2437. #define LPSQLOLEDATABASELIST LPSQLOLEOBJECTLIST
  2438. #define LPWSQLOLEDATABASELIST LPWSQLOLEOBJECTLIST
  2439. #define LPASQLOLEDATABASELIST LPASQLOLEOBJECTLIST
  2440. #undef LPSQLOLETASKLIST
  2441. #define LPSQLOLETASKLIST LPSQLOLEOBJECTLIST
  2442. #define LPWSQLOLETASKLIST LPWSQLOLEOBJECTLIST
  2443. #define LPASQLOLETASKLIST LPASQLOLEOBJECTLIST
  2444. #undef LPSQLOLEARTICLELIST
  2445. #define LPSQLOLEARTICLELIST LPSQLOLEOBJECTLIST
  2446. #define LPWSQLOLEARTICLELIST LPWSQLOLEOBJECTLIST
  2447. #define LPASQLOLEARTICLELIST LPASQLOLEOBJECTLIST
  2448. #undef LPSQLOLEKEYLIST
  2449. #define LPSQLOLEKEYLIST LPSQLOLEOBJECTLIST
  2450. #define LPWSQLOLEKEYLIST LPWSQLOLEOBJECTLIST
  2451. #define LPASQLOLEKEYLIST LPASQLOLEOBJECTLIST
  2452.  
  2453. // This is the base class for all SQLOLE objects.  It is never instantiated by itself.
  2454. // The members must be copied into all derived classes so that C clients can reference
  2455. // them, since the DECLARE_INTERFACE_ macro doesn't provide inheritance in C.  The
  2456. // undef/def of INTERFACE is likewise required for C programmers.
  2457. #undef INTERFACE
  2458. #define INTERFACE ISQLOLEStdObject
  2459. DECLARE_INTERFACE_(INTERFACE, IUnknown)
  2460. {
  2461.    //*** IUnknown methods
  2462.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  2463.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  2464.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  2465.  
  2466.     //*** SQLOLE standard object properties.
  2467.     STDMETHOD(GetApplication)(THIS_ LPSQLOLEAPPLICATION *ppApp) PURE;
  2468.     STDMETHOD(GetParent)(THIS_ LPSQLOLESTDOBJECT *ppParent) PURE;
  2469.     STDMETHOD(GetTypeOf)(THIS_ SQLOLE_OBJECT_TYPE *pRetVal) PURE;
  2470.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  2471.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  2472. };
  2473.  
  2474. #ifdef __cplusplus
  2475. #ifndef CTEMPOLEREF_DEFINED
  2476. #define CTEMPOLEREF_DEFINED
  2477. // This is a utility class that takes an IUnknown-derived pointer as input and automatically
  2478. // Release()s it in dtor.  Use this as a stack variable which will hold objects and
  2479. // Release() them when they go out of scope; useful if multiple exit points.
  2480. template < class OLEPTR> class CTempOLERef {
  2481.     OLEPTR m_oleptr;
  2482.  
  2483.     // Private copy operators -- we don't want these used due to refcounting issues.
  2484.     // Since they can't therefore be called, no need to assign a body.
  2485.     CTempOLERef(const CTempOLERef<OLEPTR>& Src);
  2486.     OLEPTR  operator = (const CTempOLERef<OLEPTR>& Src);
  2487.  
  2488. public:
  2489.     CTempOLERef() {m_oleptr = NULL;}
  2490.     CTempOLERef(OLEPTR pIn) {m_oleptr = pIn;}
  2491.     ~CTempOLERef() {if (m_oleptr) m_oleptr->Release();}
  2492.     OLEPTR p() {return m_oleptr;}                // Alternative to casting (better for cut 'n paste).
  2493.  
  2494.     operator OLEPTR () {return m_oleptr;}        // Return the input pointer on a cast
  2495.     operator LPUNKNOWN () {return m_oleptr;}
  2496.     operator void *() {return (void *)m_oleptr;}
  2497.     operator BOOL () {return m_oleptr ? TRUE : FALSE;}
  2498.     OLEPTR  operator = (OLEPTR pIn) {if (m_oleptr) m_oleptr->Release(); return m_oleptr = pIn;}
  2499.     OLEPTR * operator & () {return &m_oleptr;}    // Overload address-of operator
  2500.     BOOL operator ! () {return m_oleptr ? FALSE : TRUE;}
  2501.     OLEPTR operator -> () {return m_oleptr;}    // Pass operator-> thru to m_oleptr; allows tempxxxRef->xxxSpecificMember();
  2502.  
  2503.     // Apps should not Release() this object directly as it is intended to do so as it goes out of scope,
  2504.     // hence as a safety feature to avoid double-Release() clear the pointer if it's called directly.
  2505.     void Release() {if (m_oleptr) m_oleptr->Release(); m_oleptr = NULL;}
  2506. };
  2507.  
  2508. // Similar to above, for use with SQLOLE_BSTR's
  2509. class CTempBSTR {
  2510.     SQLOLE_BSTR m_bstr;
  2511.  
  2512.     // Private copy operators -- we don't want these used due to refcounting issues.
  2513.     // Since they can't therefore be called, no need to assign a body.
  2514.     CTempBSTR(const CTempBSTR& Src);
  2515.     SQLOLE_BSTR  operator = (const CTempBSTR& Src);
  2516.  
  2517. public:
  2518.     CTempBSTR() {m_bstr = NULL;}
  2519.     CTempBSTR(SQLOLE_BSTR bstrIn) {m_bstr = bstrIn;}
  2520.     ~CTempBSTR() {Free();}
  2521.     void Free() {if (m_bstr) {SQLOLEFreeString(m_bstr); m_bstr = NULL;}}
  2522.     SQLOLE_BSTR b() {return m_bstr;}
  2523.  
  2524.     operator SQLOLE_LPCSTR () {return (SQLOLE_LPCSTR)m_bstr;}
  2525.     operator void *() {return (void *)m_bstr;}
  2526.     SQLOLE_BSTR operator = (SQLOLE_BSTR bstrIn) {Free(); return m_bstr = bstrIn;}
  2527.     SQLOLE_BSTR * operator & () {return &m_bstr;}        // Overload address-of operator
  2528.     BOOL operator ! () {return m_bstr ? FALSE : TRUE;}
  2529. };
  2530.  
  2531. #endif  // CTEMPOLEREF_DEFINED
  2532. #endif    // __cplusplus
  2533.  
  2534. ///////////////////////////
  2535. // Collection interfaces.
  2536. ///////////////////////////
  2537. #undef INTERFACE
  2538. #define INTERFACE ISQLOLEServers
  2539. DECLARE_INTERFACE_(INTERFACE, ISQLOLEStdObject)
  2540. {
  2541.    //*** IUnknown methods
  2542.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  2543.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  2544.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  2545.  
  2546.     //*** SQLOLE standard object properties.
  2547.     STDMETHOD(GetApplication)(THIS_ LPSQLOLEAPPLICATION *ppApp) PURE;
  2548.     STDMETHOD(GetParent)(THIS_ LPSQLOLESTDOBJECT *ppParent) PURE;
  2549.     STDMETHOD(GetTypeOf)(THIS_ SQLOLE_OBJECT_TYPE *pRetVal) PURE;
  2550.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  2551.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  2552.  
  2553.     //*** SQLOLE standard enumeration properties
  2554.     STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLOLESERVER *ppObj) PURE;
  2555.     STDMETHOD(GetItemByName)(THIS_ SQLOLE_LPCSTR szName, LPSQLOLESERVER *ppObj) PURE;
  2556.     STDMETHOD(GetItemByID)(THIS_ long lID, LPSQLOLESERVER *ppObj) PURE;
  2557.     STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  2558. };
  2559.  
  2560. // Generic enumerator object.
  2561. #undef INTERFACE
  2562. #define INTERFACE ISQLOLEObjectList
  2563. DECLARE_INTERFACE_(INTERFACE, ISQLOLEStdObject)
  2564. {
  2565.    //*** IUnknown methods
  2566.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  2567.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  2568.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  2569.  
  2570.     //*** SQLOLE standard object properties.
  2571.     STDMETHOD(GetApplication)(THIS_ LPSQLOLEAPPLICATION *ppApp) PURE;
  2572.     STDMETHOD(GetParent)(THIS_ LPSQLOLESTDOBJECT *ppParent) PURE;
  2573.     STDMETHOD(GetTypeOf)(THIS_ SQLOLE_OBJECT_TYPE *pRetVal) PURE;
  2574.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  2575.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  2576.  
  2577.     //*** SQLOLE standard enumeration properties.  The object returned must be
  2578.     //*** cast to the appropriate object type; the type to cast to is indicated
  2579.     //*** by the LPSQLOLE<objecttype>LIST typedef of the returned list object.
  2580.     //*** e.g. LPSQLOLECOLUMNLIST returns a list of objects which cast to LPSQLOLECOLUMN.
  2581.     STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLOLESTDOBJECT *ppObject) PURE;
  2582.     STDMETHOD(GetItemByName)(THIS_ SQLOLE_LPCSTR szName, LPSQLOLESTDOBJECT *ppObject) PURE;
  2583.     STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  2584.     STDMETHOD(Refresh)(THIS) PURE;
  2585. };
  2586.  
  2587. // Names collection object (LPSQLOLENAMES).
  2588. #undef INTERFACE
  2589. #define INTERFACE ISQLOLENames
  2590. DECLARE_INTERFACE_(INTERFACE, ISQLOLEStdObject)
  2591. {
  2592.    //*** IUnknown methods
  2593.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  2594.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  2595.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  2596.  
  2597.     //*** SQLOLE standard object properties.
  2598.     STDMETHOD(GetApplication)(THIS_ LPSQLOLEAPPLICATION *ppApp) PURE;
  2599.     STDMETHOD(GetParent)(THIS_ LPSQLOLESTDOBJECT *ppParent) PURE;
  2600.     STDMETHOD(GetTypeOf)(THIS_ SQLOLE_OBJECT_TYPE *pRetVal) PURE;
  2601.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  2602.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  2603.  
  2604.     //*** SQLOLE standard enumeration properties
  2605.     STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, SQLOLE_LPBSTR pRetVal) PURE;
  2606.     STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  2607.  
  2608.     //*** SQLOLE standard collection methods
  2609.     STDMETHOD(Add)(THIS_ SQLOLE_LPCSTR szName) PURE;
  2610.     STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  2611.     STDMETHOD(RemoveByName)(THIS_ SQLOLE_LPCSTR szName) PURE;
  2612.     STDMETHOD(Refresh)(THIS) PURE;
  2613.     STDMETHOD(InsertByOrd)(THIS_ SQLOLE_LPCSTR szName, long lOrdinal) PURE;
  2614.     STDMETHOD(InsertByName)(THIS_ SQLOLE_LPCSTR szName, SQLOLE_LPCSTR szBeforeName) PURE;
  2615.     STDMETHOD(ReplaceByOrd)(THIS_ SQLOLE_LPCSTR szName, long lOrdinal) PURE;
  2616.     STDMETHOD(ReplaceByName)(THIS_ SQLOLE_LPCSTR szName, SQLOLE_LPCSTR szReplaceName) PURE;
  2617.     STDMETHOD(FindName)(THIS_ SQLOLE_LPCSTR szName, LPLONG pRetVal) PURE;
  2618. };
  2619.  
  2620. // Names enumerator object (LPSQLOLENAMELIST).
  2621. #undef INTERFACE
  2622. #define INTERFACE ISQLOLENameList
  2623. DECLARE_INTERFACE_(INTERFACE, ISQLOLEStdObject)
  2624. {
  2625.    //*** IUnknown methods
  2626.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  2627.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  2628.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  2629.  
  2630.     //*** SQLOLE standard object properties.
  2631.     STDMETHOD(GetApplication)(THIS_ LPSQLOLEAPPLICATION *ppApp) PURE;
  2632.     STDMETHOD(GetParent)(THIS_ LPSQLOLESTDOBJECT *ppParent) PURE;
  2633.     STDMETHOD(GetTypeOf)(THIS_ SQLOLE_OBJECT_TYPE *pRetVal) PURE;
  2634.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  2635.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  2636.  
  2637.     //*** SQLOLE standard enumeration properties
  2638.     STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, SQLOLE_LPBSTR pRetVal) PURE;
  2639.     STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  2640.  
  2641.     //*** SQLOLE standard collection methods
  2642.     STDMETHOD(Refresh)(THIS) PURE;
  2643.     STDMETHOD(FindName)(THIS_ SQLOLE_LPCSTR szName, LPLONG pRetVal) PURE;
  2644. };
  2645.  
  2646. #undef INTERFACE
  2647. #define INTERFACE ISQLOLEDatabases
  2648. DECLARE_INTERFACE_(INTERFACE, ISQLOLEStdObject)
  2649. {
  2650.    //*** IUnknown methods
  2651.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  2652.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  2653.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  2654.  
  2655.     //*** SQLOLE standard object properties.
  2656.     STDMETHOD(GetApplication)(THIS_ LPSQLOLEAPPLICATION *ppApp) PURE;
  2657.     STDMETHOD(GetParent)(THIS_ LPSQLOLESTDOBJECT *ppParent) PURE;
  2658.     STDMETHOD(GetTypeOf)(THIS_ SQLOLE_OBJECT_TYPE *pRetVal) PURE;
  2659.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  2660.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  2661.  
  2662.     //*** SQLOLE standard enumeration properties
  2663.     STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLOLEDATABASE *ppObj) PURE;
  2664.     STDMETHOD(GetItemByName)(THIS_ SQLOLE_LPCSTR szName, LPSQLOLEDATABASE *ppObj) PURE;
  2665.     STDMETHOD(GetItemByID)(THIS_ long lID, LPSQLOLEDATABASE *ppObj) PURE;
  2666.     STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  2667.  
  2668.     //*** SQLOLE standard collection methods
  2669.     STDMETHOD(Add)(THIS_ LPSQLOLEDATABASE Object) PURE;
  2670.     STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  2671.     STDMETHOD(RemoveByName)(THIS_ SQLOLE_LPCSTR szName) PURE;
  2672.     STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  2673. };
  2674.  
  2675. #undef INTERFACE
  2676. #define INTERFACE ISQLOLETasks
  2677. DECLARE_INTERFACE_(INTERFACE, ISQLOLEStdObject)
  2678. {
  2679.    //*** IUnknown methods
  2680.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  2681.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  2682.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  2683.  
  2684.     //*** SQLOLE standard object properties.
  2685.     STDMETHOD(GetApplication)(THIS_ LPSQLOLEAPPLICATION *ppApp) PURE;
  2686.     STDMETHOD(GetParent)(THIS_ LPSQLOLESTDOBJECT *ppParent) PURE;
  2687.     STDMETHOD(GetTypeOf)(THIS_ SQLOLE_OBJECT_TYPE *pRetVal) PURE;
  2688.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  2689.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  2690.  
  2691.     //*** SQLOLE standard enumeration properties
  2692.     STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLOLETASK *ppObj) PURE;
  2693.     STDMETHOD(GetItemByName)(THIS_ SQLOLE_LPCSTR szName, LPSQLOLETASK *ppObj) PURE;
  2694.     STDMETHOD(GetItemByID)(THIS_ long lID, LPSQLOLETASK *ppObj) PURE;
  2695.     STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  2696.  
  2697.     //*** SQLOLE standard collection methods
  2698.     STDMETHOD(Add)(THIS_ LPSQLOLETASK Object) PURE;
  2699.     STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  2700.     STDMETHOD(RemoveByName)(THIS_ SQLOLE_LPCSTR szName) PURE;
  2701.     STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  2702. };
  2703.  
  2704. #undef INTERFACE
  2705. #define INTERFACE ISQLOLEAlerts
  2706. DECLARE_INTERFACE_(INTERFACE, ISQLOLEStdObject)
  2707. {
  2708.    //*** IUnknown methods
  2709.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  2710.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  2711.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  2712.  
  2713.     //*** SQLOLE standard object properties.
  2714.     STDMETHOD(GetApplication)(THIS_ LPSQLOLEAPPLICATION *ppApp) PURE;
  2715.     STDMETHOD(GetParent)(THIS_ LPSQLOLESTDOBJECT *ppParent) PURE;
  2716.     STDMETHOD(GetTypeOf)(THIS_ SQLOLE_OBJECT_TYPE *pRetVal) PURE;
  2717.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  2718.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  2719.  
  2720.     //*** SQLOLE standard enumeration properties
  2721.     STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLOLEALERT *ppObj) PURE;
  2722.     STDMETHOD(GetItemByName)(THIS_ SQLOLE_LPCSTR szName, LPSQLOLEALERT *ppObj) PURE;
  2723.     STDMETHOD(GetItemByID)(THIS_ long lID, LPSQLOLEALERT *ppObj) PURE;
  2724.     STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  2725.  
  2726.     //*** SQLOLE standard collection methods
  2727.     STDMETHOD(Add)(THIS_ LPSQLOLEALERT Object) PURE;
  2728.     STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  2729.     STDMETHOD(RemoveByName)(THIS_ SQLOLE_LPCSTR szName) PURE;
  2730.     STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  2731. };
  2732.  
  2733. #undef INTERFACE
  2734. #define INTERFACE ISQLOLEOperators
  2735. DECLARE_INTERFACE_(INTERFACE, ISQLOLEStdObject)
  2736. {
  2737.    //*** IUnknown methods
  2738.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  2739.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  2740.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  2741.  
  2742.     //*** SQLOLE standard object properties.
  2743.     STDMETHOD(GetApplication)(THIS_ LPSQLOLEAPPLICATION *ppApp) PURE;
  2744.     STDMETHOD(GetParent)(THIS_ LPSQLOLESTDOBJECT *ppParent) PURE;
  2745.     STDMETHOD(GetTypeOf)(THIS_ SQLOLE_OBJECT_TYPE *pRetVal) PURE;
  2746.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  2747.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  2748.  
  2749.     //*** SQLOLE standard enumeration properties
  2750.     STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLOLEOPERATOR *ppObj) PURE;
  2751.     STDMETHOD(GetItemByName)(THIS_ SQLOLE_LPCSTR szName, LPSQLOLEOPERATOR *ppObj) PURE;
  2752.     STDMETHOD(GetItemByID)(THIS_ long lID, LPSQLOLEOPERATOR *ppObj) PURE;
  2753.     STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  2754.  
  2755.     //*** SQLOLE standard collection methods
  2756.     STDMETHOD(Add)(THIS_ LPSQLOLEOPERATOR Object) PURE;
  2757.     STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  2758.     STDMETHOD(RemoveByName)(THIS_ SQLOLE_LPCSTR szName) PURE;
  2759.     STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  2760. };
  2761.  
  2762. #undef INTERFACE
  2763. #define INTERFACE ISQLOLEPublications
  2764. DECLARE_INTERFACE_(INTERFACE, ISQLOLEStdObject)
  2765. {
  2766.    //*** IUnknown methods
  2767.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  2768.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  2769.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  2770.  
  2771.     //*** SQLOLE standard object properties.
  2772.     STDMETHOD(GetApplication)(THIS_ LPSQLOLEAPPLICATION *ppApp) PURE;
  2773.     STDMETHOD(GetParent)(THIS_ LPSQLOLESTDOBJECT *ppParent) PURE;
  2774.     STDMETHOD(GetTypeOf)(THIS_ SQLOLE_OBJECT_TYPE *pRetVal) PURE;
  2775.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  2776.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  2777.  
  2778.     //*** SQLOLE standard enumeration properties
  2779.     STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLOLEPUBLICATION *ppObj) PURE;
  2780.     STDMETHOD(GetItemByName)(THIS_ SQLOLE_LPCSTR szName, LPSQLOLEPUBLICATION *ppObj) PURE;
  2781.     STDMETHOD(GetItemByID)(THIS_ long lID, LPSQLOLEPUBLICATION *ppObj) PURE;
  2782.     STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  2783.  
  2784.     //*** SQLOLE standard collection methods
  2785.     STDMETHOD(Add)(THIS_ LPSQLOLEPUBLICATION Object) PURE;
  2786.     STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  2787.     STDMETHOD(RemoveByName)(THIS_ SQLOLE_LPCSTR szName) PURE;
  2788.     STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  2789. };
  2790.  
  2791. #undef INTERFACE
  2792. #define INTERFACE ISQLOLEArticles
  2793. DECLARE_INTERFACE_(INTERFACE, ISQLOLEStdObject)
  2794. {
  2795.    //*** IUnknown methods
  2796.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  2797.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  2798.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  2799.  
  2800.     //*** SQLOLE standard object properties.
  2801.     STDMETHOD(GetApplication)(THIS_ LPSQLOLEAPPLICATION *ppApp) PURE;
  2802.     STDMETHOD(GetParent)(THIS_ LPSQLOLESTDOBJECT *ppParent) PURE;
  2803.     STDMETHOD(GetTypeOf)(THIS_ SQLOLE_OBJECT_TYPE *pRetVal) PURE;
  2804.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  2805.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  2806.  
  2807.     //*** SQLOLE standard enumeration properties
  2808.     STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLOLEARTICLE *ppObj) PURE;
  2809.     STDMETHOD(GetItemByName)(THIS_ SQLOLE_LPCSTR szName, LPSQLOLEARTICLE *ppObj) PURE;
  2810.     STDMETHOD(GetItemByID)(THIS_ long lID, LPSQLOLEARTICLE *ppObj) PURE;
  2811.     STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  2812.  
  2813.     //*** SQLOLE standard collection methods
  2814.     STDMETHOD(Add)(THIS_ LPSQLOLEARTICLE Object) PURE;
  2815.     STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  2816.     STDMETHOD(RemoveByName)(THIS_ SQLOLE_LPCSTR szName) PURE;
  2817.     STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  2818. };
  2819.  
  2820. #undef INTERFACE
  2821. #define INTERFACE ISQLOLESubscriptions
  2822. DECLARE_INTERFACE_(INTERFACE, ISQLOLEStdObject)
  2823. {
  2824.    //*** IUnknown methods
  2825.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  2826.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  2827.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  2828.  
  2829.     //*** SQLOLE standard object properties.
  2830.     STDMETHOD(GetApplication)(THIS_ LPSQLOLEAPPLICATION *ppApp) PURE;
  2831.     STDMETHOD(GetParent)(THIS_ LPSQLOLESTDOBJECT *ppParent) PURE;
  2832.     STDMETHOD(GetTypeOf)(THIS_ SQLOLE_OBJECT_TYPE *pRetVal) PURE;
  2833.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  2834.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  2835.  
  2836.     //*** SQLOLE standard enumeration properties
  2837.     STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLOLESUBSCRIPTION *ppObj) PURE;
  2838.     STDMETHOD(GetItemByName)(THIS_ SQLOLE_LPCSTR szName, LPSQLOLESUBSCRIPTION *ppObj) PURE;
  2839.     STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  2840.  
  2841.     //*** SQLOLE standard collection methods
  2842.     STDMETHOD(Add)(THIS_ LPSQLOLESUBSCRIPTION Object) PURE;
  2843.     STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  2844.     STDMETHOD(RemoveByName)(THIS_ SQLOLE_LPCSTR szName) PURE;
  2845.     STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  2846. };
  2847.  
  2848. #undef INTERFACE
  2849. #define INTERFACE ISQLOLEDevices
  2850. DECLARE_INTERFACE_(INTERFACE, ISQLOLEStdObject)
  2851. {
  2852.    //*** IUnknown methods
  2853.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  2854.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  2855.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  2856.  
  2857.     //*** SQLOLE standard object properties.
  2858.     STDMETHOD(GetApplication)(THIS_ LPSQLOLEAPPLICATION *ppApp) PURE;
  2859.     STDMETHOD(GetParent)(THIS_ LPSQLOLESTDOBJECT *ppParent) PURE;
  2860.     STDMETHOD(GetTypeOf)(THIS_ SQLOLE_OBJECT_TYPE *pRetVal) PURE;
  2861.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  2862.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  2863.  
  2864.     //*** SQLOLE standard enumeration properties
  2865.     STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLOLEDEVICE *ppObj) PURE;
  2866.     STDMETHOD(GetItemByName)(THIS_ SQLOLE_LPCSTR szName, LPSQLOLEDEVICE *ppObj) PURE;
  2867.     STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  2868.  
  2869.     //*** SQLOLE standard collection methods
  2870.     STDMETHOD(Add)(THIS_ LPSQLOLEDEVICE Object) PURE;
  2871.     STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  2872.     STDMETHOD(RemoveByName)(THIS_ SQLOLE_LPCSTR szName) PURE;
  2873.     STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  2874. };
  2875.  
  2876. #undef INTERFACE
  2877. #define INTERFACE ISQLOLELogins
  2878. DECLARE_INTERFACE_(INTERFACE, ISQLOLEStdObject)
  2879. {
  2880.    //*** IUnknown methods
  2881.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  2882.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  2883.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  2884.  
  2885.     //*** SQLOLE standard object properties.
  2886.     STDMETHOD(GetApplication)(THIS_ LPSQLOLEAPPLICATION *ppApp) PURE;
  2887.     STDMETHOD(GetParent)(THIS_ LPSQLOLESTDOBJECT *ppParent) PURE;
  2888.     STDMETHOD(GetTypeOf)(THIS_ SQLOLE_OBJECT_TYPE *pRetVal) PURE;
  2889.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  2890.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  2891.  
  2892.     //*** SQLOLE standard enumeration properties
  2893.     STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLOLELOGIN *ppObj) PURE;
  2894.     STDMETHOD(GetItemByName)(THIS_ SQLOLE_LPCSTR szName, LPSQLOLELOGIN *ppObj) PURE;
  2895.     STDMETHOD(GetItemByID)(THIS_ long lID, LPSQLOLELOGIN *ppObj) PURE;
  2896.     STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  2897.  
  2898.     //*** SQLOLE standard collection methods
  2899.     STDMETHOD(Add)(THIS_ LPSQLOLELOGIN Object) PURE;
  2900.     STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  2901.     STDMETHOD(RemoveByName)(THIS_ SQLOLE_LPCSTR szName) PURE;
  2902.     STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  2903. };
  2904.  
  2905. #undef INTERFACE
  2906. #define INTERFACE ISQLOLELanguages
  2907. DECLARE_INTERFACE_(INTERFACE, ISQLOLEStdObject)
  2908. {
  2909.    //*** IUnknown methods
  2910.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  2911.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  2912.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  2913.  
  2914.     //*** SQLOLE standard object properties.
  2915.     STDMETHOD(GetApplication)(THIS_ LPSQLOLEAPPLICATION *ppApp) PURE;
  2916.     STDMETHOD(GetParent)(THIS_ LPSQLOLESTDOBJECT *ppParent) PURE;
  2917.     STDMETHOD(GetTypeOf)(THIS_ SQLOLE_OBJECT_TYPE *pRetVal) PURE;
  2918.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  2919.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  2920.  
  2921.     //*** SQLOLE standard enumeration properties
  2922.     STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLOLELANGUAGE *ppObj) PURE;
  2923.     STDMETHOD(GetItemByName)(THIS_ SQLOLE_LPCSTR szName, LPSQLOLELANGUAGE *ppObj) PURE;
  2924.     STDMETHOD(GetItemByID)(THIS_ long lID, LPSQLOLELANGUAGE *ppObj) PURE;
  2925.     STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  2926.  
  2927.     //*** SQLOLE standard collection methods
  2928.     STDMETHOD(Add)(THIS_ LPSQLOLELANGUAGE Object) PURE;
  2929.     STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  2930.     STDMETHOD(RemoveByName)(THIS_ SQLOLE_LPCSTR szName) PURE;
  2931.     STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  2932. };
  2933.  
  2934. #undef INTERFACE
  2935. #define INTERFACE ISQLOLETables
  2936. DECLARE_INTERFACE_(INTERFACE, ISQLOLEStdObject)
  2937. {
  2938.    //*** IUnknown methods
  2939.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  2940.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  2941.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  2942.  
  2943.     //*** SQLOLE standard object properties.
  2944.     STDMETHOD(GetApplication)(THIS_ LPSQLOLEAPPLICATION *ppApp) PURE;
  2945.     STDMETHOD(GetParent)(THIS_ LPSQLOLESTDOBJECT *ppParent) PURE;
  2946.     STDMETHOD(GetTypeOf)(THIS_ SQLOLE_OBJECT_TYPE *pRetVal) PURE;
  2947.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  2948.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  2949.  
  2950.     //*** SQLOLE standard enumeration properties
  2951.     STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLOLETABLE *ppObj) PURE;
  2952.     STDMETHOD(GetItemByName)(THIS_ SQLOLE_LPCSTR szName, LPSQLOLETABLE *ppObj) PURE;
  2953.     STDMETHOD(GetItemByID)(THIS_ long lID, LPSQLOLETABLE *ppObj) PURE;
  2954.     STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  2955.  
  2956.     //*** SQLOLE standard collection methods
  2957.     STDMETHOD(Add)(THIS_ LPSQLOLETABLE Object) PURE;
  2958.     STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  2959.     STDMETHOD(RemoveByName)(THIS_ SQLOLE_LPCSTR szName) PURE;
  2960.     STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  2961. };
  2962.  
  2963. #undef INTERFACE
  2964. #define INTERFACE ISQLOLEViews
  2965. DECLARE_INTERFACE_(INTERFACE, ISQLOLEStdObject)
  2966. {
  2967.    //*** IUnknown methods
  2968.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  2969.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  2970.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  2971.  
  2972.     //*** SQLOLE standard object properties.
  2973.     STDMETHOD(GetApplication)(THIS_ LPSQLOLEAPPLICATION *ppApp) PURE;
  2974.     STDMETHOD(GetParent)(THIS_ LPSQLOLESTDOBJECT *ppParent) PURE;
  2975.     STDMETHOD(GetTypeOf)(THIS_ SQLOLE_OBJECT_TYPE *pRetVal) PURE;
  2976.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  2977.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  2978.  
  2979.     //*** SQLOLE standard enumeration properties
  2980.     STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLOLEVIEW *ppObj) PURE;
  2981.     STDMETHOD(GetItemByName)(THIS_ SQLOLE_LPCSTR szName, LPSQLOLEVIEW *ppObj) PURE;
  2982.     STDMETHOD(GetItemByID)(THIS_ long lID, LPSQLOLEVIEW *ppObj) PURE;
  2983.     STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  2984.  
  2985.     //*** SQLOLE standard collection methods
  2986.     STDMETHOD(Add)(THIS_ LPSQLOLEVIEW Object) PURE;
  2987.     STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  2988.     STDMETHOD(RemoveByName)(THIS_ SQLOLE_LPCSTR szName) PURE;
  2989.     STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  2990. };
  2991.  
  2992. #undef INTERFACE
  2993. #define INTERFACE ISQLOLERules
  2994. DECLARE_INTERFACE_(INTERFACE, ISQLOLEStdObject)
  2995. {
  2996.    //*** IUnknown methods
  2997.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  2998.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  2999.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  3000.  
  3001.     //*** SQLOLE standard object properties.
  3002.     STDMETHOD(GetApplication)(THIS_ LPSQLOLEAPPLICATION *ppApp) PURE;
  3003.     STDMETHOD(GetParent)(THIS_ LPSQLOLESTDOBJECT *ppParent) PURE;
  3004.     STDMETHOD(GetTypeOf)(THIS_ SQLOLE_OBJECT_TYPE *pRetVal) PURE;
  3005.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  3006.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  3007.  
  3008.     //*** SQLOLE standard enumeration properties
  3009.     STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLOLERULE *ppObj) PURE;
  3010.     STDMETHOD(GetItemByName)(THIS_ SQLOLE_LPCSTR szName, LPSQLOLERULE *ppObj) PURE;
  3011.     STDMETHOD(GetItemByID)(THIS_ long lID, LPSQLOLERULE *ppObj) PURE;
  3012.     STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  3013.  
  3014.     //*** SQLOLE standard collection methods
  3015.     STDMETHOD(Add)(THIS_ LPSQLOLERULE Object) PURE;
  3016.     STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  3017.     STDMETHOD(RemoveByName)(THIS_ SQLOLE_LPCSTR szName) PURE;
  3018.     STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  3019. };
  3020.  
  3021. #undef INTERFACE
  3022. #define INTERFACE ISQLOLEDefaults
  3023. DECLARE_INTERFACE_(INTERFACE, ISQLOLEStdObject)
  3024. {
  3025.    //*** IUnknown methods
  3026.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  3027.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  3028.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  3029.  
  3030.     //*** SQLOLE standard object properties.
  3031.     STDMETHOD(GetApplication)(THIS_ LPSQLOLEAPPLICATION *ppApp) PURE;
  3032.     STDMETHOD(GetParent)(THIS_ LPSQLOLESTDOBJECT *ppParent) PURE;
  3033.     STDMETHOD(GetTypeOf)(THIS_ SQLOLE_OBJECT_TYPE *pRetVal) PURE;
  3034.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  3035.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  3036.  
  3037.     //*** SQLOLE standard enumeration properties
  3038.     STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLOLEDEFAULT *ppObj) PURE;
  3039.     STDMETHOD(GetItemByName)(THIS_ SQLOLE_LPCSTR szName, LPSQLOLEDEFAULT *ppObj) PURE;
  3040.     STDMETHOD(GetItemByID)(THIS_ long lID, LPSQLOLEDEFAULT *ppObj) PURE;
  3041.     STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  3042.  
  3043.     //*** SQLOLE standard collection methods
  3044.     STDMETHOD(Add)(THIS_ LPSQLOLEDEFAULT Object) PURE;
  3045.     STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  3046.     STDMETHOD(RemoveByName)(THIS_ SQLOLE_LPCSTR szName) PURE;
  3047.     STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  3048. };
  3049.  
  3050. #undef INTERFACE
  3051. #define INTERFACE ISQLOLEColumns
  3052. DECLARE_INTERFACE_(INTERFACE, ISQLOLEStdObject)
  3053. {
  3054.    //*** IUnknown methods
  3055.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  3056.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  3057.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  3058.  
  3059.     //*** SQLOLE standard object properties.
  3060.     STDMETHOD(GetApplication)(THIS_ LPSQLOLEAPPLICATION *ppApp) PURE;
  3061.     STDMETHOD(GetParent)(THIS_ LPSQLOLESTDOBJECT *ppParent) PURE;
  3062.     STDMETHOD(GetTypeOf)(THIS_ SQLOLE_OBJECT_TYPE *pRetVal) PURE;
  3063.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  3064.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  3065.  
  3066.     //*** SQLOLE standard enumeration properties
  3067.     STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLOLECOLUMN *ppObj) PURE;
  3068.     STDMETHOD(GetItemByName)(THIS_ SQLOLE_LPCSTR szName, LPSQLOLECOLUMN *ppObj) PURE;
  3069.     STDMETHOD(GetItemByID)(THIS_ long lID, LPSQLOLECOLUMN *ppObj) PURE;
  3070.     STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  3071.  
  3072.     //*** SQLOLE standard collection methods
  3073.     STDMETHOD(Add)(THIS_ LPSQLOLECOLUMN Object) PURE;
  3074.     STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  3075.     STDMETHOD(RemoveByName)(THIS_ SQLOLE_LPCSTR szName) PURE;
  3076.     STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  3077. };
  3078.  
  3079. #undef INTERFACE
  3080. #define INTERFACE ISQLOLEIndexes
  3081. DECLARE_INTERFACE_(INTERFACE, ISQLOLEStdObject)
  3082. {
  3083.    //*** IUnknown methods
  3084.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  3085.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  3086.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  3087.  
  3088.     //*** SQLOLE standard object properties.
  3089.     STDMETHOD(GetApplication)(THIS_ LPSQLOLEAPPLICATION *ppApp) PURE;
  3090.     STDMETHOD(GetParent)(THIS_ LPSQLOLESTDOBJECT *ppParent) PURE;
  3091.     STDMETHOD(GetTypeOf)(THIS_ SQLOLE_OBJECT_TYPE *pRetVal) PURE;
  3092.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  3093.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  3094.  
  3095.     //*** SQLOLE standard enumeration properties
  3096.     STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLOLEINDEX *ppObj) PURE;
  3097.     STDMETHOD(GetItemByName)(THIS_ SQLOLE_LPCSTR szName, LPSQLOLEINDEX *ppObj) PURE;
  3098.     STDMETHOD(GetItemByID)(THIS_ long lID, LPSQLOLEINDEX *ppObj) PURE;
  3099.     STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  3100.  
  3101.     //*** SQLOLE standard collection methods
  3102.     STDMETHOD(Add)(THIS_ LPSQLOLEINDEX Object) PURE;
  3103.     STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  3104.     STDMETHOD(RemoveByName)(THIS_ SQLOLE_LPCSTR szName) PURE;
  3105.     STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  3106. };
  3107.  
  3108. #undef INTERFACE
  3109. #define INTERFACE ISQLOLEKeys
  3110. DECLARE_INTERFACE_(INTERFACE, ISQLOLEStdObject)
  3111. {
  3112.    //*** IUnknown methods
  3113.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  3114.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  3115.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  3116.  
  3117.     //*** SQLOLE standard object properties.
  3118.     STDMETHOD(GetApplication)(THIS_ LPSQLOLEAPPLICATION *ppApp) PURE;
  3119.     STDMETHOD(GetParent)(THIS_ LPSQLOLESTDOBJECT *ppParent) PURE;
  3120.     STDMETHOD(GetTypeOf)(THIS_ SQLOLE_OBJECT_TYPE *pRetVal) PURE;
  3121.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  3122.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  3123.  
  3124.     //*** SQLOLE standard enumeration properties
  3125.     STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLOLEKEY *ppObj) PURE;
  3126.     STDMETHOD(GetItemByName)(THIS_ SQLOLE_LPCSTR szName, LPSQLOLEKEY *ppObj) PURE;
  3127.     STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  3128.  
  3129.     //*** SQLOLE standard collection methods
  3130.     STDMETHOD(Add)(THIS_ LPSQLOLEKEY Object) PURE;
  3131.     STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  3132.     STDMETHOD(RemoveByName)(THIS_ SQLOLE_LPCSTR szName) PURE;
  3133.     STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  3134. };
  3135.  
  3136. #undef INTERFACE
  3137. #define INTERFACE ISQLOLEStoredProcedures
  3138. DECLARE_INTERFACE_(INTERFACE, ISQLOLEStdObject)
  3139. {
  3140.    //*** IUnknown methods
  3141.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  3142.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  3143.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  3144.  
  3145.     //*** SQLOLE standard object properties.
  3146.     STDMETHOD(GetApplication)(THIS_ LPSQLOLEAPPLICATION *ppApp) PURE;
  3147.     STDMETHOD(GetParent)(THIS_ LPSQLOLESTDOBJECT *ppParent) PURE;
  3148.     STDMETHOD(GetTypeOf)(THIS_ SQLOLE_OBJECT_TYPE *pRetVal) PURE;
  3149.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  3150.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  3151.  
  3152.     //*** SQLOLE standard enumeration properties
  3153.     STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLOLESTOREDPROCEDURE *ppObj) PURE;
  3154.     STDMETHOD(GetItemByName)(THIS_ SQLOLE_LPCSTR szName, LPSQLOLESTOREDPROCEDURE *ppObj) PURE;
  3155.     STDMETHOD(GetItemByID)(THIS_ long lID, LPSQLOLESTOREDPROCEDURE *ppObj) PURE;
  3156.     STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  3157.  
  3158.     //*** SQLOLE standard collection methods
  3159.     STDMETHOD(Add)(THIS_ LPSQLOLESTOREDPROCEDURE Object) PURE;
  3160.     STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  3161.     STDMETHOD(RemoveByName)(THIS_ SQLOLE_LPCSTR szName) PURE;
  3162.     STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  3163. };
  3164.  
  3165. #undef INTERFACE
  3166. #define INTERFACE ISQLOLEUserDefinedDatatypes
  3167. DECLARE_INTERFACE_(INTERFACE, ISQLOLEStdObject)
  3168. {
  3169.    //*** IUnknown methods
  3170.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  3171.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  3172.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  3173.  
  3174.     //*** SQLOLE standard object properties.
  3175.     STDMETHOD(GetApplication)(THIS_ LPSQLOLEAPPLICATION *ppApp) PURE;
  3176.     STDMETHOD(GetParent)(THIS_ LPSQLOLESTDOBJECT *ppParent) PURE;
  3177.     STDMETHOD(GetTypeOf)(THIS_ SQLOLE_OBJECT_TYPE *pRetVal) PURE;
  3178.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  3179.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  3180.  
  3181.     //*** SQLOLE standard enumeration properties
  3182.     STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLOLEUSERDEFINEDDATATYPE *ppObj) PURE;
  3183.     STDMETHOD(GetItemByName)(THIS_ SQLOLE_LPCSTR szName, LPSQLOLEUSERDEFINEDDATATYPE *ppObj) PURE;
  3184.     STDMETHOD(GetItemByID)(THIS_ long lID, LPSQLOLEUSERDEFINEDDATATYPE *ppObj) PURE;
  3185.     STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  3186.  
  3187.     //*** SQLOLE standard collection methods
  3188.     STDMETHOD(Add)(THIS_ LPSQLOLEUSERDEFINEDDATATYPE Object) PURE;
  3189.     STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  3190.     STDMETHOD(RemoveByName)(THIS_ SQLOLE_LPCSTR szName) PURE;
  3191.     STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  3192. };
  3193.  
  3194. #undef INTERFACE
  3195. #define INTERFACE ISQLOLEUsers
  3196. DECLARE_INTERFACE_(INTERFACE, ISQLOLEStdObject)
  3197. {
  3198.    //*** IUnknown methods
  3199.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  3200.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  3201.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  3202.  
  3203.     //*** SQLOLE standard object properties.
  3204.     STDMETHOD(GetApplication)(THIS_ LPSQLOLEAPPLICATION *ppApp) PURE;
  3205.     STDMETHOD(GetParent)(THIS_ LPSQLOLESTDOBJECT *ppParent) PURE;
  3206.     STDMETHOD(GetTypeOf)(THIS_ SQLOLE_OBJECT_TYPE *pRetVal) PURE;
  3207.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  3208.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  3209.  
  3210.     //*** SQLOLE standard enumeration properties
  3211.     STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLOLEUSER *ppObj) PURE;
  3212.     STDMETHOD(GetItemByName)(THIS_ SQLOLE_LPCSTR szName, LPSQLOLEUSER *ppObj) PURE;
  3213.     STDMETHOD(GetItemByID)(THIS_ long lID, LPSQLOLEUSER *ppObj) PURE;
  3214.     STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  3215.  
  3216.     //*** SQLOLE standard collection methods
  3217.     STDMETHOD(Add)(THIS_ LPSQLOLEUSER Object) PURE;
  3218.     STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  3219.     STDMETHOD(RemoveByName)(THIS_ SQLOLE_LPCSTR szName) PURE;
  3220.     STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  3221. };
  3222.  
  3223. #undef INTERFACE
  3224. #define INTERFACE ISQLOLEGroups
  3225. DECLARE_INTERFACE_(INTERFACE, ISQLOLEStdObject)
  3226. {
  3227.    //*** IUnknown methods
  3228.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  3229.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  3230.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  3231.  
  3232.     //*** SQLOLE standard object properties.
  3233.     STDMETHOD(GetApplication)(THIS_ LPSQLOLEAPPLICATION *ppApp) PURE;
  3234.     STDMETHOD(GetParent)(THIS_ LPSQLOLESTDOBJECT *ppParent) PURE;
  3235.     STDMETHOD(GetTypeOf)(THIS_ SQLOLE_OBJECT_TYPE *pRetVal) PURE;
  3236.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  3237.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  3238.  
  3239.     //*** SQLOLE standard enumeration properties
  3240.     STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLOLEGROUP *ppObj) PURE;
  3241.     STDMETHOD(GetItemByName)(THIS_ SQLOLE_LPCSTR szName, LPSQLOLEGROUP *ppObj) PURE;
  3242.     STDMETHOD(GetItemByID)(THIS_ long lID, LPSQLOLEGROUP *ppObj) PURE;
  3243.     STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  3244.  
  3245.     //*** SQLOLE standard collection methods
  3246.     STDMETHOD(Add)(THIS_ LPSQLOLEGROUP Object) PURE;
  3247.     STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  3248.     STDMETHOD(RemoveByName)(THIS_ SQLOLE_LPCSTR szName) PURE;
  3249.     STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  3250. };
  3251.  
  3252. #undef INTERFACE
  3253. #define INTERFACE ISQLOLETriggers
  3254. DECLARE_INTERFACE_(INTERFACE, ISQLOLEStdObject)
  3255. {
  3256.    //*** IUnknown methods
  3257.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  3258.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  3259.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  3260.  
  3261.     //*** SQLOLE standard object properties.
  3262.     STDMETHOD(GetApplication)(THIS_ LPSQLOLEAPPLICATION *ppApp) PURE;
  3263.     STDMETHOD(GetParent)(THIS_ LPSQLOLESTDOBJECT *ppParent) PURE;
  3264.     STDMETHOD(GetTypeOf)(THIS_ SQLOLE_OBJECT_TYPE *pRetVal) PURE;
  3265.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  3266.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  3267.  
  3268.     //*** SQLOLE standard enumeration properties
  3269.     STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLOLETRIGGER *ppObj) PURE;
  3270.     STDMETHOD(GetItemByName)(THIS_ SQLOLE_LPCSTR szName, LPSQLOLETRIGGER *ppObj) PURE;
  3271.     STDMETHOD(GetItemByID)(THIS_ long lID, LPSQLOLETRIGGER *ppObj) PURE;
  3272.     STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  3273.  
  3274.     //*** SQLOLE standard collection methods
  3275.     STDMETHOD(Add)(THIS_ LPSQLOLETRIGGER Object) PURE;
  3276.     STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  3277.     STDMETHOD(RemoveByName)(THIS_ SQLOLE_LPCSTR szName) PURE;
  3278.     STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  3279. };
  3280.  
  3281. #undef INTERFACE
  3282. #define INTERFACE ISQLOLERemoteServers
  3283. DECLARE_INTERFACE_(INTERFACE, ISQLOLEStdObject)
  3284. {
  3285.    //*** IUnknown methods
  3286.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  3287.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  3288.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  3289.  
  3290.     //*** SQLOLE standard object properties.
  3291.     STDMETHOD(GetApplication)(THIS_ LPSQLOLEAPPLICATION *ppApp) PURE;
  3292.     STDMETHOD(GetParent)(THIS_ LPSQLOLESTDOBJECT *ppParent) PURE;
  3293.     STDMETHOD(GetTypeOf)(THIS_ SQLOLE_OBJECT_TYPE *pRetVal) PURE;
  3294.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  3295.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  3296.  
  3297.     //*** SQLOLE standard enumeration properties
  3298.     STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLOLEREMOTESERVER *ppObj) PURE;
  3299.     STDMETHOD(GetItemByName)(THIS_ SQLOLE_LPCSTR szName, LPSQLOLEREMOTESERVER *ppObj) PURE;
  3300.     STDMETHOD(GetItemByID)(THIS_ long lID, LPSQLOLEREMOTESERVER *ppObj) PURE;
  3301.     STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  3302.  
  3303.     //*** SQLOLE standard collection methods
  3304.     STDMETHOD(Add)(THIS_ LPSQLOLEREMOTESERVER Object) PURE;
  3305.     STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  3306.     STDMETHOD(RemoveByName)(THIS_ SQLOLE_LPCSTR szName) PURE;
  3307.     STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  3308. };
  3309.  
  3310. #undef INTERFACE
  3311. #define INTERFACE ISQLOLERemoteLogins
  3312. DECLARE_INTERFACE_(INTERFACE, ISQLOLEStdObject)
  3313. {
  3314.    //*** IUnknown methods
  3315.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  3316.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  3317.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  3318.  
  3319.     //*** SQLOLE standard object properties.
  3320.     STDMETHOD(GetApplication)(THIS_ LPSQLOLEAPPLICATION *ppApp) PURE;
  3321.     STDMETHOD(GetParent)(THIS_ LPSQLOLESTDOBJECT *ppParent) PURE;
  3322.     STDMETHOD(GetTypeOf)(THIS_ SQLOLE_OBJECT_TYPE *pRetVal) PURE;
  3323.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  3324.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  3325.  
  3326.     //*** SQLOLE standard enumeration properties
  3327.     STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLOLEREMOTELOGIN *ppObj) PURE;
  3328.     STDMETHOD(GetItemByName)(THIS_ SQLOLE_LPCSTR szName, LPSQLOLEREMOTELOGIN *ppObj) PURE;
  3329.     STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  3330.  
  3331.     //*** SQLOLE standard collection methods
  3332.     STDMETHOD(Add)(THIS_ LPSQLOLEREMOTELOGIN Object) PURE;
  3333.     STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  3334.     STDMETHOD(RemoveByName)(THIS_ SQLOLE_LPCSTR szName) PURE;
  3335.     STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  3336. };
  3337.  
  3338. #undef INTERFACE
  3339. #define INTERFACE ISQLOLESystemDatatypes
  3340. DECLARE_INTERFACE_(INTERFACE, ISQLOLEStdObject)
  3341. {
  3342.    //*** IUnknown methods
  3343.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  3344.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  3345.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  3346.  
  3347.     //*** SQLOLE standard object properties.
  3348.     STDMETHOD(GetApplication)(THIS_ LPSQLOLEAPPLICATION *ppApp) PURE;
  3349.     STDMETHOD(GetParent)(THIS_ LPSQLOLESTDOBJECT *ppParent) PURE;
  3350.     STDMETHOD(GetTypeOf)(THIS_ SQLOLE_OBJECT_TYPE *pRetVal) PURE;
  3351.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  3352.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  3353.  
  3354.     //*** SQLOLE standard enumeration properties
  3355.     STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLOLESYSTEMDATATYPE *ppObj) PURE;
  3356.     STDMETHOD(GetItemByName)(THIS_ SQLOLE_LPCSTR szName, LPSQLOLESYSTEMDATATYPE *ppObj) PURE;
  3357.     STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  3358. };
  3359.  
  3360. #undef INTERFACE
  3361. #define INTERFACE ISQLOLEChecks
  3362. DECLARE_INTERFACE_(INTERFACE, ISQLOLEStdObject)
  3363. {
  3364.    //*** IUnknown methods
  3365.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  3366.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  3367.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  3368.  
  3369.     //*** SQLOLE standard object properties.
  3370.     STDMETHOD(GetApplication)(THIS_ LPSQLOLEAPPLICATION *ppApp) PURE;
  3371.     STDMETHOD(GetParent)(THIS_ LPSQLOLESTDOBJECT *ppParent) PURE;
  3372.     STDMETHOD(GetTypeOf)(THIS_ SQLOLE_OBJECT_TYPE *pRetVal) PURE;
  3373.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  3374.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  3375.  
  3376.     //*** SQLOLE standard enumeration properties
  3377.     STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLOLECHECK *ppObj) PURE;
  3378.     STDMETHOD(GetItemByName)(THIS_ SQLOLE_LPCSTR szName, LPSQLOLECHECK *ppObj) PURE;
  3379.     STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  3380.  
  3381.     //*** SQLOLE standard collection methods
  3382.     STDMETHOD(Add)(THIS_ LPSQLOLECHECK Object) PURE;
  3383.     STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  3384.     STDMETHOD(RemoveByName)(THIS_ SQLOLE_LPCSTR szName) PURE;
  3385.     STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  3386. };
  3387.  
  3388. #undef INTERFACE
  3389. #define INTERFACE ISQLOLEServerGroups
  3390. DECLARE_INTERFACE_(INTERFACE, ISQLOLEStdObject)
  3391. {
  3392.    //*** IUnknown methods
  3393.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  3394.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  3395.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  3396.  
  3397.     //*** SQLOLE standard object properties.
  3398.     STDMETHOD(GetApplication)(THIS_ LPSQLOLEAPPLICATION *ppApp) PURE;
  3399.     STDMETHOD(GetParent)(THIS_ LPSQLOLESTDOBJECT *ppParent) PURE;
  3400.     STDMETHOD(GetTypeOf)(THIS_ SQLOLE_OBJECT_TYPE *pRetVal) PURE;
  3401.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  3402.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  3403.  
  3404.     //*** SQLOLE standard enumeration properties
  3405.     STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLOLESERVERGROUP *ppObj) PURE;
  3406.     STDMETHOD(GetItemByName)(THIS_ SQLOLE_LPCSTR szName, LPSQLOLESERVERGROUP *ppObj) PURE;
  3407.     STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  3408.  
  3409.     //*** SQLOLE standard collection methods
  3410.     STDMETHOD(Add)(THIS_ LPSQLOLESERVERGROUP Object) PURE;
  3411.     STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  3412.     STDMETHOD(RemoveByName)(THIS_ SQLOLE_LPCSTR szName) PURE;
  3413.     STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  3414. };
  3415.  
  3416. #undef INTERFACE
  3417. #define INTERFACE ISQLOLERegisteredServers
  3418. DECLARE_INTERFACE_(INTERFACE, ISQLOLEStdObject)
  3419. {
  3420.    //*** IUnknown methods
  3421.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  3422.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  3423.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  3424.  
  3425.     //*** SQLOLE standard object properties.
  3426.     STDMETHOD(GetApplication)(THIS_ LPSQLOLEAPPLICATION *ppApp) PURE;
  3427.     STDMETHOD(GetParent)(THIS_ LPSQLOLESTDOBJECT *ppParent) PURE;
  3428.     STDMETHOD(GetTypeOf)(THIS_ SQLOLE_OBJECT_TYPE *pRetVal) PURE;
  3429.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  3430.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  3431.  
  3432.     //*** SQLOLE standard enumeration properties
  3433.     STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLOLEREGISTEREDSERVER *ppObj) PURE;
  3434.     STDMETHOD(GetItemByName)(THIS_ SQLOLE_LPCSTR szName, LPSQLOLEREGISTEREDSERVER *ppObj) PURE;
  3435.     STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  3436.  
  3437.     //*** SQLOLE standard collection methods
  3438.     STDMETHOD(Add)(THIS_ LPSQLOLEREGISTEREDSERVER Object) PURE;
  3439.     STDMETHOD(RemoveByOrd)(THIS_ long lOrdinal) PURE;
  3440.     STDMETHOD(RemoveByName)(THIS_ SQLOLE_LPCSTR szName) PURE;
  3441.     STDMETHOD(Refresh)(THIS_ BOOL bReleaseMemberObjects CPPDEFAULT(= FALSE)) PURE;
  3442. };
  3443.  
  3444. ///////////////////////////
  3445. // Noncollection interfaces.
  3446. ///////////////////////////
  3447. #undef INTERFACE
  3448. #define INTERFACE ISQLOLEApplication
  3449. DECLARE_INTERFACE_(INTERFACE, ISQLOLEStdObject)
  3450. {
  3451.    //*** IUnknown methods
  3452.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  3453.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  3454.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  3455.  
  3456.     //*** SQLOLE standard object properties.
  3457.     STDMETHOD(GetApplication)(THIS_ LPSQLOLEAPPLICATION *ppApp) PURE;
  3458.     STDMETHOD(GetParent)(THIS_ LPSQLOLESTDOBJECT *ppParent) PURE;
  3459.     STDMETHOD(GetTypeOf)(THIS_ SQLOLE_OBJECT_TYPE *pRetVal) PURE;
  3460.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  3461.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  3462.  
  3463.     //*** properties
  3464.     STDMETHOD(GetName)(THIS_ SQLOLE_LPBSTR pbstrName) PURE;
  3465.     STDMETHOD(GetFullName)(THIS_ SQLOLE_LPBSTR pbstrName) PURE;
  3466.     STDMETHOD(GetDBLibraryVersionString)(THIS_ SQLOLE_LPBSTR pbstrVersion) PURE;
  3467.     STDMETHOD(GetVersionMajor)(THIS_ LPLONG pRetVal) PURE;
  3468.     STDMETHOD(GetVersionMinor)(THIS_ LPLONG pRetVal) PURE;
  3469.  
  3470.     // Collection properties
  3471.     STDMETHOD(GetSQLServers)(THIS_ LPSQLOLESERVERS *pServers) PURE;
  3472.     STDMETHOD(GetSQLServerByName)(THIS_ SQLOLE_LPCSTR szName, LPSQLOLESERVER *ppSQLServer) PURE;
  3473.     STDMETHOD(GetSQLServerByOrd)(THIS_ long lOrdinal, LPSQLOLESERVER *ppSQLServer) PURE;
  3474.     STDMETHOD(RemoveSQLServerByName)(THIS_ SQLOLE_LPCSTR szName) PURE;
  3475.     STDMETHOD(RemoveSQLServerByOrd)(THIS_ long lOrdinal) PURE;
  3476.     STDMETHOD(AddSQLServer)(THIS_ LPSQLOLESERVER pSQLServer) PURE;
  3477.     STDMETHOD(GetSQLServerCount)(THIS_ LPLONG plCount) PURE;
  3478.  
  3479.     //*** methods
  3480.     STDMETHOD(Quit)(THIS) PURE;
  3481.  
  3482.    // Post-6.0 additions.
  3483.     STDMETHOD(GetGroupRegistrationServer)(THIS_ SQLOLE_LPBSTR pbstrVersion) PURE;
  3484.     STDMETHOD(SetGroupRegistrationServer)(THIS_ SQLOLE_LPCSTR pbstrVersion) PURE;
  3485.     STDMETHOD(GetGroupRegistrationVersion)(THIS_ LPLONG pRetVal) PURE;
  3486.     STDMETHOD(GetUseCurrentUserServerGroups)(THIS_ LPBOOL pRetVal) PURE;
  3487.     STDMETHOD(SetUseCurrentUserServerGroups)(THIS_ BOOL pRetVal) PURE;
  3488.     STDMETHOD(GetVersionBuild)(THIS_ LPLONG pRetVal) PURE;
  3489.  
  3490.     STDMETHOD(GetServerGroups)(THIS_ LPSQLOLESERVERGROUPS *ppServerGroups) PURE;
  3491.     STDMETHOD(GetServerGroupByName)(THIS_ SQLOLE_LPCSTR szName, LPSQLOLESERVERGROUP *ppServerGroup) PURE;
  3492.     STDMETHOD(GetServerGroupByOrd)(THIS_ long lOrdinal, LPSQLOLESERVERGROUP *ppServerGroup) PURE;
  3493.     STDMETHOD(RemoveServerGroupByName)(THIS_ SQLOLE_LPCSTR szName) PURE;
  3494.     STDMETHOD(RemoveServerGroupByOrd)(THIS_ long lOrdinal) PURE;
  3495.     STDMETHOD(AddServerGroup)(THIS_ LPSQLOLESERVERGROUP pServerGroup) PURE;
  3496.     STDMETHOD(GetServerGroupCount)(THIS_ LPLONG plCount) PURE;
  3497.  
  3498.     STDMETHOD(ListLocallyConfiguredSQLServers)(THIS_ LPSQLOLENAMELIST *ppServerNames) PURE;
  3499.     STDMETHOD(ListAnnouncedNetworkSQLServers)(THIS_ LPSQLOLENAMELIST *ppServerNames) PURE;
  3500. };
  3501.  
  3502. #undef INTERFACE
  3503. #define INTERFACE ISQLOLEServer
  3504. DECLARE_INTERFACE_(INTERFACE, ISQLOLEStdObject)
  3505. {
  3506.    //*** IUnknown methods
  3507.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  3508.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  3509.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  3510.  
  3511.     //*** SQLOLE standard object properties.
  3512.     STDMETHOD(GetApplication)(THIS_ LPSQLOLEAPPLICATION *ppApp) PURE;
  3513.     STDMETHOD(GetParent)(THIS_ LPSQLOLESTDOBJECT *ppParent) PURE;
  3514.     STDMETHOD(GetTypeOf)(THIS_ SQLOLE_OBJECT_TYPE *pRetVal) PURE;
  3515.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  3516.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  3517.  
  3518.     //*** properties
  3519.     STDMETHOD(GetApplicationName)(THIS_ SQLOLE_LPBSTR pbstrAppName) PURE;
  3520.     STDMETHOD(SetApplicationName)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  3521.     STDMETHOD(GetConnectionID)(THIS_ LPLONG plConnectionID) PURE;
  3522.     STDMETHOD(GetHostName)(THIS_ SQLOLE_LPBSTR pbstrHostName) PURE;
  3523.     STDMETHOD(SetHostName)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  3524.     STDMETHOD(GetLanguage)(THIS_ SQLOLE_LPBSTR pbstrLanguage) PURE;
  3525.     STDMETHOD(SetLanguage)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  3526.     STDMETHOD(GetLogin)(THIS_ SQLOLE_LPBSTR pbstrLogin) PURE;
  3527.     STDMETHOD(SetLogin)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  3528.     STDMETHOD(GetName)(THIS_ SQLOLE_LPBSTR pbstrName) PURE;
  3529.     STDMETHOD(SetName)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  3530.     STDMETHOD(GetNextDeviceNumber)(THIS_ LPLONG plNextDeviceNumber) PURE;
  3531.     STDMETHOD(GetQueryTimeout)(THIS_ LPLONG pRetVal) PURE;
  3532.     STDMETHOD(SetQueryTimeout)(THIS_ long NewValue) PURE;
  3533.     STDMETHOD(GetLoginTimeout)(THIS_ LPLONG pRetVal) PURE;
  3534.     STDMETHOD(SetLoginTimeout)(THIS_ long NewValue) PURE;
  3535.     STDMETHOD(GetLoginSecure)(THIS_ LPBOOL pRetVal) PURE;
  3536.     STDMETHOD(SetLoginSecure)(THIS_ BOOL NewValue) PURE;
  3537.     STDMETHOD(GetNetPacketSize)(THIS_ LPLONG pRetVal) PURE;
  3538.     STDMETHOD(SetNetPacketSize)(THIS_ long NewValue) PURE;
  3539.     STDMETHOD(GetPassword)(THIS_ SQLOLE_LPBSTR pbstrPassword) PURE;
  3540.     STDMETHOD(SetPassword)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  3541.     STDMETHOD(GetProcessID)(THIS_ LPLONG plProcessID) PURE;
  3542.     STDMETHOD(GetStatus)(THIS_ SQLOLE_SVCSTATUS_TYPE *pStatus) PURE;
  3543.     STDMETHOD(GetUserProfile)(THIS_ SQLOLE_SRVUSERPROFILE_TYPE *pProfileBits) PURE;
  3544.     STDMETHOD(GetMaxNumericPrecision)(THIS_ LPLONG pMaxPrec) PURE;
  3545.     STDMETHOD(GetTrueLogin)(THIS_ SQLOLE_LPBSTR pbstrTrueLogin) PURE;
  3546.     STDMETHOD(GetTrueName)(THIS_ SQLOLE_LPBSTR pbstrTrueName) PURE;
  3547.     STDMETHOD(GetVersionString)(THIS_ SQLOLE_LPBSTR pbstrVersion) PURE;
  3548.     STDMETHOD(GetVersionMajor)(THIS_ LPLONG pRetVal) PURE;
  3549.     STDMETHOD(GetVersionMinor)(THIS_ LPLONG pRetVal) PURE;
  3550.     STDMETHOD(GetCommandTerminator)(THIS_ SQLOLE_LPBSTR pbstrName) PURE;
  3551.     STDMETHOD(SetCommandTerminator)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  3552.     STDMETHOD(GetProcessInputBuffer)(THIS_ long lProcessID, SQLOLE_LPBSTR pRetVal) PURE;
  3553.     STDMETHOD(GetProcessOutputBuffer)(THIS_ long lProcessID, SQLOLE_LPBSTR pRetVal) PURE;
  3554.     STDMETHOD(GetDistributionWorkingDirectory)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  3555.     STDMETHOD(SetDistributionWorkingDirectory)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  3556.     STDMETHOD(GetDistributionServer)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  3557.     STDMETHOD(GetDistributionDatabase)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  3558.     STDMETHOD(GetAutoReConnect)(THIS_ LPBOOL pRetVal) PURE;
  3559.     STDMETHOD(SetAutoReConnect)(THIS_ BOOL NewValue) PURE;
  3560.     STDMETHOD(GetStatusInfoRefetchInterval)(THIS_ SQLOLE_STATUSINFO_TYPE StatusInfoType, LPLONG pRefetchSeconds) PURE;
  3561.     STDMETHOD(SetStatusInfoRefetchInterval)(THIS_ SQLOLE_STATUSINFO_TYPE StatusInfoType, long RefetchSeconds) PURE;
  3562.     STDMETHOD(GetSaLogin)(THIS_ LPBOOL pRetVal) PURE;
  3563.  
  3564.     //*** Object properties
  3565.     STDMETHOD(GetConfiguration)(THIS_ LPSQLOLECONFIGURATION *ppConfig) PURE;
  3566.     STDMETHOD(GetIntegratedSecurity)(THIS_ LPSQLOLEINTEGRATEDSECURITY *ppIntSec) PURE;
  3567.     STDMETHOD(GetRegistry)(THIS_ LPSQLOLEREGISTRY *ppRegistry) PURE;
  3568.     STDMETHOD(GetExecutive)(THIS_ LPSQLOLEEXECUTIVE *ppExecutive) PURE;
  3569.  
  3570.     //*** collection properties
  3571.     STDMETHOD(GetDatabases)(THIS_ LPSQLOLEDATABASES *ppDatabases) PURE;
  3572.     STDMETHOD(GetDatabaseByName)(THIS_ SQLOLE_LPCSTR szName, LPSQLOLEDATABASE *ppDatabase) PURE;
  3573.     STDMETHOD(GetDatabaseByOrd)(THIS_ long lOrdinal, LPSQLOLEDATABASE *ppDatabase) PURE;
  3574.     STDMETHOD(RemoveDatabaseByName)(THIS_ SQLOLE_LPCSTR szName) PURE;
  3575.     STDMETHOD(RemoveDatabaseByOrd)(THIS_ long lOrdinal) PURE;
  3576.     STDMETHOD(AddDatabase)(THIS_ LPSQLOLEDATABASE pDatabase) PURE;
  3577.     STDMETHOD(GetDatabaseCount)(THIS_ LPLONG plCount) PURE;
  3578.  
  3579.     STDMETHOD(GetDevices)(THIS_ LPSQLOLEDEVICES *ppDevices) PURE;
  3580.     STDMETHOD(GetDeviceByName)(THIS_ SQLOLE_LPCSTR szName, LPSQLOLEDEVICE *ppDevice) PURE;
  3581.     STDMETHOD(GetDeviceByOrd)(THIS_ long lOrdinal, LPSQLOLEDEVICE *ppDevice) PURE;
  3582.     STDMETHOD(RemoveDeviceByName)(THIS_ SQLOLE_LPCSTR szName) PURE;
  3583.     STDMETHOD(RemoveDeviceByOrd)(THIS_ long lOrdinal) PURE;
  3584.     STDMETHOD(AddDevice)(THIS_ LPSQLOLEDEVICE pDevice) PURE;
  3585.     STDMETHOD(GetDeviceCount)(THIS_ LPLONG plCount) PURE;
  3586.  
  3587.     STDMETHOD(GetLogins)(THIS_ LPSQLOLELOGINS *ppLogins) PURE;
  3588.     STDMETHOD(GetLoginByName)(THIS_ SQLOLE_LPCSTR szName, LPSQLOLELOGIN *ppLogin) PURE;
  3589.     STDMETHOD(GetLoginByOrd)(THIS_ long lOrdinal, LPSQLOLELOGIN *ppLogin) PURE;
  3590.     STDMETHOD(RemoveLoginByName)(THIS_ SQLOLE_LPCSTR szName) PURE;
  3591.     STDMETHOD(RemoveLoginByOrd)(THIS_ long lOrdinal) PURE;
  3592.     STDMETHOD(AddLogin)(THIS_ LPSQLOLELOGIN pLogin) PURE;
  3593.     STDMETHOD(GetLoginCount)(THIS_ LPLONG plCount) PURE;
  3594.  
  3595.     STDMETHOD(GetLanguages)(THIS_ LPSQLOLELANGUAGES *ppLanguages) PURE;
  3596.     STDMETHOD(GetLanguageByName)(THIS_ SQLOLE_LPCSTR szName, LPSQLOLELANGUAGE *ppLanguage) PURE;
  3597.     STDMETHOD(GetLanguageByOrd)(THIS_ long lOrdinal, LPSQLOLELANGUAGE *ppLanguage) PURE;
  3598.     STDMETHOD(RemoveLanguageByName)(THIS_ SQLOLE_LPCSTR szName) PURE;
  3599.     STDMETHOD(RemoveLanguageByOrd)(THIS_ long lOrdinal) PURE;
  3600.     STDMETHOD(AddLanguage)(THIS_ LPSQLOLELANGUAGE pLanguage) PURE;
  3601.     STDMETHOD(GetLanguageCount)(THIS_ LPLONG plCount) PURE;
  3602.  
  3603.     STDMETHOD(GetRemoteServers)(THIS_ LPSQLOLEREMOTESERVERS *ppRemoteServers) PURE;
  3604.     STDMETHOD(GetRemoteServerByName)(THIS_ SQLOLE_LPCSTR szName, LPSQLOLEREMOTESERVER *ppRemoteServer) PURE;
  3605.     STDMETHOD(GetRemoteServerByOrd)(THIS_ long lOrdinal, LPSQLOLEREMOTESERVER *ppRemoteServer) PURE;
  3606.     STDMETHOD(RemoveRemoteServerByName)(THIS_ SQLOLE_LPCSTR szName) PURE;
  3607.     STDMETHOD(RemoveRemoteServerByOrd)(THIS_ long lOrdinal) PURE;
  3608.     STDMETHOD(AddRemoteServer)(THIS_ LPSQLOLEREMOTESERVER pRemoteServer) PURE;
  3609.     STDMETHOD(GetRemoteServerCount)(THIS_ LPLONG plCount) PURE;
  3610.  
  3611.     STDMETHOD(GetAlerts)(THIS_ LPSQLOLEALERTS *ppAlerts) PURE;
  3612.     STDMETHOD(GetAlertByName)(THIS_ SQLOLE_LPCSTR szName, LPSQLOLEALERT *ppAlert) PURE;
  3613.     STDMETHOD(GetAlertByOrd)(THIS_ long lOrdinal, LPSQLOLEALERT *ppAlert) PURE;
  3614.     STDMETHOD(RemoveAlertByName)(THIS_ SQLOLE_LPCSTR szName) PURE;
  3615.     STDMETHOD(RemoveAlertByOrd)(THIS_ long lOrdinal) PURE;
  3616.     STDMETHOD(AddAlert)(THIS_ LPSQLOLEALERT pAlert) PURE;
  3617.     STDMETHOD(GetAlertCount)(THIS_ LPLONG plCount) PURE;
  3618.  
  3619.     STDMETHOD(GetOperators)(THIS_ LPSQLOLEOPERATORS *ppOperators) PURE;
  3620.     STDMETHOD(GetOperatorByName)(THIS_ SQLOLE_LPCSTR szName, LPSQLOLEOPERATOR *ppOperator) PURE;
  3621.     STDMETHOD(GetOperatorByOrd)(THIS_ long lOrdinal, LPSQLOLEOPERATOR *ppOperator) PURE;
  3622.     STDMETHOD(RemoveOperatorByName)(THIS_ SQLOLE_LPCSTR szName) PURE;
  3623.     STDMETHOD(RemoveOperatorByOrd)(THIS_ long lOrdinal) PURE;
  3624.     STDMETHOD(AddOperator)(THIS_ LPSQLOLEOPERATOR pOperator) PURE;
  3625.     STDMETHOD(GetOperatorCount)(THIS_ LPLONG plCount) PURE;
  3626.  
  3627.     //*** methods
  3628.     STDMETHOD(Connect)(THIS_ SQLOLE_LPCSTR szServerName CPPDEFAULT(= NULL), SQLOLE_LPCSTR szLogin CPPDEFAULT(= NULL), SQLOLE_LPCSTR szPassword CPPDEFAULT(= NULL)) PURE;
  3629.     STDMETHOD(Close)(THIS) PURE;
  3630.     STDMETHOD(DisConnect)(THIS) PURE;
  3631.     STDMETHOD(ReConnect)(THIS) PURE;
  3632.     STDMETHOD(KillProcess)(THIS_ long lProcessID) PURE;
  3633.     STDMETHOD(ExecuteImmediate)(THIS_ SQLOLE_LPCSTR Command, SQLOLE_EXEC_TYPE ExecType CPPDEFAULT(= SQLOLEExec_Default)) PURE;
  3634.     STDMETHOD(ExecuteWithResults)(THIS_ SQLOLE_LPCSTR Command, LPSQLOLEQUERYRESULTS *ppResults) PURE;
  3635.     STDMETHOD(EnumHistory)(THIS_ LPSQLOLEQUERYRESULTS *ppResults, LPSQLOLEHISTORYFILTER pFilter CPPDEFAULT(= NULL)) PURE;
  3636.     STDMETHOD(PurgeHistory)(THIS_ LPSQLOLEHISTORYFILTER pFilter CPPDEFAULT(= NULL)) PURE;
  3637.     STDMETHOD(UnloadODSDLL)(THIS_ SQLOLE_LPCSTR DLLName) PURE;
  3638.     STDMETHOD(KillDatabase)(THIS_ SQLOLE_LPCSTR DatabaseName) PURE;
  3639.     STDMETHOD(ReadErrorLog)(THIS_ LPSQLOLEQUERYRESULTS *ppResults, long lLogNumber CPPDEFAULT(= 0)) PURE;
  3640.     STDMETHOD(EnumErrorLogs)(THIS_ LPSQLOLEQUERYRESULTS *ppResults) PURE;
  3641.     STDMETHOD(EnumProcesses)(THIS_ LPSQLOLEQUERYRESULTS *ppResults, SQLOLE_LPCSTR szWho CPPDEFAULT(= NULL), long lWho CPPDEFAULT(= -1)) PURE;
  3642.     STDMETHOD(EnumLocks)(THIS_ LPSQLOLEQUERYRESULTS *ppResults, long lWho CPPDEFAULT(= -1)) PURE;
  3643.     STDMETHOD(ReadBackupHeader)(THIS_ LPSQLOLEBACKUP LoadSpec, LPSQLOLEQUERYRESULTS *ppResults) PURE;
  3644.     STDMETHOD(EnumPublicationDatabases)(THIS_ LPSQLOLEQUERYRESULTS *ppResults) PURE;
  3645.     STDMETHOD(EnumSubscriptionDatabases)(THIS_ LPSQLOLEQUERYRESULTS *ppResults) PURE;
  3646.     STDMETHOD(EnumSubscriberSubscriptions)(THIS_ SQLOLE_LPCSTR Subscriber, LPSQLOLEQUERYRESULTS *ppResults, SQLOLE_LPCSTR SourceDatabase CPPDEFAULT(= NULL)) PURE;
  3647.     STDMETHOD(RemoveSubscriberSubscriptions)(THIS_ SQLOLE_LPCSTR Subscriber, SQLOLE_LPCSTR SourceDatabase CPPDEFAULT(= NULL)) PURE;
  3648.     STDMETHOD(EnumAvailableMedia)(THIS_ LPSQLOLEQUERYRESULTS *ppResults, SQLOLE_MEDIA_TYPE MediaType CPPDEFAULT(= SQLOLEMedia_All)) PURE;
  3649.     STDMETHOD(EnumDirectories)(THIS_ SQLOLE_LPCSTR PathName, LPSQLOLEQUERYRESULTS *ppResults) PURE;
  3650.     STDMETHOD(EnumServerAttributes)(THIS_ LPSQLOLEQUERYRESULTS *ppResults) PURE;
  3651.     STDMETHOD(EnumVersionInfo)(THIS_ LPSQLOLEQUERYRESULTS *ppResults, SQLOLE_LPCSTR szPrefixes CPPDEFAULT(= NULL)) PURE;
  3652.     STDMETHOD(BeginTransaction)(THIS_ SQLOLE_LPCSTR szTransactionName CPPDEFAULT(= NULL)) PURE;
  3653.     STDMETHOD(CommitTransaction)(THIS_ SQLOLE_LPCSTR TransactionName CPPDEFAULT(= NULL)) PURE;
  3654.     STDMETHOD(SaveTransaction)(THIS_ SQLOLE_LPCSTR SavepointName) PURE;
  3655.     STDMETHOD(RollbackTransaction)(THIS_ SQLOLE_LPCSTR TransactionOrSavepointName CPPDEFAULT(= NULL)) PURE;
  3656.     STDMETHOD(CommandShellImmediate)(THIS_ SQLOLE_LPCSTR Command) PURE;
  3657.     STDMETHOD(CommandShellWithResults)(THIS_ SQLOLE_LPCSTR Command, LPSQLOLEQUERYRESULTS *ppResults) PURE;
  3658.     STDMETHOD(Pause)(THIS) PURE;
  3659.     STDMETHOD(Continue)(THIS) PURE;
  3660.     STDMETHOD(Shutdown)(THIS_ BOOL Wait CPPDEFAULT(= TRUE)) PURE;
  3661.     STDMETHOD(Start)(THIS_ SQLOLE_LPCSTR Server CPPDEFAULT(= NULL), SQLOLE_LPCSTR Login CPPDEFAULT(= NULL), SQLOLE_LPCSTR Password CPPDEFAULT(= NULL),
  3662.                      SQLOLE_LPCSTR MasterDBPath CPPDEFAULT(= NULL), SQLOLE_LPCSTR ErrorLogPath CPPDEFAULT(= NULL), SQLOLE_LPCSTR MasterMirrorPath CPPDEFAULT(= NULL),
  3663.                      SQLOLE_STARTSRV_TYPE StartMode CPPDEFAULT(= SQLOLEStart_Defaults)) PURE;
  3664.     STDMETHOD(VerifyConnection)(THIS_ LPBOOL pRetVal, SQLOLE_VERIFYCONN_TYPE VerifyType CPPDEFAULT(= SQLOLEConn_ReconnectIfDead)) PURE;
  3665.  
  3666.     // List methods
  3667.     STDMETHOD(ListStartupProcedures)(THIS_ LPSQLOLESTOREDPROCEDURELIST * ppList) PURE;
  3668.  
  3669.     // Post-6.0 additions
  3670.     STDMETHOD(ExecuteWithResultsAndMessages)(THIS_ SQLOLE_LPCSTR Command, LPSQLOLEQUERYRESULTS *ppResults, SQLOLE_LPBSTR ppszMessages CPPDEFAULT(= 0)) PURE;
  3671.     STDMETHOD(GetNetName)(THIS_ SQLOLE_LPBSTR pbstrNetName) PURE;
  3672.     STDMETHOD(EnumLoginMappings)(THIS_ LPSQLOLEQUERYRESULTS *ppResults) PURE;
  3673.     STDMETHOD(UninstallPublishing)(THIS) PURE;
  3674. };
  3675.  
  3676. #undef INTERFACE
  3677. #define INTERFACE ISQLOLERegistry
  3678. DECLARE_INTERFACE_(INTERFACE, ISQLOLEStdObject)
  3679. {
  3680.    //*** IUnknown methods
  3681.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  3682.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  3683.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  3684.  
  3685.     //*** SQLOLE standard object properties.
  3686.     STDMETHOD(GetApplication)(THIS_ LPSQLOLEAPPLICATION *ppApp) PURE;
  3687.     STDMETHOD(GetParent)(THIS_ LPSQLOLESTDOBJECT *ppParent) PURE;
  3688.     STDMETHOD(GetTypeOf)(THIS_ SQLOLE_OBJECT_TYPE *pRetVal) PURE;
  3689.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  3690.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  3691.  
  3692.     //*** properties
  3693.     STDMETHOD(GetAutostartMail)(THIS_ LPBOOL pRetVal) PURE;
  3694.     STDMETHOD(SetAutostartMail)(THIS_ BOOL NewValue) PURE;
  3695.     STDMETHOD(GetAutostartServer)(THIS_ LPBOOL pRetVal) PURE;
  3696.     STDMETHOD(SetAutostartServer)(THIS_ BOOL NewValue) PURE;
  3697.     STDMETHOD(GetCaseSensitive)(THIS_ LPBOOL pRetVal) PURE;
  3698.     STDMETHOD(GetCharacterSet)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  3699.     STDMETHOD(GetErrorLogPath)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  3700.     STDMETHOD(SetErrorLogPath)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  3701.     STDMETHOD(GetMailAccountName)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  3702.     STDMETHOD(SetMailAccountName)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  3703.     STDMETHOD(GetMailPassword)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  3704.     STDMETHOD(SetMailPassword)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  3705.     STDMETHOD(GetMasterDBPath)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  3706.     STDMETHOD(SetMasterDBPath)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  3707.     STDMETHOD(GetNTEventLogging)(THIS_ LPBOOL pRetVal) PURE;
  3708.     STDMETHOD(GetNumberOfProcessors)(THIS_ LPLONG pRetVal) PURE;
  3709.     STDMETHOD(GetPerfMonMode)(THIS_ SQLOLE_PERFMON_TYPE *pRetVal) PURE;
  3710.     STDMETHOD(SetPerfMonMode)(THIS_ SQLOLE_PERFMON_TYPE NewValue) PURE;
  3711.     STDMETHOD(GetPhysicalMemory)(THIS_ LPLONG pRetVal) PURE;
  3712.     STDMETHOD(GetAutostartLicensing)(THIS_ LPBOOL pRetVal) PURE;
  3713.     STDMETHOD(SetAutostartLicensing)(THIS_ BOOL NewValue) PURE;
  3714.     STDMETHOD(GetRegisteredOrganization)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  3715.     STDMETHOD(GetRegisteredOwner)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  3716.     STDMETHOD(GetSortOrder)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  3717.     STDMETHOD(GetSQLRootPath)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  3718.     STDMETHOD(SetSQLRootPath)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  3719.     STDMETHOD(GetTapeLoadWaitTime)(THIS_ LPLONG pRetVal) PURE;
  3720.     STDMETHOD(SetTapeLoadWaitTime)(THIS_ long NewValue) PURE;
  3721. };
  3722.  
  3723. #undef INTERFACE
  3724. #define INTERFACE ISQLOLEDatabase
  3725. DECLARE_INTERFACE_(INTERFACE, ISQLOLEStdObject)
  3726. {
  3727.    //*** IUnknown methods
  3728.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  3729.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  3730.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  3731.  
  3732.     //*** SQLOLE standard object properties.
  3733.     STDMETHOD(GetApplication)(THIS_ LPSQLOLEAPPLICATION *ppApp) PURE;
  3734.     STDMETHOD(GetParent)(THIS_ LPSQLOLESTDOBJECT *ppParent) PURE;
  3735.     STDMETHOD(GetTypeOf)(THIS_ SQLOLE_OBJECT_TYPE *pRetVal) PURE;
  3736.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  3737.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  3738.  
  3739.     //*** properties
  3740.     STDMETHOD(GetName)(THIS_ SQLOLE_LPBSTR pbstrName) PURE;
  3741.     STDMETHOD(SetName)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  3742.     STDMETHOD(GetOwner)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  3743.     STDMETHOD(SetOwner)(THIS_ SQLOLE_LPCSTR NewValue, BOOL bTransferAliases CPPDEFAULT(= FALSE), BOOL bOverrideIfAlreadyUser CPPDEFAULT(= FALSE)) PURE;
  3744.     STDMETHOD(GetVersion)(THIS_ LPLONG pRetVal) PURE;
  3745.     STDMETHOD(GetCreateDate)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  3746.     STDMETHOD(GetUserName)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  3747.     STDMETHOD(SetUserName)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  3748.     STDMETHOD(GetSize)(THIS_ LPLONG pRetVal) PURE;
  3749.     STDMETHOD(GetSpaceAvailable)(THIS_ LPLONG pRetVal) PURE;
  3750.     STDMETHOD(GetID)(THIS_ LPLONG pRetVal) PURE;
  3751.     STDMETHOD(GetSystemObject)(THIS_ LPBOOL pRetVal) PURE;
  3752.     STDMETHOD(GetUserProfile)(THIS_ SQLOLE_DBUSERPROFILE_TYPE *pProfileBits) PURE;
  3753.     STDMETHOD(GetDataSpaceUsage)(THIS_ LPFLOAT pRetVal) PURE;
  3754.     STDMETHOD(GetStatus)(THIS_ SQLOLE_DBSTATUS_TYPE *pRetVal) PURE;
  3755.     STDMETHOD(GetIndexSpaceUsage)(THIS_ LPFLOAT pRetVal) PURE;
  3756.     STDMETHOD(GetSpaceAvailableInMB)(THIS_ LPFLOAT pRetVal) PURE;
  3757.     STDMETHOD(GetSpaceAllocatedOnDevice)(THIS_ SQLOLE_LPCSTR DeviceName, LPLONG pRetVal) PURE;
  3758.     STDMETHOD(GetCreateForLoad)(THIS_ LPBOOL pRetVal) PURE;
  3759.     STDMETHOD(SetCreateForLoad)(THIS_ BOOL NewValue) PURE;
  3760.     STDMETHOD(ManualSyncPending)(THIS_ SQLOLE_LPCSTR szPubServerName, SQLOLE_LPCSTR szPubDatabaseName, SQLOLE_LPCSTR szPublicationName, SQLOLE_LPCSTR szArticleName, LPBOOL pRetVal) PURE;
  3761.     STDMETHOD(GetMinimumSize)(THIS_ LPLONG pRetVal) PURE;
  3762.     STDMETHOD(GetDboLogin)(THIS_ LPBOOL pRetVal) PURE;
  3763.  
  3764.     //*** Object Properties
  3765.     STDMETHOD(GetDBOption)(THIS_ LPSQLOLEDBOPTION *ppDBOption) PURE;
  3766.     STDMETHOD(GetTransactionLog)(THIS_ LPSQLOLETRANSACTIONLOG * ppTransactionLog) PURE;
  3767.  
  3768.     //*** Collection properties
  3769.     STDMETHOD(GetTables)(THIS_ LPSQLOLETABLES * ppTables) PURE;
  3770.     STDMETHOD(GetTableByName)(THIS_ SQLOLE_LPCSTR szName, LPSQLOLETABLE *ppTable) PURE;
  3771.     STDMETHOD(GetTableByOrd)(THIS_ long lOrdinal, LPSQLOLETABLE *ppTable) PURE;
  3772.     STDMETHOD(RemoveTableByName)(THIS_ SQLOLE_LPCSTR szName) PURE;
  3773.     STDMETHOD(RemoveTableByOrd)(THIS_ long lOrdinal) PURE;
  3774.     STDMETHOD(AddTable)(THIS_ LPSQLOLETABLE pTable) PURE;
  3775.     STDMETHOD(GetTableCount)(THIS_ LPLONG plCount) PURE;
  3776.  
  3777.     STDMETHOD(GetViews)(THIS_ LPSQLOLEVIEWS * ppViews) PURE;
  3778.     STDMETHOD(GetViewByName)(THIS_ SQLOLE_LPCSTR szName, LPSQLOLEVIEW *ppView) PURE;
  3779.     STDMETHOD(GetViewByOrd)(THIS_ long lOrdinal, LPSQLOLEVIEW *ppView) PURE;
  3780.     STDMETHOD(RemoveViewByName)(THIS_ SQLOLE_LPCSTR szName) PURE;
  3781.     STDMETHOD(RemoveViewByOrd)(THIS_ long lOrdinal) PURE;
  3782.     STDMETHOD(AddView)(THIS_ LPSQLOLEVIEW pView) PURE;
  3783.     STDMETHOD(GetViewCount)(THIS_ LPLONG plCount) PURE;
  3784.  
  3785.     STDMETHOD(GetStoredProcedures)(THIS_ LPSQLOLESTOREDPROCEDURES * ppProcs) PURE;
  3786.     STDMETHOD(GetStoredProcedureByName)(THIS_ SQLOLE_LPCSTR szName, LPSQLOLESTOREDPROCEDURE *ppProc) PURE;
  3787.     STDMETHOD(GetStoredProcedureByOrd)(THIS_ long lOrdinal, LPSQLOLESTOREDPROCEDURE *ppProc) PURE;
  3788.     STDMETHOD(RemoveStoredProcedureByName)(THIS_ SQLOLE_LPCSTR szName) PURE;
  3789.     STDMETHOD(RemoveStoredProcedureByOrd)(THIS_ long lOrdinal) PURE;
  3790.     STDMETHOD(AddStoredProcedure)(THIS_ LPSQLOLESTOREDPROCEDURE pProc) PURE;
  3791.     STDMETHOD(GetStoredProcedureCount)(THIS_ LPLONG plCount) PURE;
  3792.  
  3793.     STDMETHOD(GetDefaults)(THIS_ LPSQLOLEDEFAULTS * ppDefaults) PURE;
  3794.     STDMETHOD(GetDefaultByName)(THIS_ SQLOLE_LPCSTR szName, LPSQLOLEDEFAULT *ppDefault) PURE;
  3795.     STDMETHOD(GetDefaultByOrd)(THIS_ long lOrdinal, LPSQLOLEDEFAULT *ppDefault) PURE;
  3796.     STDMETHOD(RemoveDefaultByName)(THIS_ SQLOLE_LPCSTR szName) PURE;
  3797.     STDMETHOD(RemoveDefaultByOrd)(THIS_ long lOrdinal) PURE;
  3798.     STDMETHOD(AddDefault)(THIS_ LPSQLOLEDEFAULT pDefault) PURE;
  3799.     STDMETHOD(GetDefaultCount)(THIS_ LPLONG plCount) PURE;
  3800.  
  3801.     STDMETHOD(GetRules)(THIS_ LPSQLOLERULES * ppRules) PURE;
  3802.     STDMETHOD(GetRuleByName)(THIS_ SQLOLE_LPCSTR szName, LPSQLOLERULE *ppRule) PURE;
  3803.     STDMETHOD(GetRuleByOrd)(THIS_ long lOrdinal, LPSQLOLERULE *ppRule) PURE;
  3804.     STDMETHOD(RemoveRuleByName)(THIS_ SQLOLE_LPCSTR szName) PURE;
  3805.     STDMETHOD(RemoveRuleByOrd)(THIS_ long lOrdinal) PURE;
  3806.     STDMETHOD(AddRule)(THIS_ LPSQLOLERULE pRule) PURE;
  3807.     STDMETHOD(GetRuleCount)(THIS_ LPLONG plCount) PURE;
  3808.  
  3809.     STDMETHOD(GetUserDefinedDatatypes)(THIS_ LPSQLOLEUSERDEFINEDDATATYPES * ppUDDTs) PURE;
  3810.     STDMETHOD(GetUserDefinedDatatypeByName)(THIS_ SQLOLE_LPCSTR szName, LPSQLOLEUSERDEFINEDDATATYPE *ppUDDT) PURE;
  3811.     STDMETHOD(GetUserDefinedDatatypeByOrd)(THIS_ long lOrdinal, LPSQLOLEUSERDEFINEDDATATYPE *ppUDDT) PURE;
  3812.     STDMETHOD(RemoveUserDefinedDatatypeByName)(THIS_ SQLOLE_LPCSTR szName) PURE;
  3813.     STDMETHOD(RemoveUserDefinedDatatypeByOrd)(THIS_ long lOrdinal) PURE;
  3814.     STDMETHOD(AddUserDefinedDatatype)(THIS_ LPSQLOLEUSERDEFINEDDATATYPE pUDDT) PURE;
  3815.     STDMETHOD(GetUserDefinedDatatypeCount)(THIS_ LPLONG plCount) PURE;
  3816.  
  3817.     STDMETHOD(GetUsers)(THIS_ LPSQLOLEUSERS * ppUsers) PURE;
  3818.     STDMETHOD(GetUserByName)(THIS_ SQLOLE_LPCSTR szName, LPSQLOLEUSER *ppUser) PURE;
  3819.     STDMETHOD(GetUserByOrd)(THIS_ long lOrdinal, LPSQLOLEUSER *ppUser) PURE;
  3820.     STDMETHOD(RemoveUserByName)(THIS_ SQLOLE_LPCSTR szName) PURE;
  3821.     STDMETHOD(RemoveUserByOrd)(THIS_ long lOrdinal) PURE;
  3822.     STDMETHOD(AddUser)(THIS_ LPSQLOLEUSER pUser) PURE;
  3823.     STDMETHOD(GetUserCount)(THIS_ LPLONG plCount) PURE;
  3824.  
  3825.     STDMETHOD(GetGroups)(THIS_ LPSQLOLEGROUPS * ppGroups) PURE;
  3826.     STDMETHOD(GetGroupByName)(THIS_ SQLOLE_LPCSTR szName, LPSQLOLEGROUP *ppGroup) PURE;
  3827.     STDMETHOD(GetGroupByOrd)(THIS_ long lOrdinal, LPSQLOLEGROUP *ppGroup) PURE;
  3828.     STDMETHOD(RemoveGroupByName)(THIS_ SQLOLE_LPCSTR szName) PURE;
  3829.     STDMETHOD(RemoveGroupByOrd)(THIS_ long lOrdinal) PURE;
  3830.     STDMETHOD(AddGroup)(THIS_ LPSQLOLEGROUP pGroup) PURE;
  3831.     STDMETHOD(GetGroupCount)(THIS_ LPLONG plCount) PURE;
  3832.  
  3833.     STDMETHOD(GetPublications)(THIS_ LPSQLOLEPUBLICATIONS * ppPublications) PURE;
  3834.     STDMETHOD(GetPublicationByName)(THIS_ SQLOLE_LPCSTR szName, LPSQLOLEPUBLICATION *ppPublication) PURE;
  3835.     STDMETHOD(GetPublicationByOrd)(THIS_ long lOrdinal, LPSQLOLEPUBLICATION *ppPublication) PURE;
  3836.     STDMETHOD(RemovePublicationByName)(THIS_ SQLOLE_LPCSTR szName) PURE;
  3837.     STDMETHOD(RemovePublicationByOrd)(THIS_ long lOrdinal) PURE;
  3838.     STDMETHOD(AddPublication)(THIS_ LPSQLOLEPUBLICATION pPublication) PURE;
  3839.     STDMETHOD(GetPublicationCount)(THIS_ LPLONG plCount) PURE;
  3840.  
  3841.     STDMETHOD(GetSystemDatatypes)(THIS_ LPSQLOLESYSTEMDATATYPES * ppSDTs) PURE;
  3842.     STDMETHOD(GetSystemDatatypeByName)(THIS_ SQLOLE_LPCSTR szName, LPSQLOLESYSTEMDATATYPE *ppSDT) PURE;
  3843.     STDMETHOD(GetSystemDatatypeByOrd)(THIS_ long lOrdinal, LPSQLOLESYSTEMDATATYPE *ppSDT) PURE;
  3844.     STDMETHOD(GetSystemDatatypeCount)(THIS_ LPLONG plCount) PURE;
  3845.  
  3846.     //*** Methods
  3847.     STDMETHOD(Grant)(THIS_ SQLOLE_PRIVILEGE_TYPE iPrivileges, SQLOLE_LPCSTR GranteeNames) PURE;
  3848.     STDMETHOD(Revoke)(THIS_ SQLOLE_PRIVILEGE_TYPE iPrivileges, SQLOLE_LPCSTR RevokeeNames) PURE;
  3849.     STDMETHOD(ExecuteImmediate)(THIS_ SQLOLE_LPCSTR Command, SQLOLE_EXEC_TYPE ExecType CPPDEFAULT(= SQLOLEExec_Default)) PURE;
  3850.     STDMETHOD(ExecuteWithResults)(THIS_ SQLOLE_LPCSTR Command, LPSQLOLEQUERYRESULTS *ppResults) PURE;
  3851.     STDMETHOD(Checkpoint)(THIS) PURE;
  3852.     STDMETHOD(CheckTables)(THIS_ SQLOLE_LPBSTR pResult) PURE;
  3853.     STDMETHOD(CheckAllocations)(THIS_ SQLOLE_LPBSTR pResult) PURE;
  3854.     STDMETHOD(CheckCatalog)(THIS_ SQLOLE_LPBSTR pResult) PURE;
  3855.     STDMETHOD(CheckTextAllocsFast)(THIS_ SQLOLE_LPBSTR pResult) PURE;
  3856.     STDMETHOD(CheckTextAllocsFull)(THIS_ SQLOLE_LPBSTR pResult) PURE;
  3857.     STDMETHOD(GetMemoryUsage)(THIS_ SQLOLE_LPBSTR pResult) PURE;
  3858.     STDMETHOD(EnumLocks)(THIS_ LPSQLOLEQUERYRESULTS *ppResults, long lWho CPPDEFAULT(= -1)) PURE;
  3859.     STDMETHOD(Remove)(THIS) PURE;
  3860.     STDMETHOD(ExtendOnDevices)(THIS_ SQLOLE_LPCSTR DeviceNames) PURE;
  3861.     STDMETHOD(Dump)(THIS_ LPSQLOLEBACKUP DumpSpec) PURE;
  3862.     STDMETHOD(Load)(THIS_ LPSQLOLEBACKUP LoadSpec) PURE;
  3863.     STDMETHOD(GenerateBackupSQL)(THIS_ LPSQLOLEBACKUP DumpSpec, SQLOLE_LPBSTR pSQLStatement) PURE;
  3864.     STDMETHOD(GetObjectByName)(THIS_ SQLOLE_LPCSTR szName, LPSQLOLEDBOBJECT *ppDBObject, SQLOLE_OBJECT_TYPE lType CPPDEFAULT(= SQLOLEObj_AllDatabaseObjects)) PURE;
  3865.     STDMETHOD(GetDatatypeByName)(THIS_ SQLOLE_LPCSTR szName, LPSQLOLESTDOBJECT *ppDBObject) PURE;
  3866.     STDMETHOD(ManualSyncCompleted)(THIS_ SQLOLE_LPCSTR szPubServerName, SQLOLE_LPCSTR szPubDatabaseName, SQLOLE_LPCSTR szPublicationName, SQLOLE_LPCSTR szArticleName CPPDEFAULT(= NULL)) PURE;
  3867.     STDMETHOD(EnumCandidateKeys)(THIS_ LPSQLOLEQUERYRESULTS * ppResults) PURE;
  3868.     STDMETHOD(IsValidKeyDatatype)(THIS_ SQLOLE_LPCSTR szKeyColType, LPBOOL pRetVal, SQLOLE_LPCSTR szReferencingColType CPPDEFAULT(= NULL)) PURE;
  3869.     STDMETHOD(Shrink)(THIS_ long lNewSizeInMB) PURE;
  3870.     STDMETHOD(RecalcSpaceUsage)(THIS) PURE;
  3871.     STDMETHOD(EnumDependencies)(THIS_ LPSQLOLEQUERYRESULTS *ppResults, SQLOLE_DEPENDENCY_TYPE DependencyType CPPDEFAULT(= SQLOLEDep_Parents)) PURE;
  3872.  
  3873.     //*** List methods
  3874.     STDMETHOD(ListObjectPermissions)(THIS_ LPSQLOLEPERMISSIONLIST * ppList, SQLOLE_PRIVILEGE_TYPE lPrivilegeTypes CPPDEFAULT(= SQLOLEPriv_AllObjectPrivs)) PURE;
  3875.     STDMETHOD(ListDatabasePermissions)(THIS_ LPSQLOLEPERMISSIONLIST * ppList, SQLOLE_PRIVILEGE_TYPE lPrivilegeTypes CPPDEFAULT(= SQLOLEPriv_AllDatabasePrivs)) PURE;
  3876.     STDMETHOD(ListDevices)(THIS_ LPSQLOLEDEVICELIST * ppList) PURE;
  3877.     STDMETHOD(ListObjects)(THIS_ LPSQLOLEDBOBJECTLIST * ppList, SQLOLE_OBJECT_TYPE lObjectTypes CPPDEFAULT(= SQLOLEObj_AllDatabaseObjects), SQLOLE_OBJSORT_TYPE SortBy CPPDEFAULT(= SQLOLEObjSort_Name)) PURE;
  3878.  
  3879.     // Post-6.0 additions
  3880.     STDMETHOD(Transfer)(THIS_ LPSQLOLETRANSFER TransferSpec) PURE;
  3881.     STDMETHOD(ScriptTransfer)(THIS_ LPSQLOLETRANSFER TransferSpec, SQLOLE_XFRSCRIPTMODE_TYPE ScriptFileMode CPPDEFAULT(= SQLOLEXfrFile_Default), SQLOLE_LPCSTR ScriptFilePath CPPDEFAULT(= NULL), SQLOLE_LPBSTR ScriptText CPPDEFAULT(= NULL)) PURE;
  3882.     STDMETHOD(CheckIdentityValues)(THIS) PURE;
  3883.     STDMETHOD(ExecuteWithResultsAndMessages)(THIS_ SQLOLE_LPCSTR Command, LPSQLOLEQUERYRESULTS *ppResults, SQLOLE_LPBSTR ppszMessages CPPDEFAULT(= 0)) PURE;
  3884.     STDMETHOD(Script)(THIS_ SQLOLE_SCRIPT_TYPE ScriptType CPPDEFAULT(= SQLOLEScript_Default), SQLOLE_LPCSTR ScriptFilePath CPPDEFAULT(= NULL), SQLOLE_LPBSTR ScriptText CPPDEFAULT(= NULL)) PURE;
  3885.     STDMETHOD(CheckTablesDataOnly)(THIS_ SQLOLE_LPBSTR pResult) PURE;
  3886.     STDMETHOD(CheckAllocationsDataOnly)(THIS_ SQLOLE_LPBSTR pResult) PURE;
  3887.     STDMETHOD(UpdateIndexStatistics)(THIS) PURE;
  3888.     STDMETHOD(EnumLoginMappings)(THIS_ LPSQLOLEQUERYRESULTS *ppResults) PURE;
  3889. };
  3890.  
  3891. #undef INTERFACE
  3892. #define INTERFACE ISQLOLEDevice
  3893. DECLARE_INTERFACE_(INTERFACE, ISQLOLEStdObject)
  3894. {
  3895.    //*** IUnknown methods
  3896.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  3897.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  3898.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  3899.  
  3900.     //*** SQLOLE standard object properties.
  3901.     STDMETHOD(GetApplication)(THIS_ LPSQLOLEAPPLICATION *ppApp) PURE;
  3902.     STDMETHOD(GetParent)(THIS_ LPSQLOLESTDOBJECT *ppParent) PURE;
  3903.     STDMETHOD(GetTypeOf)(THIS_ SQLOLE_OBJECT_TYPE *pRetVal) PURE;
  3904.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  3905.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  3906.  
  3907.     //*** properties
  3908.     STDMETHOD(GetName)(THIS_ SQLOLE_LPBSTR pbstrName) PURE;
  3909.     STDMETHOD(SetName)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  3910.     STDMETHOD(GetPhysicalLocation)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  3911.     STDMETHOD(SetPhysicalLocation)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  3912.     STDMETHOD(GetType)(THIS_ SQLOLE_DEVICE_TYPE *pRetVal) PURE;
  3913.     STDMETHOD(SetType)(THIS_ SQLOLE_DEVICE_TYPE NewValue) PURE;
  3914.     STDMETHOD(GetStatus)(THIS_ LPLONG pRetVal) PURE;
  3915.     STDMETHOD(GetFirstPage)(THIS_ LPLONG pRetVal) PURE;
  3916.     STDMETHOD(GetLastPage)(THIS_ LPLONG pRetVal) PURE;
  3917.     STDMETHOD(GetSize)(THIS_ LPLONG pRetVal) PURE;
  3918.     STDMETHOD(SetSize)(THIS_ long NewValue) PURE;
  3919.     STDMETHOD(GetSpaceAvailable)(THIS_ LPLONG pRetVal) PURE;
  3920.     STDMETHOD(GetDeviceNumber)(THIS_ LPLONG pRetVal) PURE;
  3921.     STDMETHOD(GetMirrorState)(THIS_ SQLOLE_MIRROR_TYPE *pRetVal) PURE;
  3922.     STDMETHOD(GetMirrorName)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  3923.     STDMETHOD(GetDefault)(THIS_ LPBOOL pRetVal) PURE;
  3924.     STDMETHOD(SetDefault)(THIS_ BOOL NewValue) PURE;
  3925.     STDMETHOD(GetSkipTapeLabel)(THIS_ LPBOOL pRetVal) PURE;
  3926.     STDMETHOD(SetSkipTapeLabel)(THIS_ BOOL NewValue) PURE;
  3927.     STDMETHOD(GetSystemObject)(THIS_ LPBOOL pRetVal) PURE;
  3928.  
  3929.     //*** methods
  3930.     STDMETHOD(Mirror)(THIS_ SQLOLE_LPCSTR MirrorPathName) PURE;
  3931.     STDMETHOD(ReMirror)(THIS) PURE;
  3932.     STDMETHOD(SwitchToMirrorDevice)(THIS) PURE;
  3933.     STDMETHOD(SwitchToMirrorTemp)(THIS) PURE;
  3934.     STDMETHOD(UnMirrorDevice)(THIS) PURE;
  3935.     STDMETHOD(UnMirrorTemp)(THIS) PURE;
  3936.     STDMETHOD(Remove)(THIS) PURE;
  3937.     STDMETHOD(ReadBackupHeader)(THIS_ LPSQLOLEQUERYRESULTS *ppResults) PURE;
  3938.  
  3939.     // List methods
  3940.     STDMETHOD(ListDatabases)(THIS_ LPSQLOLEDATABASELIST * ppList) PURE;
  3941.  
  3942.     // Post-6.0 Additions
  3943.     STDMETHOD(Script)(THIS_ SQLOLE_SCRIPT_TYPE ScriptType CPPDEFAULT(= SQLOLEScript_Default), SQLOLE_LPCSTR ScriptFilePath CPPDEFAULT(= NULL), SQLOLE_LPCSTR NewPhysicalLocation CPPDEFAULT(= NULL), SQLOLE_LPBSTR ScriptText CPPDEFAULT(= NULL)) PURE;
  3944. };
  3945.  
  3946. #undef INTERFACE
  3947. #define INTERFACE ISQLOLELogin
  3948. DECLARE_INTERFACE_(INTERFACE, ISQLOLEStdObject)
  3949. {
  3950.    //*** IUnknown methods
  3951.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  3952.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  3953.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  3954.  
  3955.     //*** SQLOLE standard object properties.
  3956.     STDMETHOD(GetApplication)(THIS_ LPSQLOLEAPPLICATION *ppApp) PURE;
  3957.     STDMETHOD(GetParent)(THIS_ LPSQLOLESTDOBJECT *ppParent) PURE;
  3958.     STDMETHOD(GetTypeOf)(THIS_ SQLOLE_OBJECT_TYPE *pRetVal) PURE;
  3959.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  3960.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  3961.  
  3962.     //*** properties
  3963.     STDMETHOD(GetName)(THIS_ SQLOLE_LPBSTR pbstrName) PURE;
  3964.     STDMETHOD(SetName)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  3965.     STDMETHOD(GetID)(THIS_ LPLONG plID) PURE;
  3966.     STDMETHOD(GetSystemObject)(THIS_ LPBOOL pRetVal) PURE;
  3967.     STDMETHOD(GetLanguage)(THIS_ SQLOLE_LPBSTR pbstrLanguage) PURE;
  3968.     STDMETHOD(SetLanguage)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  3969.     STDMETHOD(GetDatabase)(THIS_ SQLOLE_LPBSTR pbstrDatabase) PURE;
  3970.     STDMETHOD(SetDatabase)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  3971.     STDMETHOD(GetUserName)(THIS_ SQLOLE_LPCSTR DatabaseName, SQLOLE_LPBSTR pRetVal) PURE;
  3972.     STDMETHOD(GetAliasName)(THIS_ SQLOLE_LPCSTR DatabaseName, SQLOLE_LPBSTR pRetVal) PURE;
  3973.  
  3974.    //*** methods
  3975.     STDMETHOD(ListTasks)(THIS_ LPSQLOLETASKLIST * ppList) PURE;
  3976.     STDMETHOD(Remove)(THIS) PURE;
  3977.     STDMETHOD(Script)(THIS_ SQLOLE_SCRIPT_TYPE ScriptType CPPDEFAULT(= SQLOLEScript_Default), SQLOLE_LPCSTR ScriptFilePath CPPDEFAULT(= NULL), SQLOLE_LPBSTR ScriptText CPPDEFAULT(= NULL)) PURE;
  3978.     STDMETHOD(SetPassword)(THIS_ SQLOLE_LPCSTR OldValue, SQLOLE_LPCSTR NewValue) PURE;
  3979.  
  3980.     // Post-6.0 additions
  3981.     STDMETHOD(EnumDatabaseMappings)(THIS_ LPSQLOLEQUERYRESULTS *ppResults) PURE;
  3982. };
  3983.  
  3984. #undef INTERFACE
  3985. #define INTERFACE ISQLOLELanguage
  3986. DECLARE_INTERFACE_(INTERFACE, ISQLOLEStdObject)
  3987. {
  3988.    //*** IUnknown methods
  3989.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  3990.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  3991.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  3992.  
  3993.     //*** SQLOLE standard object properties.
  3994.     STDMETHOD(GetApplication)(THIS_ LPSQLOLEAPPLICATION *ppApp) PURE;
  3995.     STDMETHOD(GetParent)(THIS_ LPSQLOLESTDOBJECT *ppParent) PURE;
  3996.     STDMETHOD(GetTypeOf)(THIS_ SQLOLE_OBJECT_TYPE *pRetVal) PURE;
  3997.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  3998.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  3999.  
  4000.     //*** properties
  4001.     STDMETHOD(GetName)(THIS_ SQLOLE_LPBSTR pbstrName) PURE;
  4002.     STDMETHOD(SetName)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  4003.     STDMETHOD(GetID)(THIS_ LPLONG plID) PURE;
  4004.     STDMETHOD(GetUpgrade)(THIS_ LPLONG pRetVal) PURE;
  4005.     STDMETHOD(GetAlias)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  4006.     STDMETHOD(SetAlias)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  4007.     STDMETHOD(GetMonths)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  4008.     STDMETHOD(SetMonths)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  4009.     STDMETHOD(GetShortMonths)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  4010.     STDMETHOD(SetShortMonths)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  4011.     STDMETHOD(GetDays)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  4012.     STDMETHOD(SetDays)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  4013.     STDMETHOD(GetDateFormat)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  4014.     STDMETHOD(SetDateFormat)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  4015.     STDMETHOD(GetFirstDayOfWeek)(THIS_ LPINT pRetVal) PURE;
  4016.     STDMETHOD(SetFirstDayOfWeek)(THIS_ int NewValue) PURE;
  4017.     STDMETHOD(GetMonth)(THIS_ int iMonth, SQLOLE_LPBSTR pRetVal) PURE;
  4018.     STDMETHOD(GetShortMonth)(THIS_ int iMonth, SQLOLE_LPBSTR pRetVal) PURE;
  4019.     STDMETHOD(GetDay)(THIS_ int iDay, SQLOLE_LPBSTR pRetVal) PURE;
  4020.  
  4021.    //*** methods
  4022.     STDMETHOD(Remove)(THIS) PURE;
  4023. };
  4024.  
  4025. #undef INTERFACE
  4026. #define INTERFACE ISQLOLEConfiguration
  4027. DECLARE_INTERFACE_(INTERFACE, ISQLOLEStdObject)
  4028. {
  4029.    //*** IUnknown methods
  4030.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  4031.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  4032.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  4033.  
  4034.     //*** SQLOLE standard object properties.
  4035.     STDMETHOD(GetApplication)(THIS_ LPSQLOLEAPPLICATION *ppApp) PURE;
  4036.     STDMETHOD(GetParent)(THIS_ LPSQLOLESTDOBJECT *ppParent) PURE;
  4037.     STDMETHOD(GetTypeOf)(THIS_ SQLOLE_OBJECT_TYPE *pRetVal) PURE;
  4038.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  4039.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  4040.  
  4041.     //*** properties
  4042.     STDMETHOD(GetShowAdvancedOptions)(THIS_ LPBOOL pRetVal) PURE;
  4043.     STDMETHOD(SetShowAdvancedOptions)(THIS_ BOOL NewValue) PURE;
  4044.     
  4045.     //*** collection properties
  4046.     STDMETHOD(GetConfigValues)(THIS_ LPSQLOLECONFIGVALUES * ppRemoteLogins) PURE;
  4047.     STDMETHOD(GetConfigValueByName)(THIS_ SQLOLE_LPCSTR szName, LPSQLOLECONFIGVALUE *ppRemoteLogin) PURE;
  4048.     STDMETHOD(GetConfigValueByOrd)(THIS_ long lOrdinal, LPSQLOLECONFIGVALUE *ppRemoteLogin) PURE;
  4049.     STDMETHOD(GetConfigValueCount)(THIS_ LPLONG plCount) PURE;
  4050.  
  4051.     STDMETHOD(GetParameters)(THIS_ LPSQLOLENAMES *ppParameters) PURE;
  4052.  
  4053.     //*** methods
  4054.     STDMETHOD(ReconfigureCurrentValues)(THIS) PURE;
  4055.     STDMETHOD(ReconfigureWithOverride)(THIS) PURE;
  4056. };
  4057.  
  4058. #undef INTERFACE
  4059. #define INTERFACE ISQLOLEConfigValues
  4060. DECLARE_INTERFACE_(INTERFACE, ISQLOLEStdObject)
  4061. {
  4062.    //*** IUnknown methods
  4063.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  4064.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  4065.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  4066.  
  4067.     //*** SQLOLE standard object properties.
  4068.     STDMETHOD(GetApplication)(THIS_ LPSQLOLEAPPLICATION *ppApp) PURE;
  4069.     STDMETHOD(GetParent)(THIS_ LPSQLOLESTDOBJECT *ppParent) PURE;
  4070.     STDMETHOD(GetTypeOf)(THIS_ SQLOLE_OBJECT_TYPE *pRetVal) PURE;
  4071.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  4072.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  4073.  
  4074.     //*** SQLOLE standard enumeration properties
  4075.     STDMETHOD(GetItemByOrd)(THIS_ long lOrdinal, LPSQLOLECONFIGVALUE *ppObj) PURE;
  4076.     STDMETHOD(GetItemByName)(THIS_ SQLOLE_LPCSTR szName, LPSQLOLECONFIGVALUE *ppObj) PURE;
  4077.     STDMETHOD(GetItemByID)(THIS_ long lID, LPSQLOLECONFIGVALUE *ppObj) PURE;
  4078.     STDMETHOD(GetCount)(THIS_ LPLONG plCount) PURE;
  4079.     STDMETHOD(Refresh)(THIS) PURE;
  4080. };
  4081.  
  4082. #undef INTERFACE
  4083. #define INTERFACE ISQLOLEConfigValue
  4084. DECLARE_INTERFACE_(INTERFACE, ISQLOLEStdObject)
  4085. {
  4086.    //*** IUnknown methods
  4087.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  4088.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  4089.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  4090.  
  4091.     //*** SQLOLE standard object properties.
  4092.     STDMETHOD(GetApplication)(THIS_ LPSQLOLEAPPLICATION *ppApp) PURE;
  4093.     STDMETHOD(GetParent)(THIS_ LPSQLOLESTDOBJECT *ppParent) PURE;
  4094.     STDMETHOD(GetTypeOf)(THIS_ SQLOLE_OBJECT_TYPE *pRetVal) PURE;
  4095.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  4096.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  4097.  
  4098.     //*** properties
  4099.     STDMETHOD(GetName)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  4100.     STDMETHOD(GetMinimumValue)(THIS_ LPLONG pRetVal) PURE;
  4101.     STDMETHOD(GetMaximumValue)(THIS_ LPLONG pRetVal) PURE;
  4102.     STDMETHOD(GetDynamicReconfigure)(THIS_ LPBOOL pRetVal) PURE;
  4103.     STDMETHOD(GetCurrentValue)(THIS_ LPLONG pRetVal) PURE;
  4104.     STDMETHOD(SetCurrentValue)(THIS_ long NewValue) PURE;
  4105.     STDMETHOD(GetRunningValue)(THIS_ LPLONG pRetVal) PURE;
  4106.     STDMETHOD(GetDescription)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  4107.     STDMETHOD(GetID)(THIS_ SQLOLE_CONFIGVALUE_TYPE *pRetVal) PURE;
  4108. };
  4109.  
  4110. #undef INTERFACE
  4111. #define INTERFACE ISQLOLEIntegratedSecurity
  4112. DECLARE_INTERFACE_(INTERFACE, ISQLOLEStdObject)
  4113. {
  4114.    //*** IUnknown methods
  4115.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  4116.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  4117.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  4118.  
  4119.     //*** SQLOLE standard object properties.
  4120.     STDMETHOD(GetApplication)(THIS_ LPSQLOLEAPPLICATION *ppApp) PURE;
  4121.     STDMETHOD(GetParent)(THIS_ LPSQLOLESTDOBJECT *ppParent) PURE;
  4122.     STDMETHOD(GetTypeOf)(THIS_ SQLOLE_OBJECT_TYPE *pRetVal) PURE;
  4123.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  4124.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  4125.  
  4126.     //*** properties
  4127.     STDMETHOD(GetMapUnderscore)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  4128.     STDMETHOD(SetMapUnderscore)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  4129.     STDMETHOD(GetMapDollarSign)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  4130.     STDMETHOD(SetMapDollarSign)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  4131.     STDMETHOD(GetMapPoundSign)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  4132.     STDMETHOD(SetMapPoundSign)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  4133.     STDMETHOD(GetSecurityMode)(THIS_ SQLOLE_SECURITY_TYPE * pRetVal) PURE;
  4134.     STDMETHOD(SetSecurityMode)(THIS_ SQLOLE_SECURITY_TYPE NewValue) PURE;
  4135.     STDMETHOD(GetDefaultLogin)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  4136.     STDMETHOD(SetDefaultLogin)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  4137.     STDMETHOD(GetDefaultDomain)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  4138.     STDMETHOD(SetDefaultDomain)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  4139.     STDMETHOD(GetAuditLevel)(THIS_ SQLOLE_AUDIT_TYPE * pRetVal) PURE;
  4140.     STDMETHOD(SetAuditLevel)(THIS_ SQLOLE_AUDIT_TYPE NewValue) PURE;
  4141.     STDMETHOD(GetSetHostName)(THIS_ LPBOOL pRetVal) PURE;
  4142.     STDMETHOD(SetSetHostName)(THIS_ BOOL NewValue) PURE;
  4143.     STDMETHOD(GetImpersonateClient)(THIS_ LPBOOL pRetVal) PURE;
  4144.     STDMETHOD(SetImpersonateClient)(THIS_ BOOL NewValue) PURE;
  4145.  
  4146.    //*** methods
  4147.     STDMETHOD(Refresh)(THIS) PURE;
  4148.     STDMETHOD(GrantNTLogin)(THIS_ SQLOLE_LPCSTR Account, SQLOLE_INTSECLOGIN_TYPE LoginType CPPDEFAULT(= SQLOLEIntSecLogin_User)) PURE;
  4149.     STDMETHOD(RevokeNTLogin)(THIS_ SQLOLE_LPCSTR Account) PURE;
  4150.     STDMETHOD(EnumAccountInfo)(THIS_ LPSQLOLEQUERYRESULTS *ppResults, SQLOLE_LPCSTR Account CPPDEFAULT(= NULL), BOOL ListAll CPPDEFAULT(= FALSE)) PURE;
  4151.     STDMETHOD(EnumNTDomainGroups)(THIS_ LPSQLOLEQUERYRESULTS *ppResults, SQLOLE_LPCSTR Domain CPPDEFAULT(= NULL)) PURE;
  4152. };
  4153.  
  4154. #undef INTERFACE
  4155. #define INTERFACE ISQLOLERemoteServer
  4156. DECLARE_INTERFACE_(INTERFACE, ISQLOLEStdObject)
  4157. {
  4158.    //*** IUnknown methods
  4159.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  4160.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  4161.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  4162.  
  4163.     //*** SQLOLE standard object properties.
  4164.     STDMETHOD(GetApplication)(THIS_ LPSQLOLEAPPLICATION *ppApp) PURE;
  4165.     STDMETHOD(GetParent)(THIS_ LPSQLOLESTDOBJECT *ppParent) PURE;
  4166.     STDMETHOD(GetTypeOf)(THIS_ SQLOLE_OBJECT_TYPE *pRetVal) PURE;
  4167.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  4168.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  4169.  
  4170.     //*** properties
  4171.     STDMETHOD(GetName)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  4172.     STDMETHOD(SetName)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  4173.     STDMETHOD(GetID)(THIS_ LPLONG pRetVal) PURE;
  4174.     STDMETHOD(GetNetName)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  4175.     STDMETHOD(SetNetName)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  4176.     STDMETHOD(GetOptions)(THIS_ SQLOLE_SRVOPTION_TYPE *pRetVal) PURE;
  4177.     STDMETHOD(GetTopologyX)(THIS_ LPLONG pRetVal) PURE;
  4178.     STDMETHOD(GetTopologyY)(THIS_ LPLONG pRetVal) PURE;
  4179.  
  4180.     //*** object properties
  4181.     STDMETHOD(GetSubscriberInfo)(THIS_ LPSQLOLESUBSCRIBERINFO * ppSubscriberInfo) PURE;
  4182.  
  4183.     //*** collection properties
  4184.     STDMETHOD(GetRemoteLogins)(THIS_ LPSQLOLEREMOTELOGINS * ppRemoteLogins) PURE;
  4185.     STDMETHOD(GetRemoteLoginByName)(THIS_ SQLOLE_LPCSTR szName, LPSQLOLEREMOTELOGIN *ppRemoteLogin) PURE;
  4186.     STDMETHOD(GetRemoteLoginByOrd)(THIS_ long lOrdinal, LPSQLOLEREMOTELOGIN *ppRemoteLogin) PURE;
  4187.     STDMETHOD(RemoveRemoteLoginByName)(THIS_ SQLOLE_LPCSTR szName) PURE;
  4188.     STDMETHOD(RemoveRemoteLoginByOrd)(THIS_ long lOrdinal) PURE;
  4189.     STDMETHOD(AddRemoteLogin)(THIS_ LPSQLOLEREMOTELOGIN pRemoteLogin) PURE;
  4190.     STDMETHOD(GetRemoteLoginCount)(THIS_ LPLONG plCount) PURE;
  4191.  
  4192.     //*** methods
  4193.     STDMETHOD(Remove)(THIS) PURE;
  4194.     STDMETHOD(EnumPublicationDatabases)(THIS_ LPSQLOLEQUERYRESULTS *ppResults) PURE;
  4195.     STDMETHOD(EnumSubscriptionDatabases)(THIS_ LPSQLOLEQUERYRESULTS *ppResults) PURE;
  4196.     STDMETHOD(EnumPublications)(THIS_ SQLOLE_LPCSTR DatabaseName, LPSQLOLEQUERYRESULTS *ppResults) PURE;
  4197.     STDMETHOD(EnumArticles)(THIS_ SQLOLE_LPCSTR DatabaseName, SQLOLE_LPCSTR PublicationName, LPSQLOLEQUERYRESULTS *ppResults) PURE;
  4198.     STDMETHOD(EnumSubscriptions)(THIS_ SQLOLE_LPCSTR DatabaseName, SQLOLE_LPCSTR PublicationName, SQLOLE_LPCSTR ArticleName, LPSQLOLEQUERYRESULTS *ppResults) PURE;
  4199.     STDMETHOD(ExecuteImmediate)(THIS_ SQLOLE_LPCSTR Command) PURE;
  4200.     STDMETHOD(ExecuteWithResults)(THIS_ SQLOLE_LPCSTR Command, LPSQLOLEQUERYRESULTS *ppResults) PURE;
  4201.     STDMETHOD(Subscribe)(THIS_ SQLOLE_LPCSTR DatabaseName, SQLOLE_LPCSTR PublicationName, SQLOLE_LPCSTR ArticleName CPPDEFAULT(= NULL), 
  4202.             SQLOLE_LPCSTR SubscribingDB CPPDEFAULT(= NULL), SQLOLE_SUBSYNC_TYPE SyncType CPPDEFAULT(= SQLOLESubSync_Auto)) PURE;
  4203.     STDMETHOD(UnSubscribe)(THIS_ SQLOLE_LPCSTR DatabaseName, SQLOLE_LPCSTR PublicationName CPPDEFAULT(= NULL), SQLOLE_LPCSTR ArticleName CPPDEFAULT(= NULL)) PURE;
  4204.     STDMETHOD(SetOptions)(THIS_ SQLOLE_SRVOPTION_TYPE Options, BOOL NewValue) PURE;
  4205.     STDMETHOD(EnumTasks)(THIS_ LPSQLOLEQUERYRESULTS *ppResults, SQLOLE_LPCSTR TaskName CPPDEFAULT(= NULL), long TaskID CPPDEFAULT(= 0)) PURE;
  4206.     STDMETHOD(SetTopologyXY)(THIS_ long X, long Y) PURE;
  4207.     STDMETHOD(EnumPublicationSyncTask)(THIS_ SQLOLE_LPCSTR DatabaseName, SQLOLE_LPCSTR PublicationName, LPSQLOLEQUERYRESULTS *ppResults) PURE;
  4208.  
  4209.     // Post-6.0 additions
  4210.     STDMETHOD(ExecuteWithResultsAndMessages)(THIS_ SQLOLE_LPCSTR Command, LPSQLOLEQUERYRESULTS *ppResults, SQLOLE_LPBSTR ppszMessages CPPDEFAULT(= 0)) PURE;
  4211. };
  4212.  
  4213. #undef INTERFACE
  4214. #define INTERFACE ISQLOLERemoteLogin
  4215. DECLARE_INTERFACE_(INTERFACE, ISQLOLEStdObject)
  4216. {
  4217.    //*** IUnknown methods
  4218.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  4219.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  4220.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  4221.  
  4222.     //*** SQLOLE standard object properties.
  4223.     STDMETHOD(GetApplication)(THIS_ LPSQLOLEAPPLICATION *ppApp) PURE;
  4224.     STDMETHOD(GetParent)(THIS_ LPSQLOLESTDOBJECT *ppParent) PURE;
  4225.     STDMETHOD(GetTypeOf)(THIS_ SQLOLE_OBJECT_TYPE *pRetVal) PURE;
  4226.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  4227.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  4228.  
  4229.     //*** properties
  4230.     STDMETHOD(GetLocalName)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  4231.     STDMETHOD(SetLocalName)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  4232.     STDMETHOD(GetRemoteName)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  4233.     STDMETHOD(SetRemoteName)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  4234.     STDMETHOD(GetTrusted)(THIS_ LPBOOL pRetVal) PURE;
  4235.     STDMETHOD(SetTrusted)(THIS_ BOOL NewValue) PURE;
  4236.  
  4237.     //*** methods
  4238.     STDMETHOD(Remove)(THIS) PURE;
  4239. };
  4240.  
  4241. #undef INTERFACE
  4242. #define INTERFACE ISQLOLEQueryResults
  4243. DECLARE_INTERFACE_(INTERFACE, ISQLOLEStdObject)
  4244. {
  4245.    //*** IUnknown methods
  4246.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  4247.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  4248.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  4249.  
  4250.     //*** SQLOLE standard object properties.
  4251.     STDMETHOD(GetApplication)(THIS_ LPSQLOLEAPPLICATION *ppApp) PURE;
  4252.     STDMETHOD(GetParent)(THIS_ LPSQLOLESTDOBJECT *ppParent) PURE;
  4253.     STDMETHOD(GetTypeOf)(THIS_ SQLOLE_OBJECT_TYPE *pRetVal) PURE;
  4254.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  4255.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  4256.  
  4257.     //*** properties
  4258.     STDMETHOD(GetResultSets)(THIS_ LPLONG pRetVal) PURE;
  4259.     STDMETHOD(GetCurrentResultSet)(THIS_ LPLONG pRetVal) PURE;
  4260.     STDMETHOD(SetCurrentResultSet)(THIS_ long NewValue) PURE;
  4261.     STDMETHOD(GetRows)(THIS_ LPLONG pRetVal) PURE;
  4262.     STDMETHOD(GetColumns)(THIS_ LPLONG pRetVal) PURE;
  4263.     STDMETHOD(GetColumnName)(THIS_ long lColumn, SQLOLE_LPBSTR pRetVal) PURE;
  4264.     STDMETHOD(GetColumnType)(THIS_ long lColumn, SQLOLE_QUERY_DATATYPE *pRetVal) PURE;
  4265.     STDMETHOD(GetColumnMaxLength)(THIS_ long lColumn, LPLONG pRetVal) PURE;
  4266.  
  4267.     //*** methods
  4268.     STDMETHOD(GetColumnLong)(THIS_ long lRow, long lColumn, LPLONG pRetVal) PURE;
  4269.     STDMETHOD(GetColumnBool)(THIS_ long lRow, long lColumn, LPBOOL pRetVal) PURE;
  4270.     STDMETHOD(GetColumnFloat)(THIS_ long lRow, long lColumn, LPFLOAT pRetVal) PURE;
  4271.     STDMETHOD(GetColumnDouble)(THIS_ long lRow, long lColumn, LPDOUBLE pRetVal) PURE;
  4272.     STDMETHOD(GetColumnString)(THIS_ long lRow, long lColumn, SQLOLE_LPBSTR pRetVal) PURE;
  4273.     STDMETHOD(GetRangeString)(THIS_ SQLOLE_LPBSTR pRetVal, long Top CPPDEFAULT(= 0), long Left CPPDEFAULT(= 1),
  4274.                                     long Bottom CPPDEFAULT(= -1), long Right CPPDEFAULT(= -1),
  4275.                                     SQLOLE_LPCSTR RowDelim CPPDEFAULT(= NULL), SQLOLE_LPCSTR ColDelim CPPDEFAULT(= NULL),
  4276.                                     SQLOLE_LPCSTR ColWidths CPPDEFAULT(= NULL)) PURE;
  4277.     STDMETHOD(Refresh)(THIS) PURE;
  4278.  
  4279.     // Post-6.0 additions
  4280.     STDMETHOD(GetColumnDate)(THIS_ long lRow, long lColumn, LPSYSTEMTIME pSystemTime) PURE;
  4281.     STDMETHOD(GetColumnBinary)(THIS_ long lRow, long lColumn, LPVOID *pvData) PURE;
  4282. };
  4283.  
  4284. #undef INTERFACE
  4285. #define INTERFACE ISQLOLETransactionLog
  4286. DECLARE_INTERFACE_(INTERFACE, ISQLOLEStdObject)
  4287. {
  4288.    //*** IUnknown methods
  4289.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  4290.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  4291.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  4292.  
  4293.     //*** SQLOLE standard object properties.
  4294.     STDMETHOD(GetApplication)(THIS_ LPSQLOLEAPPLICATION *ppApp) PURE;
  4295.     STDMETHOD(GetParent)(THIS_ LPSQLOLESTDOBJECT *ppParent) PURE;
  4296.     STDMETHOD(GetTypeOf)(THIS_ SQLOLE_OBJECT_TYPE *pRetVal) PURE;
  4297.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  4298.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  4299.  
  4300.     //*** properties
  4301.     STDMETHOD(GetCreateDate)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  4302.     STDMETHOD(GetLastDump)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  4303.     STDMETHOD(GetSize)(THIS_ LPLONG pRetVal) PURE;
  4304.     STDMETHOD(GetSpaceAvailable)(THIS_ LPLONG pRetVal) PURE;
  4305.     STDMETHOD(GetSpaceAvailableInMB)(THIS_ LPFLOAT pRetVal) PURE;
  4306.     STDMETHOD(GetSpaceAllocatedOnDevice)(THIS_ SQLOLE_LPCSTR DeviceName, LPLONG pRetVal) PURE;
  4307.     STDMETHOD(IsLogOnSeparateDevice)(THIS_ LPBOOL pRetVal) PURE;
  4308.  
  4309.     //*** methods
  4310.     STDMETHOD(DedicateLogDevices)(THIS_ SQLOLE_LPCSTR DeviceNames) PURE;
  4311.     STDMETHOD(UndedicateLogDevices)(THIS_ SQLOLE_LPCSTR DeviceNames) PURE;
  4312.     STDMETHOD(Dump)(THIS_ LPSQLOLEBACKUP DumpSpec) PURE;
  4313.     STDMETHOD(Load)(THIS_ LPSQLOLEBACKUP LoadSpec) PURE;
  4314.     STDMETHOD(GenerateBackupSQL)(THIS_ LPSQLOLEBACKUP DumpSpec, SQLOLE_LPBSTR pSQLStatement) PURE;
  4315.     STDMETHOD(Truncate)(THIS) PURE;
  4316.  
  4317.     // List methods.
  4318.     STDMETHOD(ListDevices)(THIS_ LPSQLOLEDEVICELIST * ppList) PURE;
  4319. };
  4320.  
  4321. #undef INTERFACE
  4322. #define INTERFACE ISQLOLETable
  4323. DECLARE_INTERFACE_(INTERFACE, ISQLOLEStdObject)
  4324. {
  4325.    //*** IUnknown methods
  4326.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  4327.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  4328.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  4329.  
  4330.     //*** SQLOLE standard object properties.
  4331.     STDMETHOD(GetApplication)(THIS_ LPSQLOLEAPPLICATION *ppApp) PURE;
  4332.     STDMETHOD(GetParent)(THIS_ LPSQLOLESTDOBJECT *ppParent) PURE;
  4333.     STDMETHOD(GetTypeOf)(THIS_ SQLOLE_OBJECT_TYPE *pRetVal) PURE;
  4334.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  4335.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  4336.  
  4337.     //*** properties
  4338.     STDMETHOD(GetName)(THIS_ SQLOLE_LPBSTR pbstrName) PURE;
  4339.     STDMETHOD(SetName)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  4340.     STDMETHOD(GetID)(THIS_ LPLONG plID) PURE;
  4341.     STDMETHOD(GetOwner)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  4342.     STDMETHOD(GetCreateDate)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  4343.     STDMETHOD(GetSystemObject)(THIS_ LPBOOL pRetVal) PURE;
  4344.     STDMETHOD(GetRows)(THIS_ LPLONG pRetVal) PURE;
  4345.     STDMETHOD(GetDataSpaceUsed)(THIS_ LPLONG pRetVal) PURE;
  4346.     STDMETHOD(GetIndexSpaceUsed)(THIS_ LPLONG pRetVal) PURE;
  4347.     STDMETHOD(GetAttributes)(THIS_ SQLOLE_TABLEATT_TYPE *pRetVal) PURE;
  4348.     STDMETHOD(GetPrimaryKey)(THIS_ LPSQLOLEKEY *ppPrimaryKey) PURE;
  4349.     STDMETHOD(GetClusteredIndex)(THIS_ LPSQLOLEINDEX *ppPrimaryKey) PURE;
  4350.  
  4351.     // Collection properties
  4352.     STDMETHOD(GetColumns)(THIS_ LPSQLOLECOLUMNS *ppColumns) PURE;
  4353.     STDMETHOD(GetColumnByName)(THIS_ SQLOLE_LPCSTR szName, LPSQLOLECOLUMN *ppColumn) PURE;
  4354.     STDMETHOD(GetColumnByOrd)(THIS_ long lOrdinal, LPSQLOLECOLUMN *ppColumn) PURE;
  4355.     STDMETHOD(RemoveColumnByName)(THIS_ SQLOLE_LPCSTR szName) PURE;
  4356.     STDMETHOD(RemoveColumnByOrd)(THIS_ long lOrdinal) PURE;
  4357.     STDMETHOD(AddColumn)(THIS_ LPSQLOLECOLUMN pColumn) PURE;
  4358.     STDMETHOD(GetColumnCount)(THIS_ LPLONG plCount) PURE;
  4359.  
  4360.     STDMETHOD(GetKeys)(THIS_ LPSQLOLEKEYS *ppKeys) PURE;
  4361.     STDMETHOD(GetKeyByName)(THIS_ SQLOLE_LPCSTR szName, LPSQLOLEKEY *ppKey) PURE;
  4362.     STDMETHOD(GetKeyByOrd)(THIS_ long lOrdinal, LPSQLOLEKEY *ppKey) PURE;
  4363.     STDMETHOD(RemoveKeyByName)(THIS_ SQLOLE_LPCSTR szName) PURE;
  4364.     STDMETHOD(RemoveKeyByOrd)(THIS_ long lOrdinal) PURE;
  4365.     STDMETHOD(AddKey)(THIS_ LPSQLOLEKEY pKey) PURE;
  4366.     STDMETHOD(GetKeyCount)(THIS_ LPLONG plCount) PURE;
  4367.  
  4368.     STDMETHOD(GetChecks)(THIS_ LPSQLOLECHECKS *ppChecks) PURE;
  4369.     STDMETHOD(GetCheckByName)(THIS_ SQLOLE_LPCSTR szName, LPSQLOLECHECK *ppCheck) PURE;
  4370.     STDMETHOD(GetCheckByOrd)(THIS_ long lOrdinal, LPSQLOLECHECK *ppCheck) PURE;
  4371.     STDMETHOD(RemoveCheckByName)(THIS_ SQLOLE_LPCSTR szName) PURE;
  4372.     STDMETHOD(RemoveCheckByOrd)(THIS_ long lOrdinal) PURE;
  4373.     STDMETHOD(AddCheck)(THIS_ LPSQLOLECHECK pCheck) PURE;
  4374.     STDMETHOD(GetCheckCount)(THIS_ LPLONG plCount) PURE;
  4375.  
  4376.     STDMETHOD(GetIndexes)(THIS_ LPSQLOLEINDEXES *ppIndexes) PURE;
  4377.     STDMETHOD(GetIndexByName)(THIS_ SQLOLE_LPCSTR szName, LPSQLOLEINDEX *ppIndex) PURE;
  4378.     STDMETHOD(GetIndexByOrd)(THIS_ long lOrdinal, LPSQLOLEINDEX *ppIndex) PURE;
  4379.     STDMETHOD(RemoveIndexByName)(THIS_ SQLOLE_LPCSTR szName) PURE;
  4380.     STDMETHOD(RemoveIndexByOrd)(THIS_ long lOrdinal) PURE;
  4381.     STDMETHOD(AddIndex)(THIS_ LPSQLOLEINDEX pIndex) PURE;
  4382.     STDMETHOD(GetIndexCount)(THIS_ LPLONG plCount) PURE;
  4383.  
  4384.     STDMETHOD(GetTriggers)(THIS_ LPSQLOLETRIGGERS *ppTriggers) PURE;
  4385.     STDMETHOD(GetTriggerByName)(THIS_ SQLOLE_LPCSTR szName, LPSQLOLETRIGGER *ppTrigger) PURE;
  4386.     STDMETHOD(GetTriggerByOrd)(THIS_ long lOrdinal, LPSQLOLETRIGGER *ppTrigger) PURE;
  4387.     STDMETHOD(RemoveTriggerByName)(THIS_ SQLOLE_LPCSTR szName) PURE;
  4388.     STDMETHOD(RemoveTriggerByOrd)(THIS_ long lOrdinal) PURE;
  4389.     STDMETHOD(AddTrigger)(THIS_ LPSQLOLETRIGGER pTrigger) PURE;
  4390.     STDMETHOD(GetTriggerCount)(THIS_ LPLONG plCount) PURE;
  4391.  
  4392.     //*** methods
  4393.     STDMETHOD(BeginAlter)(THIS) PURE;
  4394.     STDMETHOD(DoAlter)(THIS) PURE;
  4395.     STDMETHOD(DoAlterWithNoCheck)(THIS) PURE;
  4396.     STDMETHOD(CancelAlter)(THIS) PURE;
  4397.     STDMETHOD(Grant)(THIS_ SQLOLE_PRIVILEGE_TYPE iPrivileges, SQLOLE_LPCSTR GranteeNames, SQLOLE_LPCSTR ColumnNames CPPDEFAULT(= NULL)) PURE;
  4398.     STDMETHOD(Revoke)(THIS_ SQLOLE_PRIVILEGE_TYPE iPrivileges, SQLOLE_LPCSTR RevokeeNames, SQLOLE_LPCSTR ColumnNames CPPDEFAULT(= NULL)) PURE;
  4399.     STDMETHOD(CheckTable)(THIS_ SQLOLE_LPBSTR pResult) PURE;
  4400.     STDMETHOD(CheckTextAllocsFast)(THIS_ SQLOLE_LPBSTR pResult) PURE;
  4401.     STDMETHOD(CheckTextAllocsFull)(THIS_ SQLOLE_LPBSTR pResult) PURE;
  4402.     STDMETHOD(TruncateData)(THIS) PURE;
  4403.     STDMETHOD(UpdateStatistics)(THIS) PURE;
  4404.     STDMETHOD(ReCompileReferences)(THIS) PURE;
  4405.     STDMETHOD(Remove)(THIS) PURE;
  4406.     STDMETHOD(Refresh)(THIS) PURE;
  4407.     STDMETHOD(Script)(THIS_ SQLOLE_SCRIPT_TYPE ScriptType CPPDEFAULT(= SQLOLEScript_Default), SQLOLE_LPCSTR ScriptFilePath CPPDEFAULT(= NULL), SQLOLE_LPCSTR NewName CPPDEFAULT(= NULL), SQLOLE_LPBSTR ScriptText CPPDEFAULT(= NULL)) PURE;
  4408.     STDMETHOD(EnumReferencedKeys)(THIS_ LPSQLOLEQUERYRESULTS * ppResults, SQLOLE_LPCSTR ReferencedTableName CPPDEFAULT(= NULL), BOOL IncludeAllCandidates CPPDEFAULT(= NULL)) PURE;
  4409.     STDMETHOD(EnumReferencedTables)(THIS_ LPSQLOLEQUERYRESULTS * ppResults, BOOL IncludeAllCandidates CPPDEFAULT(= NULL)) PURE;
  4410.     STDMETHOD(EnumReferencingKeys)(THIS_ LPSQLOLEQUERYRESULTS * ppResults, SQLOLE_LPCSTR ReferencingTableName CPPDEFAULT(= NULL), BOOL IncludeAllCandidates CPPDEFAULT(= NULL)) PURE;
  4411.     STDMETHOD(EnumReferencingTables)(THIS_ LPSQLOLEQUERYRESULTS * ppResults, BOOL IncludeAllCandidates CPPDEFAULT(= NULL)) PURE;
  4412.     STDMETHOD(InsertColumn)(THIS_ LPSQLOLECOLUMN pNewColumn, SQLOLE_LPCSTR BeforeColumnName) PURE;
  4413.     STDMETHOD(RecalcSpaceUsage)(THIS) PURE;
  4414.     STDMETHOD(EnumDependencies)(THIS_ LPSQLOLEQUERYRESULTS *ppResults, SQLOLE_DEPENDENCY_TYPE DependencyType CPPDEFAULT(= SQLOLEDep_Parents)) PURE;
  4415.     STDMETHOD(EnumLastStatisticsUpdates)(THIS_ LPSQLOLEQUERYRESULTS * ppResults, SQLOLE_LPCSTR IndexName CPPDEFAULT(= NULL)) PURE;
  4416.  
  4417.     // List methods
  4418.     STDMETHOD(ListPermissions)(THIS_ LPSQLOLEPERMISSIONLIST * ppList, SQLOLE_PRIVILEGE_TYPE lPrivilegeTypes CPPDEFAULT(= SQLOLEPriv_AllObjectPrivs)) PURE;
  4419.     STDMETHOD(ListUserPermissions)(THIS_ SQLOLE_LPCSTR UserName, LPSQLOLEPERMISSIONLIST * ppList) PURE;
  4420.     STDMETHOD(ListArticles)(THIS_ LPSQLOLEARTICLELIST * ppList) PURE;
  4421.  
  4422.     // Post-6.0 additions.
  4423.     STDMETHOD(CheckIdentityValue)(THIS) PURE;
  4424.     STDMETHOD(RebuildIndexes)(THIS_ SQLOLE_INDEX_TYPE SortedDataType CPPDEFAULT(= SQLOLEIndex_Default), long lFillFactor CPPDEFAULT(= SQLOLE_USEEXISTINGFILLFACTOR)) PURE;
  4425.     STDMETHOD(ImportData)(THIS_ LPSQLOLEBULKCOPY Bcp, LPLONG plRowsImported CPPDEFAULT(= NULL)) PURE;
  4426.     STDMETHOD(ExportData)(THIS_ LPSQLOLEBULKCOPY Bcp, LPLONG plRowsExported CPPDEFAULT(= NULL)) PURE;
  4427.     STDMETHOD(CheckTableDataOnly)(THIS_ SQLOLE_LPBSTR pResult) PURE;
  4428.     STDMETHOD(InAlter)(THIS_ LPBOOL pRetVal) PURE;
  4429. };
  4430.  
  4431. #undef INTERFACE
  4432. #define INTERFACE ISQLOLEView
  4433. DECLARE_INTERFACE_(INTERFACE, ISQLOLEStdObject)
  4434. {
  4435.    //*** IUnknown methods
  4436.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  4437.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  4438.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  4439.  
  4440.     //*** SQLOLE standard object properties.
  4441.     STDMETHOD(GetApplication)(THIS_ LPSQLOLEAPPLICATION *ppApp) PURE;
  4442.     STDMETHOD(GetParent)(THIS_ LPSQLOLESTDOBJECT *ppParent) PURE;
  4443.     STDMETHOD(GetTypeOf)(THIS_ SQLOLE_OBJECT_TYPE *pRetVal) PURE;
  4444.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  4445.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  4446.  
  4447.     //*** properties
  4448.     STDMETHOD(GetName)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  4449.     STDMETHOD(SetName)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  4450.     STDMETHOD(GetID)(THIS_ LPLONG plID) PURE;
  4451.     STDMETHOD(GetOwner)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  4452.     STDMETHOD(GetCreateDate)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  4453.     STDMETHOD(GetText)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  4454.     STDMETHOD(SetText)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  4455.     STDMETHOD(GetSystemObject)(THIS_ LPBOOL pRetVal) PURE;
  4456.  
  4457.     //*** methods
  4458.     STDMETHOD(Grant)(THIS_ SQLOLE_PRIVILEGE_TYPE iPrivileges, SQLOLE_LPCSTR GranteeNames, SQLOLE_LPCSTR ColumnNames CPPDEFAULT(= NULL)) PURE;
  4459.     STDMETHOD(Revoke)(THIS_ SQLOLE_PRIVILEGE_TYPE iPrivileges, SQLOLE_LPCSTR RevokeeNames, SQLOLE_LPCSTR ColumnNames CPPDEFAULT(= NULL)) PURE;
  4460.     STDMETHOD(Remove)(THIS) PURE;
  4461.     STDMETHOD(Script)(THIS_ SQLOLE_SCRIPT_TYPE ScriptType CPPDEFAULT(= SQLOLEScript_Default), SQLOLE_LPCSTR ScriptFilePath CPPDEFAULT(= NULL), SQLOLE_LPBSTR ScriptText CPPDEFAULT(= NULL)) PURE;
  4462.     STDMETHOD(EnumDependencies)(THIS_ LPSQLOLEQUERYRESULTS *ppResults, SQLOLE_DEPENDENCY_TYPE DependencyType CPPDEFAULT(= SQLOLEDep_Parents)) PURE;
  4463.     
  4464.     // List methods
  4465.     STDMETHOD(ListPermissions)(THIS_ LPSQLOLEPERMISSIONLIST * ppList, SQLOLE_PRIVILEGE_TYPE lPrivilegeTypes CPPDEFAULT(= SQLOLEPriv_AllObjectPrivs)) PURE;
  4466.     STDMETHOD(ListUserPermissions)(THIS_ SQLOLE_LPCSTR UserName, LPSQLOLEPERMISSIONLIST * ppList) PURE;
  4467.     STDMETHOD(ListColumns)(THIS_ LPSQLOLECOLUMNLIST * ppList) PURE;
  4468.  
  4469.     // Post-6.0 additions.
  4470.     STDMETHOD(ExportData)(THIS_ LPSQLOLEBULKCOPY Bcp, LPLONG plRowsExported CPPDEFAULT(= NULL)) PURE;
  4471. };
  4472.  
  4473. #undef INTERFACE
  4474. #define INTERFACE ISQLOLEColumn
  4475. DECLARE_INTERFACE_(INTERFACE, ISQLOLEStdObject)
  4476. {
  4477.    //*** IUnknown methods
  4478.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  4479.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  4480.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  4481.  
  4482.     //*** SQLOLE standard object properties.
  4483.     STDMETHOD(GetApplication)(THIS_ LPSQLOLEAPPLICATION *ppApp) PURE;
  4484.     STDMETHOD(GetParent)(THIS_ LPSQLOLESTDOBJECT *ppParent) PURE;
  4485.     STDMETHOD(GetTypeOf)(THIS_ SQLOLE_OBJECT_TYPE *pRetVal) PURE;
  4486.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  4487.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  4488.  
  4489.     //*** properties
  4490.     STDMETHOD(GetName)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  4491.     STDMETHOD(SetName)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  4492.     STDMETHOD(GetDatatype)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  4493.     STDMETHOD(SetDatatype)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  4494.     STDMETHOD(GetPhysicalDatatype)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  4495.     STDMETHOD(GetLength)(THIS_ LPLONG pRetVal) PURE;
  4496.     STDMETHOD(SetLength)(THIS_ long NewValue) PURE;
  4497.     STDMETHOD(GetDefault)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  4498.     STDMETHOD(SetDefault)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  4499.     STDMETHOD(GetRule)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  4500.     STDMETHOD(SetRule)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  4501.     STDMETHOD(GetAllowNulls)(THIS_ LPBOOL pRetVal) PURE;
  4502.     STDMETHOD(SetAllowNulls)(THIS_ BOOL NewValue) PURE;
  4503.     STDMETHOD(GetID)(THIS_ LPLONG pRetVal) PURE;
  4504.     STDMETHOD(GetIdentity)(THIS_ LPBOOL pRetVal) PURE;
  4505.     STDMETHOD(SetIdentity)(THIS_ BOOL NewValue) PURE;
  4506.     STDMETHOD(GetNumericPrecision)(THIS_ LPLONG pRetVal) PURE;
  4507.     STDMETHOD(SetNumericPrecision)(THIS_ long NewValue) PURE;
  4508.     STDMETHOD(GetNumericScale)(THIS_ LPLONG pRetVal) PURE;
  4509.     STDMETHOD(SetNumericScale)(THIS_ long NewValue) PURE;
  4510.     STDMETHOD(GetIdentitySeed)(THIS_ LPLONG pRetVal) PURE;
  4511.     STDMETHOD(SetIdentitySeed)(THIS_ long NewValue) PURE;
  4512.     STDMETHOD(GetIdentityIncrement)(THIS_ LPLONG pRetVal) PURE;
  4513.     STDMETHOD(SetIdentityIncrement)(THIS_ long NewValue) PURE;
  4514.     STDMETHOD(GetDRIDefault)(THIS_ LPSQLOLEDRIDEFAULT *ppDRIDefault) PURE;
  4515.     STDMETHOD(GetInPrimaryKey)(THIS_ LPBOOL pRetVal) PURE;
  4516.  
  4517.    //*** methods
  4518.     STDMETHOD(Remove)(THIS) PURE;
  4519.     STDMETHOD(ListKeys)(THIS_ LPSQLOLEKEYLIST * ppList) PURE;
  4520. };
  4521.  
  4522. #undef INTERFACE
  4523. #define INTERFACE ISQLOLEPermission
  4524. DECLARE_INTERFACE_(INTERFACE, ISQLOLEStdObject)
  4525. {
  4526.    //*** IUnknown methods
  4527.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  4528.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  4529.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  4530.  
  4531.     //*** SQLOLE standard object properties.
  4532.     STDMETHOD(GetApplication)(THIS_ LPSQLOLEAPPLICATION *ppApp) PURE;
  4533.     STDMETHOD(GetParent)(THIS_ LPSQLOLESTDOBJECT *ppParent) PURE;
  4534.     STDMETHOD(GetTypeOf)(THIS_ SQLOLE_OBJECT_TYPE *pRetVal) PURE;
  4535.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  4536.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  4537.  
  4538.     //*** properties
  4539.     STDMETHOD(GetPrivilegeTypeName)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  4540.     STDMETHOD(GetPrivilegeType)(THIS_ SQLOLE_PRIVILEGE_TYPE *pRetVal) PURE;
  4541.     STDMETHOD(GetObjectName)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  4542.     STDMETHOD(GetObjectOwner)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  4543.     STDMETHOD(GetObjectTypeName)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  4544.     STDMETHOD(GetObjectType)(THIS_ SQLOLE_OBJECT_TYPE *pRetVal) PURE;
  4545.     STDMETHOD(GetObjectID)(THIS_ LPLONG pRetVal) PURE;
  4546.     STDMETHOD(GetGrantee)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  4547.     STDMETHOD(GetGranted)(THIS_ LPBOOL pRetVal) PURE;
  4548.  
  4549.     //*** methods
  4550.     // List methods
  4551.     STDMETHOD(ListPrivilegeColumns)(THIS_ LPSQLOLECOLUMNLIST * ppList) PURE;
  4552. };
  4553.  
  4554. #undef INTERFACE
  4555. #define INTERFACE ISQLOLEDBOption
  4556. DECLARE_INTERFACE_(INTERFACE, ISQLOLEStdObject)
  4557. {
  4558.    //*** IUnknown methods
  4559.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  4560.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  4561.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  4562.  
  4563.     //*** SQLOLE standard object properties.
  4564.     STDMETHOD(GetApplication)(THIS_ LPSQLOLEAPPLICATION *ppApp) PURE;
  4565.     STDMETHOD(GetParent)(THIS_ LPSQLOLESTDOBJECT *ppParent) PURE;
  4566.     STDMETHOD(GetTypeOf)(THIS_ SQLOLE_OBJECT_TYPE *pRetVal) PURE;
  4567.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  4568.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  4569.  
  4570.     //*** properties
  4571.     STDMETHOD(GetSelectIntoBulkCopy)(THIS_ LPBOOL pRetVal) PURE;
  4572.     STDMETHOD(SetSelectIntoBulkCopy)(THIS_ BOOL NewValue) PURE;
  4573.     STDMETHOD(GetDBOUseOnly)(THIS_ LPBOOL pRetVal) PURE;
  4574.     STDMETHOD(SetDBOUseOnly)(THIS_ BOOL NewValue) PURE;
  4575.     STDMETHOD(GetNoCheckpointOnRecovery)(THIS_ LPBOOL pRetVal) PURE;
  4576.     STDMETHOD(SetNoCheckpointOnRecovery)(THIS_ BOOL NewValue) PURE;
  4577.     STDMETHOD(GetReadOnly)(THIS_ LPBOOL pRetVal) PURE;
  4578.     STDMETHOD(SetReadOnly)(THIS_ BOOL NewValue) PURE;
  4579.     STDMETHOD(GetSingleUser)(THIS_ LPBOOL pRetVal) PURE;
  4580.     STDMETHOD(SetSingleUser)(THIS_ BOOL NewValue) PURE;
  4581.     STDMETHOD(GetTruncateLogOnCheckpoint)(THIS_ LPBOOL pRetVal) PURE;
  4582.     STDMETHOD(SetTruncateLogOnCheckpoint)(THIS_ BOOL NewValue) PURE;
  4583.     STDMETHOD(GetEnablePublishing)(THIS_ LPBOOL pRetVal) PURE;
  4584.     STDMETHOD(SetEnablePublishing)(THIS_ BOOL NewValue) PURE;
  4585.     STDMETHOD(GetEnableSubscribing)(THIS_ LPBOOL pRetVal) PURE;
  4586.     STDMETHOD(SetEnableSubscribing)(THIS_ BOOL NewValue) PURE;
  4587.     STDMETHOD(GetColumnsNullByDefault)(THIS_ LPBOOL pRetVal) PURE;
  4588.     STDMETHOD(SetColumnsNullByDefault)(THIS_ BOOL NewValue) PURE;
  4589.     STDMETHOD(GetOffline)(THIS_ LPBOOL pRetVal) PURE;
  4590.     STDMETHOD(SetOffline)(THIS_ BOOL NewValue) PURE;
  4591.  
  4592.     //*** methods
  4593.     STDMETHOD(Refresh)(THIS) PURE;
  4594. };
  4595.  
  4596. #undef INTERFACE
  4597. #define INTERFACE ISQLOLEDBObject
  4598. DECLARE_INTERFACE_(INTERFACE, ISQLOLEStdObject)
  4599. {
  4600.    //*** IUnknown methods
  4601.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  4602.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  4603.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  4604.  
  4605.     //*** SQLOLE standard object properties.
  4606.     STDMETHOD(GetApplication)(THIS_ LPSQLOLEAPPLICATION *ppApp) PURE;
  4607.     STDMETHOD(GetParent)(THIS_ LPSQLOLESTDOBJECT *ppParent) PURE;
  4608.     STDMETHOD(GetTypeOf)(THIS_ SQLOLE_OBJECT_TYPE *pRetVal) PURE;
  4609.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  4610.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  4611.  
  4612.     //*** properties
  4613.     STDMETHOD(GetName)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  4614.     STDMETHOD(SetName)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  4615.     STDMETHOD(GetOwner)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  4616.     STDMETHOD(GetTypeName)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  4617.     STDMETHOD(GetType)(THIS_ SQLOLE_OBJECT_TYPE *pRetVal) PURE;
  4618.     STDMETHOD(GetCreateDate)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  4619.     STDMETHOD(GetID)(THIS_ LPLONG pRetVal) PURE;
  4620.     STDMETHOD(GetSystemObject)(THIS_ LPBOOL pRetVal) PURE;
  4621.     
  4622.     //*** methods
  4623.     STDMETHOD(Remove)(THIS) PURE;
  4624.     STDMETHOD(Script)(THIS_ SQLOLE_SCRIPT_TYPE ScriptType CPPDEFAULT(= SQLOLEScript_Default), SQLOLE_LPCSTR ScriptFilePath CPPDEFAULT(= NULL), SQLOLE_LPBSTR ScriptText CPPDEFAULT(= NULL)) PURE;
  4625.     STDMETHOD(EnumDependencies)(THIS_ LPSQLOLEQUERYRESULTS *ppResults, SQLOLE_DEPENDENCY_TYPE DependencyType CPPDEFAULT(= SQLOLEDep_Parents)) PURE;
  4626.  
  4627.     // List methods
  4628.     STDMETHOD(ListPermissions)(THIS_ LPSQLOLEPERMISSIONLIST * ppList, SQLOLE_PRIVILEGE_TYPE lPrivilegeTypes CPPDEFAULT(= SQLOLEPriv_AllObjectPrivs)) PURE;
  4629.     STDMETHOD(ListUserPermissions)(THIS_ SQLOLE_LPCSTR UserName, LPSQLOLEPERMISSIONLIST * ppList) PURE;
  4630. };
  4631.  
  4632. #undef INTERFACE
  4633. #define INTERFACE ISQLOLEIndex
  4634. DECLARE_INTERFACE_(INTERFACE, ISQLOLEStdObject)
  4635. {
  4636.    //*** IUnknown methods
  4637.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  4638.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  4639.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  4640.  
  4641.     //*** SQLOLE standard object properties.
  4642.     STDMETHOD(GetApplication)(THIS_ LPSQLOLEAPPLICATION *ppApp) PURE;
  4643.     STDMETHOD(GetParent)(THIS_ LPSQLOLESTDOBJECT *ppParent) PURE;
  4644.     STDMETHOD(GetTypeOf)(THIS_ SQLOLE_OBJECT_TYPE *pRetVal) PURE;
  4645.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  4646.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  4647.  
  4648.     //*** properties
  4649.     STDMETHOD(GetName)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  4650.     STDMETHOD(SetName)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  4651.     STDMETHOD(GetType)(THIS_ SQLOLE_INDEX_TYPE *pRetVal) PURE;
  4652.     STDMETHOD(SetType)(THIS_ SQLOLE_INDEX_TYPE NewValue) PURE;
  4653.     STDMETHOD(GetID)(THIS_ LPLONG pRetVal) PURE;
  4654.     STDMETHOD(GetFillFactor)(THIS_ LPLONG pRetVal) PURE;
  4655.     STDMETHOD(SetFillFactor)(THIS_ long lNewValue) PURE;
  4656.     STDMETHOD(GetSpaceUsed)(THIS_ LPLONG pRetVal) PURE;
  4657.     STDMETHOD(SetIndexedColumns)(THIS_ SQLOLE_LPCSTR ColumnNames) PURE;
  4658.     
  4659.     //*** methods
  4660.     STDMETHOD(UpdateStatistics)(THIS) PURE;
  4661.     STDMETHOD(Remove)(THIS) PURE;
  4662.     STDMETHOD(Script)(THIS_ SQLOLE_SCRIPT_TYPE ScriptType CPPDEFAULT(= SQLOLEScript_Default), SQLOLE_LPCSTR ScriptFilePath CPPDEFAULT(= NULL), SQLOLE_LPBSTR ScriptText CPPDEFAULT(= NULL)) PURE;
  4663.     STDMETHOD(Rebuild)(THIS) PURE;
  4664.     STDMETHOD(RecalcSpaceUsage)(THIS) PURE;
  4665.     STDMETHOD(EnumStatistics)(THIS_ LPSQLOLEQUERYRESULTS *ppResults) PURE;
  4666.     STDMETHOD(GenerateCreationSQL)(THIS_ LPSQLOLETABLE TargetTable, SQLOLE_LPBSTR pSQLStatement) PURE;
  4667.  
  4668.     // List methods
  4669.     STDMETHOD(ListIndexedColumns)(THIS_ LPSQLOLECOLUMNLIST * ppList) PURE;
  4670.  
  4671.     // Post-6.0 additions.
  4672.     STDMETHOD(CheckIndex)(THIS_ SQLOLE_LPBSTR pResult) PURE;
  4673. };
  4674.  
  4675. #undef INTERFACE
  4676. #define INTERFACE ISQLOLEKey
  4677. DECLARE_INTERFACE_(INTERFACE, ISQLOLEStdObject)
  4678. {
  4679.    //*** IUnknown methods
  4680.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  4681.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  4682.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  4683.  
  4684.     //*** SQLOLE standard object properties.
  4685.     STDMETHOD(GetApplication)(THIS_ LPSQLOLEAPPLICATION *ppApp) PURE;
  4686.     STDMETHOD(GetParent)(THIS_ LPSQLOLESTDOBJECT *ppParent) PURE;
  4687.     STDMETHOD(GetTypeOf)(THIS_ SQLOLE_OBJECT_TYPE *pRetVal) PURE;
  4688.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  4689.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  4690.  
  4691.     //*** properties
  4692.     STDMETHOD(GetName)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  4693.     STDMETHOD(SetName)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  4694.     STDMETHOD(GetType)(THIS_ SQLOLE_KEY_TYPE *pRetVal) PURE;
  4695.     STDMETHOD(SetType)(THIS_ SQLOLE_KEY_TYPE NewValue) PURE;
  4696.     STDMETHOD(GetClustered)(THIS_ LPBOOL pRetVal) PURE;
  4697.     STDMETHOD(SetClustered)(THIS_ BOOL bNewValue) PURE;
  4698.     STDMETHOD(GetFillFactor)(THIS_ LPLONG pRetVal) PURE;
  4699.     STDMETHOD(SetFillFactor)(THIS_ long lNewValue) PURE;
  4700.     STDMETHOD(GetReferencedTable)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  4701.     STDMETHOD(SetReferencedTable)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  4702.     STDMETHOD(GetReferencedKey)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  4703.     
  4704.     //*** Collection properties
  4705.     STDMETHOD(GetKeyColumns)(THIS_ LPSQLOLENAMES *ppColumnNames) PURE;
  4706.     STDMETHOD(GetReferencedColumns)(THIS_ LPSQLOLENAMES *ppColumnNames) PURE;
  4707.  
  4708.     //*** methods
  4709.     STDMETHOD(Remove)(THIS) PURE;
  4710.     STDMETHOD(Script)(THIS_ SQLOLE_SCRIPT_TYPE ScriptType CPPDEFAULT(= SQLOLEScript_Default), SQLOLE_LPCSTR ScriptFilePath CPPDEFAULT(= NULL), SQLOLE_LPBSTR ScriptText CPPDEFAULT(= NULL)) PURE;
  4711.  
  4712.     // Post-6.0 additions.
  4713.     STDMETHOD(RebuildIndex)(THIS) PURE;
  4714.     STDMETHOD(GetExcludeReplication)(THIS_ LPBOOL pRetVal) PURE;
  4715.     STDMETHOD(SetExcludeReplication)(THIS_ BOOL NewValue) PURE;
  4716. };
  4717.  
  4718. #undef INTERFACE
  4719. #define INTERFACE ISQLOLECheck
  4720. DECLARE_INTERFACE_(INTERFACE, ISQLOLEStdObject)
  4721. {
  4722.    //*** IUnknown methods
  4723.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  4724.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  4725.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  4726.  
  4727.     //*** SQLOLE standard object properties.
  4728.     STDMETHOD(GetApplication)(THIS_ LPSQLOLEAPPLICATION *ppApp) PURE;
  4729.     STDMETHOD(GetParent)(THIS_ LPSQLOLESTDOBJECT *ppParent) PURE;
  4730.     STDMETHOD(GetTypeOf)(THIS_ SQLOLE_OBJECT_TYPE *pRetVal) PURE;
  4731.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  4732.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  4733.  
  4734.     //*** properties
  4735.     STDMETHOD(GetName)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  4736.     STDMETHOD(SetName)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  4737.     STDMETHOD(GetText)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  4738.     STDMETHOD(SetText)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  4739.     STDMETHOD(GetExcludeReplication)(THIS_ LPBOOL pRetVal) PURE;
  4740.     STDMETHOD(SetExcludeReplication)(THIS_ BOOL NewValue) PURE;
  4741.  
  4742.     //*** methods
  4743.     STDMETHOD(Remove)(THIS) PURE;
  4744.     STDMETHOD(Script)(THIS_ SQLOLE_SCRIPT_TYPE ScriptType CPPDEFAULT(= SQLOLEScript_Default), SQLOLE_LPCSTR ScriptFilePath CPPDEFAULT(= NULL), SQLOLE_LPBSTR ScriptText CPPDEFAULT(= NULL)) PURE;
  4745. };
  4746.  
  4747. #undef INTERFACE
  4748. #define INTERFACE ISQLOLEDRIDefault
  4749. DECLARE_INTERFACE_(INTERFACE, ISQLOLEStdObject)
  4750. {
  4751.    //*** IUnknown methods
  4752.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  4753.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  4754.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  4755.  
  4756.     //*** SQLOLE standard object properties.
  4757.     STDMETHOD(GetApplication)(THIS_ LPSQLOLEAPPLICATION *ppApp) PURE;
  4758.     STDMETHOD(GetParent)(THIS_ LPSQLOLESTDOBJECT *ppParent) PURE;
  4759.     STDMETHOD(GetTypeOf)(THIS_ SQLOLE_OBJECT_TYPE *pRetVal) PURE;
  4760.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  4761.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  4762.  
  4763.     //*** properties
  4764.     STDMETHOD(GetName)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  4765.     STDMETHOD(SetName)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  4766.     STDMETHOD(GetText)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  4767.     STDMETHOD(SetText)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  4768.  
  4769.     //*** methods
  4770.     STDMETHOD(Remove)(THIS) PURE;
  4771.     STDMETHOD(Script)(THIS_ SQLOLE_SCRIPT_TYPE ScriptType CPPDEFAULT(= SQLOLEScript_Default), SQLOLE_LPCSTR ScriptFilePath CPPDEFAULT(= NULL), SQLOLE_LPBSTR ScriptText CPPDEFAULT(= NULL)) PURE;
  4772. };
  4773.  
  4774. #undef INTERFACE
  4775. #define INTERFACE ISQLOLERule
  4776. DECLARE_INTERFACE_(INTERFACE, ISQLOLEStdObject)
  4777. {
  4778.    //*** IUnknown methods
  4779.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  4780.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  4781.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  4782.  
  4783.     //*** SQLOLE standard object properties.
  4784.     STDMETHOD(GetApplication)(THIS_ LPSQLOLEAPPLICATION *ppApp) PURE;
  4785.     STDMETHOD(GetParent)(THIS_ LPSQLOLESTDOBJECT *ppParent) PURE;
  4786.     STDMETHOD(GetTypeOf)(THIS_ SQLOLE_OBJECT_TYPE *pRetVal) PURE;
  4787.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  4788.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  4789.  
  4790.     //*** properties
  4791.     STDMETHOD(GetName)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  4792.     STDMETHOD(SetName)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  4793.     STDMETHOD(GetOwner)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  4794.     STDMETHOD(GetCreateDate)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  4795.     STDMETHOD(GetID)(THIS_ LPLONG pRetVal) PURE;
  4796.     STDMETHOD(GetText)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  4797.     STDMETHOD(SetText)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  4798.  
  4799.     //*** methods
  4800.     STDMETHOD(BindToColumn)(THIS_ SQLOLE_LPCSTR TableName, SQLOLE_LPCSTR ColumnName) PURE;
  4801.     STDMETHOD(BindToDatatype)(THIS_ SQLOLE_LPCSTR DatatypeName, BOOL bFutureOnly CPPDEFAULT(= FALSE)) PURE;
  4802.     STDMETHOD(UnbindFromColumn)(THIS_ SQLOLE_LPCSTR TableName, SQLOLE_LPCSTR ColumnName) PURE;
  4803.     STDMETHOD(UnbindFromDatatype)(THIS_ SQLOLE_LPCSTR DatatypeName, BOOL bFutureOnly CPPDEFAULT(= FALSE)) PURE;
  4804.     STDMETHOD(Remove)(THIS) PURE;
  4805.     STDMETHOD(Script)(THIS_ SQLOLE_SCRIPT_TYPE ScriptType CPPDEFAULT(= SQLOLEScript_Default), SQLOLE_LPCSTR ScriptFilePath CPPDEFAULT(= NULL), SQLOLE_LPBSTR ScriptText CPPDEFAULT(= NULL)) PURE;
  4806.  
  4807.     // List methods
  4808.     STDMETHOD(ListBoundColumns)(THIS_ LPSQLOLECOLUMNLIST * ppList) PURE;
  4809.     STDMETHOD(ListBoundDatatypes)(THIS_ LPSQLOLEUSERDEFINEDDATATYPELIST * ppList) PURE;
  4810. };
  4811.  
  4812. #undef INTERFACE
  4813. #define INTERFACE ISQLOLEDefault
  4814. DECLARE_INTERFACE_(INTERFACE, ISQLOLEStdObject)
  4815. {
  4816.    //*** IUnknown methods
  4817.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  4818.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  4819.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  4820.  
  4821.     //*** SQLOLE standard object properties.
  4822.     STDMETHOD(GetApplication)(THIS_ LPSQLOLEAPPLICATION *ppApp) PURE;
  4823.     STDMETHOD(GetParent)(THIS_ LPSQLOLESTDOBJECT *ppParent) PURE;
  4824.     STDMETHOD(GetTypeOf)(THIS_ SQLOLE_OBJECT_TYPE *pRetVal) PURE;
  4825.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  4826.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  4827.  
  4828.     //*** properties
  4829.     STDMETHOD(GetName)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  4830.     STDMETHOD(SetName)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  4831.     STDMETHOD(GetOwner)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  4832.     STDMETHOD(GetCreateDate)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  4833.     STDMETHOD(GetID)(THIS_ LPLONG pRetVal) PURE;
  4834.     STDMETHOD(GetText)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  4835.     STDMETHOD(SetText)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  4836.  
  4837.     //*** methods
  4838.     STDMETHOD(BindToColumn)(THIS_ SQLOLE_LPCSTR TableName, SQLOLE_LPCSTR ColumnName) PURE;
  4839.     STDMETHOD(BindToDatatype)(THIS_ SQLOLE_LPCSTR DatatypeName, BOOL bFutureOnly CPPDEFAULT(= FALSE)) PURE;
  4840.     STDMETHOD(UnbindFromColumn)(THIS_ SQLOLE_LPCSTR TableName, SQLOLE_LPCSTR ColumnName) PURE;
  4841.     STDMETHOD(UnbindFromDatatype)(THIS_ SQLOLE_LPCSTR DatatypeName, BOOL bFutureOnly CPPDEFAULT(= FALSE)) PURE;
  4842.     STDMETHOD(Remove)(THIS) PURE;
  4843.     STDMETHOD(Script)(THIS_ SQLOLE_SCRIPT_TYPE ScriptType CPPDEFAULT(= SQLOLEScript_Default), SQLOLE_LPCSTR ScriptFilePath CPPDEFAULT(= NULL), SQLOLE_LPBSTR ScriptText CPPDEFAULT(= NULL)) PURE;
  4844.  
  4845.     // List methods
  4846.     STDMETHOD(ListBoundColumns)(THIS_ LPSQLOLECOLUMNLIST * ppList) PURE;
  4847.     STDMETHOD(ListBoundDatatypes)(THIS_ LPSQLOLEUSERDEFINEDDATATYPELIST * ppList) PURE;
  4848. };
  4849.  
  4850. #undef INTERFACE
  4851. #define INTERFACE ISQLOLEStoredProcedure
  4852. DECLARE_INTERFACE_(INTERFACE, ISQLOLEStdObject)
  4853. {
  4854.    //*** IUnknown methods
  4855.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  4856.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  4857.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  4858.  
  4859.     //*** SQLOLE standard object properties.
  4860.     STDMETHOD(GetApplication)(THIS_ LPSQLOLEAPPLICATION *ppApp) PURE;
  4861.     STDMETHOD(GetParent)(THIS_ LPSQLOLESTDOBJECT *ppParent) PURE;
  4862.     STDMETHOD(GetTypeOf)(THIS_ SQLOLE_OBJECT_TYPE *pRetVal) PURE;
  4863.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  4864.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  4865.  
  4866.     //*** properties
  4867.     STDMETHOD(GetName)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  4868.     STDMETHOD(SetName)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  4869.     STDMETHOD(GetOwner)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  4870.     STDMETHOD(GetCreateDate)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  4871.     STDMETHOD(GetID)(THIS_ LPLONG pRetVal) PURE;
  4872.     STDMETHOD(GetText)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  4873.     STDMETHOD(SetText)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  4874.     STDMETHOD(GetType)(THIS_ SQLOLE_PROCEDURE_TYPE *pRetVal) PURE;
  4875.     STDMETHOD(SetType)(THIS_ SQLOLE_PROCEDURE_TYPE NewValue) PURE;
  4876.     STDMETHOD(GetStartup)(THIS_ LPBOOL pRetVal) PURE;
  4877.     STDMETHOD(SetStartup)(THIS_ BOOL NewValue) PURE;
  4878.     STDMETHOD(GetSystemObject)(THIS_ LPBOOL pRetVal) PURE;
  4879.  
  4880.     //*** methods
  4881.     STDMETHOD(Grant)(THIS_ SQLOLE_PRIVILEGE_TYPE iPrivileges, SQLOLE_LPCSTR GranteeNames) PURE;
  4882.     STDMETHOD(Revoke)(THIS_ SQLOLE_PRIVILEGE_TYPE iPrivileges, SQLOLE_LPCSTR RevokeeNames) PURE;
  4883.     STDMETHOD(Remove)(THIS) PURE;
  4884.     STDMETHOD(EnumParameters)(THIS_ LPSQLOLEQUERYRESULTS * ppResults) PURE;
  4885.     STDMETHOD(Script)(THIS_ SQLOLE_SCRIPT_TYPE ScriptType CPPDEFAULT(= SQLOLEScript_Default), SQLOLE_LPCSTR ScriptFilePath CPPDEFAULT(= NULL), SQLOLE_LPBSTR ScriptText CPPDEFAULT(= NULL)) PURE;
  4886.     STDMETHOD(EnumDependencies)(THIS_ LPSQLOLEQUERYRESULTS *ppResults, SQLOLE_DEPENDENCY_TYPE DependencyType CPPDEFAULT(= SQLOLEDep_Parents)) PURE;
  4887.  
  4888.     // List methods
  4889.     STDMETHOD(ListPermissions)(THIS_ LPSQLOLEPERMISSIONLIST * ppList, SQLOLE_PRIVILEGE_TYPE lPrivilegeTypes CPPDEFAULT(= SQLOLEPriv_Execute)) PURE;
  4890.     STDMETHOD(ListUserPermissions)(THIS_ SQLOLE_LPCSTR UserName, LPSQLOLEPERMISSIONLIST * ppList) PURE;
  4891. };
  4892.  
  4893. #undef INTERFACE
  4894. #define INTERFACE ISQLOLEBackup
  4895. DECLARE_INTERFACE_(INTERFACE, ISQLOLEStdObject)
  4896. {
  4897.    //*** IUnknown methods
  4898.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  4899.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  4900.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  4901.  
  4902.     //*** SQLOLE standard object properties.
  4903.     STDMETHOD(GetApplication)(THIS_ LPSQLOLEAPPLICATION *ppApp) PURE;
  4904.     STDMETHOD(GetParent)(THIS_ LPSQLOLESTDOBJECT *ppParent) PURE;
  4905.     STDMETHOD(GetTypeOf)(THIS_ SQLOLE_OBJECT_TYPE *pRetVal) PURE;
  4906.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  4907.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  4908.  
  4909.     //*** properties
  4910.     STDMETHOD(GetDumpDevices)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  4911.     STDMETHOD(SetDumpDevices)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  4912.     STDMETHOD(GetDiskDevices)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  4913.     STDMETHOD(SetDiskDevices)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  4914.     STDMETHOD(GetTapeDevices)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  4915.     STDMETHOD(SetTapeDevices)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  4916.     STDMETHOD(GetFloppyDevices)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  4917.     STDMETHOD(SetFloppyDevices)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  4918.     STDMETHOD(GetUnloadTapeAfter)(THIS_ LPBOOL pRetVal) PURE;
  4919.     STDMETHOD(SetUnloadTapeAfter)(THIS_ BOOL NewValue) PURE;
  4920.     STDMETHOD(GetDumpInitDeviceBefore)(THIS_ LPBOOL pRetVal) PURE;
  4921.     STDMETHOD(SetDumpInitDeviceBefore)(THIS_ BOOL NewValue) PURE;
  4922.     STDMETHOD(GetDumpExpirationDate)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  4923.     STDMETHOD(SetDumpExpirationDate)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  4924.     STDMETHOD(GetDumpRetainDays)(THIS_ LPLONG pRetVal) PURE;
  4925.     STDMETHOD(SetDumpRetainDays)(THIS_ long NewValue) PURE;
  4926.     STDMETHOD(GetSkipTapeHeader)(THIS_ LPBOOL pRetVal) PURE;
  4927.     STDMETHOD(SetSkipTapeHeader)(THIS_ BOOL NewValue) PURE;
  4928.     STDMETHOD(GetLoadTableBatchPages)(THIS_ LPLONG pRetVal) PURE;
  4929.     STDMETHOD(SetLoadTableBatchPages)(THIS_ long NewValue) PURE;
  4930.     STDMETHOD(GetLoadFileNumber)(THIS_ LPLONG pRetVal) PURE;
  4931.     STDMETHOD(SetLoadFileNumber)(THIS_ long NewValue) PURE;
  4932.  
  4933.     // Post-6.0 additions
  4934.     STDMETHOD(GetTableName)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  4935.     STDMETHOD(SetTableName)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  4936.     STDMETHOD(GetLoadStopDate)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  4937.     STDMETHOD(SetLoadStopDate)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  4938.     STDMETHOD(GetPipeDevices)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  4939.     STDMETHOD(SetPipeDevices)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  4940.     STDMETHOD(GetLoadFromSourceTableName)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  4941.     STDMETHOD(SetLoadFromSourceTableName)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  4942.     STDMETHOD(GetLoadAppendToTableData)(THIS_ LPBOOL pRetVal) PURE;
  4943.     STDMETHOD(SetLoadAppendToTableData)(THIS_ BOOL NewValue) PURE;
  4944.     STDMETHOD(GetPercentCompleteNotification)(THIS_ LPLONG pRetVal) PURE;
  4945.     STDMETHOD(SetPercentCompleteNotification)(THIS_ long NewValue) PURE;
  4946.  
  4947.     // methods
  4948.     STDMETHOD(Abort)(THIS) PURE;
  4949. };
  4950.  
  4951. #undef INTERFACE
  4952. #define INTERFACE ISQLOLEBulkCopy
  4953. DECLARE_INTERFACE_(INTERFACE, ISQLOLEStdObject)
  4954. {
  4955.    //*** IUnknown methods
  4956.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  4957.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  4958.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  4959.  
  4960.     //*** SQLOLE standard object properties.
  4961.     STDMETHOD(GetApplication)(THIS_ LPSQLOLEAPPLICATION *ppApp) PURE;
  4962.     STDMETHOD(GetParent)(THIS_ LPSQLOLESTDOBJECT *ppParent) PURE;
  4963.     STDMETHOD(GetTypeOf)(THIS_ SQLOLE_OBJECT_TYPE *pRetVal) PURE;
  4964.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  4965.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  4966.  
  4967.     //*** properties
  4968.     STDMETHOD(GetDataFilePath)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  4969.     STDMETHOD(SetDataFilePath)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  4970.     STDMETHOD(GetFormatFilePath)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  4971.     STDMETHOD(SetFormatFilePath)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  4972.     STDMETHOD(GetErrorFilePath)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  4973.     STDMETHOD(SetErrorFilePath)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  4974.     STDMETHOD(GetLogFilePath)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  4975.     STDMETHOD(SetLogFilePath)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  4976.     STDMETHOD(GetColumnDelimiter)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  4977.     STDMETHOD(SetColumnDelimiter)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  4978.     STDMETHOD(GetRowDelimiter)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  4979.     STDMETHOD(SetRowDelimiter)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  4980.     STDMETHOD(GetDataFileType)(THIS_ SQLOLE_DATAFILE_TYPE FAR* pRetVal) PURE;
  4981.     STDMETHOD(SetDataFileType)(THIS_ SQLOLE_DATAFILE_TYPE NewValue) PURE;
  4982.     STDMETHOD(GetFirstRow)(THIS_ LPLONG pRetVal) PURE;
  4983.     STDMETHOD(SetFirstRow)(THIS_ long NewValue) PURE;
  4984.     STDMETHOD(GetLastRow)(THIS_ LPLONG pRetVal) PURE;
  4985.     STDMETHOD(SetLastRow)(THIS_ long NewValue) PURE;
  4986.     STDMETHOD(GetMaximumErrorsBeforeAbort)(THIS_ LPLONG pRetVal) PURE;
  4987.     STDMETHOD(SetMaximumErrorsBeforeAbort)(THIS_ long NewValue) PURE;
  4988.     STDMETHOD(GetIncludeIdentityValues)(THIS_ LPBOOL pRetVal) PURE;
  4989.     STDMETHOD(SetIncludeIdentityValues)(THIS_ BOOL NewValue) PURE;
  4990.     STDMETHOD(GetImportRowsPerBatch)(THIS_ LPLONG pRetVal) PURE;
  4991.     STDMETHOD(SetImportRowsPerBatch)(THIS_ long NewValue) PURE;
  4992.     STDMETHOD(GetUseBulkCopyOption)(THIS_ LPBOOL pRetVal) PURE;
  4993.     STDMETHOD(SetUseBulkCopyOption)(THIS_ BOOL NewValue) PURE;
  4994.     STDMETHOD(GetSuspendIndexing)(THIS_ LPBOOL pRetVal) PURE;
  4995.     STDMETHOD(SetSuspendIndexing)(THIS_ BOOL NewValue) PURE;
  4996.     STDMETHOD(GetTruncateLog)(THIS_ LPBOOL pRetVal) PURE;
  4997.     STDMETHOD(SetTruncateLog)(THIS_ BOOL NewValue) PURE;
  4998.  
  4999.     // Methods
  5000.     STDMETHOD(Abort)(THIS) PURE;
  5001. };
  5002.  
  5003. #undef INTERFACE
  5004. #define INTERFACE ISQLOLEUserDefinedDatatype
  5005. DECLARE_INTERFACE_(INTERFACE, ISQLOLEStdObject)
  5006. {
  5007.    //*** IUnknown methods
  5008.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  5009.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  5010.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  5011.  
  5012.     //*** SQLOLE standard object properties.
  5013.     STDMETHOD(GetApplication)(THIS_ LPSQLOLEAPPLICATION *ppApp) PURE;
  5014.     STDMETHOD(GetParent)(THIS_ LPSQLOLESTDOBJECT *ppParent) PURE;
  5015.     STDMETHOD(GetTypeOf)(THIS_ SQLOLE_OBJECT_TYPE *pRetVal) PURE;
  5016.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  5017.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  5018.  
  5019.     //*** properties
  5020.     STDMETHOD(GetName)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  5021.     STDMETHOD(SetName)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  5022.     STDMETHOD(GetOwner)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  5023.     STDMETHOD(GetAllowNulls)(THIS_ LPBOOL pRetVal) PURE;
  5024.     STDMETHOD(SetAllowNulls)(THIS_ BOOL NewValue) PURE;
  5025.     STDMETHOD(GetBaseType)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  5026.     STDMETHOD(SetBaseType)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  5027.     STDMETHOD(GetLength)(THIS_ LPLONG pRetVal) PURE;
  5028.     STDMETHOD(SetLength)(THIS_ long NewValue) PURE;
  5029.     STDMETHOD(GetDefault)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  5030.     STDMETHOD(SetDefault)(THIS_ SQLOLE_LPCSTR NewValue, BOOL bFutureOnly CPPDEFAULT(= FALSE)) PURE;
  5031.     STDMETHOD(GetRule)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  5032.     STDMETHOD(SetRule)(THIS_ SQLOLE_LPCSTR NewValue, BOOL bFutureOnly CPPDEFAULT(= FALSE)) PURE;
  5033.     STDMETHOD(GetID)(THIS_ LPLONG pRetVal) PURE;
  5034.     STDMETHOD(GetNumericPrecision)(THIS_ LPLONG pRetVal) PURE;
  5035.     STDMETHOD(SetNumericPrecision)(THIS_ long NewValue) PURE;
  5036.     STDMETHOD(GetNumericScale)(THIS_ LPLONG pRetVal) PURE;
  5037.     STDMETHOD(SetNumericScale)(THIS_ long NewValue) PURE;
  5038.     STDMETHOD(GetAllowIdentity)(THIS_ LPBOOL pRetVal) PURE;
  5039.  
  5040.     //*** methods
  5041.     STDMETHOD(Remove)(THIS) PURE;
  5042.     STDMETHOD(Script)(THIS_ SQLOLE_SCRIPT_TYPE ScriptType CPPDEFAULT(= SQLOLEScript_Default), SQLOLE_LPCSTR ScriptFilePath CPPDEFAULT(= NULL), SQLOLE_LPBSTR ScriptText CPPDEFAULT(= NULL)) PURE;
  5043.  
  5044.     // List methods
  5045.     STDMETHOD(ListBoundColumns)(THIS_ LPSQLOLECOLUMNLIST * ppList) PURE;
  5046. };
  5047.  
  5048. #undef INTERFACE
  5049. #define INTERFACE ISQLOLEUser
  5050. DECLARE_INTERFACE_(INTERFACE, ISQLOLEStdObject)
  5051. {
  5052.    //*** IUnknown methods
  5053.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  5054.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  5055.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  5056.  
  5057.     //*** SQLOLE standard object properties.
  5058.     STDMETHOD(GetApplication)(THIS_ LPSQLOLEAPPLICATION *ppApp) PURE;
  5059.     STDMETHOD(GetParent)(THIS_ LPSQLOLESTDOBJECT *ppParent) PURE;
  5060.     STDMETHOD(GetTypeOf)(THIS_ SQLOLE_OBJECT_TYPE *pRetVal) PURE;
  5061.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  5062.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  5063.  
  5064.     //*** properties
  5065.     STDMETHOD(GetName)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  5066.     STDMETHOD(SetName)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  5067.     STDMETHOD(GetLogin)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  5068.     STDMETHOD(SetLogin)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  5069.     STDMETHOD(GetGroup)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  5070.     STDMETHOD(SetGroup)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  5071.     STDMETHOD(GetID)(THIS_ LPLONG pRetVal) PURE;
  5072.     STDMETHOD(GetSystemObject)(THIS_ LPBOOL pRetVal) PURE;
  5073.  
  5074.     //*** methods
  5075.     STDMETHOD(AddAlias)(THIS_ SQLOLE_LPCSTR LoginNames) PURE;
  5076.     STDMETHOD(RemoveAlias)(THIS_ SQLOLE_LPCSTR LoginNames) PURE;
  5077.     STDMETHOD(Remove)(THIS) PURE;
  5078.     STDMETHOD(Script)(THIS_ SQLOLE_SCRIPT_TYPE ScriptType CPPDEFAULT(= SQLOLEScript_Default), SQLOLE_LPCSTR ScriptFilePath CPPDEFAULT(= NULL), SQLOLE_LPBSTR ScriptText CPPDEFAULT(= NULL)) PURE;
  5079.  
  5080.     // List methods
  5081.     STDMETHOD(ListAliases)(THIS_ LPSQLOLELOGINLIST * ppList) PURE;
  5082.     STDMETHOD(ListOwnedObjects)(THIS_ LPSQLOLEDBOBJECTLIST * ppList, SQLOLE_OBJECT_TYPE lObjectTypes CPPDEFAULT(= SQLOLEObj_AllDatabaseObjects), SQLOLE_OBJSORT_TYPE SortBy CPPDEFAULT(= SQLOLEObjSort_Name)) PURE;
  5083.     STDMETHOD(ListDatabasePermissions)(THIS_ LPSQLOLEPERMISSIONLIST * ppList, SQLOLE_PRIVILEGE_TYPE lPrivilegeTypes CPPDEFAULT(= SQLOLEPriv_AllDatabasePrivs)) PURE;
  5084.     STDMETHOD(ListObjectPermissions)(THIS_ LPSQLOLEPERMISSIONLIST * ppList, SQLOLE_PRIVILEGE_TYPE lPrivilegeTypes CPPDEFAULT(= SQLOLEPriv_AllObjectPrivs)) PURE;
  5085. };
  5086.  
  5087. #undef INTERFACE
  5088. #define INTERFACE ISQLOLEGroup
  5089. DECLARE_INTERFACE_(INTERFACE, ISQLOLEStdObject)
  5090. {
  5091.    //*** IUnknown methods
  5092.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  5093.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  5094.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  5095.  
  5096.     //*** SQLOLE standard object properties.
  5097.     STDMETHOD(GetApplication)(THIS_ LPSQLOLEAPPLICATION *ppApp) PURE;
  5098.     STDMETHOD(GetParent)(THIS_ LPSQLOLESTDOBJECT *ppParent) PURE;
  5099.     STDMETHOD(GetTypeOf)(THIS_ SQLOLE_OBJECT_TYPE *pRetVal) PURE;
  5100.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  5101.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  5102.  
  5103.     //*** properties
  5104.     STDMETHOD(GetName)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  5105.     STDMETHOD(SetName)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  5106.     STDMETHOD(GetID)(THIS_ LPLONG pRetVal) PURE;
  5107.     STDMETHOD(GetSystemObject)(THIS_ LPBOOL pRetVal) PURE;
  5108.  
  5109.     //*** methods
  5110.     STDMETHOD(Remove)(THIS) PURE;
  5111.  
  5112.     // List methods
  5113.     STDMETHOD(ListUsers)(THIS_ LPSQLOLEUSERLIST * ppList) PURE;
  5114.     STDMETHOD(ListDatabasePermissions)(THIS_ LPSQLOLEPERMISSIONLIST * ppList, SQLOLE_PRIVILEGE_TYPE lPrivilegeTypes CPPDEFAULT(= SQLOLEPriv_AllDatabasePrivs)) PURE;
  5115.     STDMETHOD(ListObjectPermissions)(THIS_ LPSQLOLEPERMISSIONLIST * ppList, SQLOLE_PRIVILEGE_TYPE lPrivilegeTypes CPPDEFAULT(= SQLOLEPriv_AllObjectPrivs)) PURE;
  5116.     STDMETHOD(Script)(THIS_ SQLOLE_SCRIPT_TYPE ScriptType CPPDEFAULT(= SQLOLEScript_Default), SQLOLE_LPCSTR ScriptFilePath CPPDEFAULT(= NULL), SQLOLE_LPBSTR ScriptText CPPDEFAULT(= NULL)) PURE;
  5117. };
  5118.  
  5119. #undef INTERFACE
  5120. #define INTERFACE ISQLOLETrigger
  5121. DECLARE_INTERFACE_(INTERFACE, ISQLOLEStdObject)
  5122. {
  5123.    //*** IUnknown methods
  5124.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  5125.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  5126.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  5127.  
  5128.     //*** SQLOLE standard object properties.
  5129.     STDMETHOD(GetApplication)(THIS_ LPSQLOLEAPPLICATION *ppApp) PURE;
  5130.     STDMETHOD(GetParent)(THIS_ LPSQLOLESTDOBJECT *ppParent) PURE;
  5131.     STDMETHOD(GetTypeOf)(THIS_ SQLOLE_OBJECT_TYPE *pRetVal) PURE;
  5132.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  5133.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  5134.  
  5135.     //*** properties
  5136.     STDMETHOD(GetName)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  5137.     STDMETHOD(SetName)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  5138.     STDMETHOD(GetOwner)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  5139.     STDMETHOD(GetCreateDate)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  5140.     STDMETHOD(GetID)(THIS_ LPLONG pRetVal) PURE;
  5141.     STDMETHOD(GetText)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  5142.     STDMETHOD(SetText)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  5143.     STDMETHOD(GetType)(THIS_ SQLOLE_TRIGGER_TYPE *pRetVal) PURE;
  5144.     STDMETHOD(GetSystemObject)(THIS_ LPBOOL pRetVal) PURE;
  5145.  
  5146.     //*** methods
  5147.     STDMETHOD(Remove)(THIS) PURE;
  5148.     STDMETHOD(Script)(THIS_ SQLOLE_SCRIPT_TYPE ScriptType CPPDEFAULT(= SQLOLEScript_Default), SQLOLE_LPCSTR ScriptFilePath CPPDEFAULT(= NULL), SQLOLE_LPBSTR ScriptText CPPDEFAULT(= NULL)) PURE;
  5149.     STDMETHOD(EnumDependencies)(THIS_ LPSQLOLEQUERYRESULTS *ppResults, SQLOLE_DEPENDENCY_TYPE DependencyType CPPDEFAULT(= SQLOLEDep_Parents)) PURE;
  5150. };
  5151.  
  5152. #undef INTERFACE
  5153. #define INTERFACE ISQLOLESystemDatatype
  5154. DECLARE_INTERFACE_(INTERFACE, ISQLOLEStdObject)
  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.     //*** SQLOLE standard object properties.
  5162.     STDMETHOD(GetApplication)(THIS_ LPSQLOLEAPPLICATION *ppApp) PURE;
  5163.     STDMETHOD(GetParent)(THIS_ LPSQLOLESTDOBJECT *ppParent) PURE;
  5164.     STDMETHOD(GetTypeOf)(THIS_ SQLOLE_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_ SQLOLE_LPBSTR pRetVal) PURE;
  5170.     STDMETHOD(GetMaximumLength)(THIS_ LPLONG pRetVal) PURE;
  5171.     STDMETHOD(GetAllowNulls)(THIS_ LPBOOL pRetVal) PURE;
  5172.     STDMETHOD(GetIsNumeric)(THIS_ LPBOOL pRetVal) PURE;
  5173.     STDMETHOD(GetAllowIdentity)(THIS_ LPBOOL pRetVal) PURE;
  5174. };
  5175.  
  5176. #undef INTERFACE
  5177. #define INTERFACE ISQLOLEExecutive
  5178. DECLARE_INTERFACE_(INTERFACE, ISQLOLEStdObject)
  5179. {
  5180.    //*** IUnknown methods
  5181.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  5182.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  5183.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  5184.  
  5185.     //*** SQLOLE standard object properties.
  5186.     STDMETHOD(GetApplication)(THIS_ LPSQLOLEAPPLICATION *ppApp) PURE;
  5187.     STDMETHOD(GetParent)(THIS_ LPSQLOLESTDOBJECT *ppParent) PURE;
  5188.     STDMETHOD(GetTypeOf)(THIS_ SQLOLE_OBJECT_TYPE *pRetVal) PURE;
  5189.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  5190.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  5191.  
  5192.     //*** properties
  5193.     STDMETHOD(GetStatus)(THIS_ SQLOLE_SVCSTATUS_TYPE *pRetVal) PURE;
  5194.     STDMETHOD(GetAutoStart)(THIS_ LPBOOL pRetVal) PURE;
  5195.     STDMETHOD(SetAutoStart)(THIS_ BOOL NewValue) PURE;
  5196.     STDMETHOD(GetRestartSQLServer)(THIS_ LPBOOL pRetVal) PURE;
  5197.     STDMETHOD(SetRestartSQLServer)(THIS_ BOOL NewValue) PURE;
  5198.     STDMETHOD(GetRestartSQLServerInterval)(THIS_ LPLONG pRetVal) PURE;
  5199.     STDMETHOD(SetRestartSQLServerInterval)(THIS_ long NewValue) PURE;
  5200.     STDMETHOD(GetLimitHistoryRows)(THIS_ LPBOOL pRetVal) PURE;
  5201.     STDMETHOD(SetLimitHistoryRows)(THIS_ BOOL NewValue) PURE;
  5202.     STDMETHOD(GetLimitHistoryRowsMax)(THIS_ LPLONG pRetVal) PURE;
  5203.     STDMETHOD(SetLimitHistoryRowsMax)(THIS_ long NewValue) PURE;
  5204.     STDMETHOD(GetAlertSystem)(THIS_ LPSQLOLEALERTSYSTEM * ppAlertSystem) PURE;
  5205.  
  5206.     //*** Collection properties
  5207.     STDMETHOD(GetTasks)(THIS_ LPSQLOLETASKS * ppTasks) PURE;
  5208.     STDMETHOD(GetTaskByName)(THIS_ SQLOLE_LPCSTR szName, LPSQLOLETASK *ppTask) PURE;
  5209.     STDMETHOD(GetTaskByOrd)(THIS_ long lOrdinal, LPSQLOLETASK *ppTask) PURE;
  5210.     STDMETHOD(RemoveTaskByName)(THIS_ SQLOLE_LPCSTR szName) PURE;
  5211.     STDMETHOD(RemoveTaskByOrd)(THIS_ long lOrdinal) PURE;
  5212.     STDMETHOD(AddTask)(THIS_ LPSQLOLETASK pTask) PURE;
  5213.     STDMETHOD(GetTaskCount)(THIS_ LPLONG plCount) PURE;
  5214.  
  5215.     //*** methods
  5216.     STDMETHOD(Stop)(THIS) PURE;
  5217.     STDMETHOD(Start)(THIS) PURE;
  5218.     STDMETHOD(EnumSubSystems)(THIS_ LPSQLOLEQUERYRESULTS *ppResults) PURE;
  5219.     STDMETHOD(EnumQueuedTasks)(THIS_ LPSQLOLEQUERYRESULTS *ppResults) PURE;
  5220.     STDMETHOD(ReassignLoginTasks)(THIS_ SQLOLE_LPCSTR szOldLogin, SQLOLE_LPCSTR szNewLogin) PURE;
  5221.     STDMETHOD(RemoveLoginTasks)(THIS_ SQLOLE_LPCSTR szLogin) PURE;
  5222.     STDMETHOD(Refresh)(THIS) PURE;
  5223.     STDMETHOD(BeginAlter)(THIS) PURE;
  5224.     STDMETHOD(DoAlter)(THIS) PURE;
  5225.     STDMETHOD(CancelAlter)(THIS) PURE;
  5226.  
  5227.     // List methods
  5228.     STDMETHOD(ListSubSystemTasks)(THIS_ SQLOLE_LPCSTR szSubSystem, LPSQLOLETASKLIST * ppList) PURE;
  5229.  
  5230.     // Post-6.0 additions
  5231.     STDMETHOD(GetLimitHistoryRowsPerTaskMax)(THIS_ LPLONG pRetVal) PURE;
  5232.     STDMETHOD(SetLimitHistoryRowsPerTaskMax)(THIS_ long NewValue) PURE;
  5233. };
  5234.  
  5235. #undef INTERFACE
  5236. #define INTERFACE ISQLOLETask
  5237. DECLARE_INTERFACE_(INTERFACE, ISQLOLEStdObject)
  5238. {
  5239.    //*** IUnknown methods
  5240.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  5241.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  5242.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  5243.  
  5244.     //*** SQLOLE standard object properties.
  5245.     STDMETHOD(GetApplication)(THIS_ LPSQLOLEAPPLICATION *ppApp) PURE;
  5246.     STDMETHOD(GetParent)(THIS_ LPSQLOLESTDOBJECT *ppParent) PURE;
  5247.     STDMETHOD(GetTypeOf)(THIS_ SQLOLE_OBJECT_TYPE *pRetVal) PURE;
  5248.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  5249.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  5250.  
  5251.     //*** properties
  5252.     STDMETHOD(GetName)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  5253.     STDMETHOD(SetName)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  5254.     STDMETHOD(GetID)(THIS_ LPLONG pRetVal) PURE;
  5255.     STDMETHOD(GetSubSystem)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  5256.     STDMETHOD(SetSubSystem)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  5257.     STDMETHOD(GetOwner)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  5258.     STDMETHOD(GetEnabled)(THIS_ LPBOOL pRetVal) PURE;
  5259.     STDMETHOD(SetEnabled)(THIS_ BOOL NewValue) PURE;
  5260.     STDMETHOD(GetDatabase)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  5261.     STDMETHOD(SetDatabase)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  5262.     STDMETHOD(GetUser)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  5263.     STDMETHOD(SetUser)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  5264.     STDMETHOD(GetFrequencyType)(THIS_ SQLOLE_FREQUENCY_TYPE *pRetVal) PURE;
  5265.     STDMETHOD(SetFrequencyType)(THIS_ SQLOLE_FREQUENCY_TYPE NewValue) PURE;
  5266.     STDMETHOD(GetFrequencyInterval)(THIS_ LPLONG pRetVal) PURE;
  5267.     STDMETHOD(SetFrequencyInterval)(THIS_ long NewValue) PURE;
  5268.     STDMETHOD(GetFrequencyRelativeInterval)(THIS_ SQLOLE_FREQRELATIVE_TYPE *pRetVal) PURE;
  5269.     STDMETHOD(SetFrequencyRelativeInterval)(THIS_ SQLOLE_FREQRELATIVE_TYPE NewValue) PURE;
  5270.     STDMETHOD(GetFrequencyRecurrenceFactor)(THIS_ LPLONG pRetVal) PURE;
  5271.     STDMETHOD(SetFrequencyRecurrenceFactor)(THIS_ long NewValue) PURE;
  5272.     STDMETHOD(GetActiveStartDate)(THIS_ LPLONG pRetVal) PURE;
  5273.     STDMETHOD(SetActiveStartDate)(THIS_ long NewValue) PURE;
  5274.     STDMETHOD(GetActiveEndDate)(THIS_ LPLONG pRetVal) PURE;
  5275.     STDMETHOD(SetActiveEndDate)(THIS_ long NewValue) PURE;
  5276.     STDMETHOD(GetActiveStartTimeOfDay)(THIS_ LPLONG pRetVal) PURE;
  5277.     STDMETHOD(SetActiveStartTimeOfDay)(THIS_ long NewValue) PURE;
  5278.     STDMETHOD(GetActiveEndTimeOfDay)(THIS_ LPLONG pRetVal) PURE;
  5279.     STDMETHOD(SetActiveEndTimeOfDay)(THIS_ long NewValue) PURE;
  5280.     STDMETHOD(GetNextRunDate)(THIS_ LPLONG pRetVal) PURE;
  5281.     STDMETHOD(GetNextRunTime)(THIS_ LPLONG pRetVal) PURE;
  5282.     STDMETHOD(GetLastRunDate)(THIS_ LPLONG pRetVal) PURE;
  5283.     STDMETHOD(GetLastRunTime)(THIS_ LPLONG pRetVal) PURE;
  5284.     STDMETHOD(GetRunPriority)(THIS_ SQLOLE_RUNPRIORITY_TYPE *pRetVal) PURE;
  5285.     STDMETHOD(SetRunPriority)(THIS_ SQLOLE_RUNPRIORITY_TYPE NewValue) PURE;
  5286.     STDMETHOD(GetEmailOperator)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  5287.     STDMETHOD(SetEmailOperator)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  5288.     STDMETHOD(GetRetryAttempts)(THIS_ LPLONG pRetVal) PURE;
  5289.     STDMETHOD(SetRetryAttempts)(THIS_ long NewValue) PURE;
  5290.     STDMETHOD(GetRetryDelay)(THIS_ LPLONG pRetVal) PURE;
  5291.     STDMETHOD(SetRetryDelay)(THIS_ long NewValue) PURE;
  5292.     STDMETHOD(GetLastRunRetries)(THIS_ LPLONG pRetVal) PURE;
  5293.     STDMETHOD(GetDateCreated)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  5294.     STDMETHOD(GetDateModified)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  5295.     STDMETHOD(GetCommand)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  5296.     STDMETHOD(SetCommand)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  5297.     STDMETHOD(GetLastRunCompletionLevel)(THIS_ SQLOLE_COMPLETION_TYPE *pRetVal) PURE;
  5298.     STDMETHOD(GetLastRunDuration)(THIS_ LPLONG pRetVal) PURE;
  5299.     STDMETHOD(GetLogHistoryCompletionLevel)(THIS_ SQLOLE_COMPLETION_TYPE *pRetVal) PURE;
  5300.     STDMETHOD(SetLogHistoryCompletionLevel)(THIS_ SQLOLE_COMPLETION_TYPE NewValue) PURE;
  5301.     STDMETHOD(GetEmailCompletionLevel)(THIS_ SQLOLE_COMPLETION_TYPE *pRetVal) PURE;
  5302.     STDMETHOD(SetEmailCompletionLevel)(THIS_ SQLOLE_COMPLETION_TYPE NewValue) PURE;
  5303.     STDMETHOD(GetTargetSQLServer)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  5304.     STDMETHOD(SetTargetSQLServer)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  5305.     STDMETHOD(GetDescription)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  5306.     STDMETHOD(SetDescription)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  5307.     STDMETHOD(GetFrequencySubDay)(THIS_ SQLOLE_FREQSUB_TYPE *pRetVal) PURE;
  5308.     STDMETHOD(SetFrequencySubDay)(THIS_ SQLOLE_FREQSUB_TYPE NewValue) PURE;
  5309.     STDMETHOD(GetFrequencySubDayInterval)(THIS_ LPLONG pRetVal) PURE;
  5310.     STDMETHOD(SetFrequencySubDayInterval)(THIS_ long NewValue) PURE;
  5311.     STDMETHOD(GetTagAdditionalInfo)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  5312.     STDMETHOD(SetTagAdditionalInfo)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  5313.     STDMETHOD(GetTagObjectID)(THIS_ LPLONG pRetVal) PURE;
  5314.     STDMETHOD(SetTagObjectID)(THIS_ long NewValue) PURE;
  5315.     STDMETHOD(GetTagObjectType)(THIS_ LPLONG pRetVal) PURE;
  5316.     STDMETHOD(SetTagObjectType)(THIS_ long NewValue) PURE;
  5317.  
  5318.     //*** methods
  5319.     STDMETHOD(EnumHistory)(THIS_ LPSQLOLEQUERYRESULTS *ppResults, LPSQLOLEHISTORYFILTER pFilter CPPDEFAULT(= NULL)) PURE;
  5320.     STDMETHOD(PurgeHistory)(THIS_ LPSQLOLEHISTORYFILTER pFilter CPPDEFAULT(= NULL)) PURE;
  5321.     STDMETHOD(Invoke)(THIS) PURE;
  5322.     STDMETHOD(Remove)(THIS) PURE;
  5323.     STDMETHOD(BeginAlter)(THIS) PURE;
  5324.     STDMETHOD(DoAlter)(THIS) PURE;
  5325.     STDMETHOD(CancelAlter)(THIS) PURE;
  5326.     STDMETHOD(Refresh)(THIS) PURE;
  5327.     STDMETHOD(Reassign)(THIS_ SQLOLE_LPCSTR szNewLogin) PURE;
  5328.  
  5329.     // Post-6.0 additions
  5330.     STDMETHOD(GetParameters)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  5331.     STDMETHOD(SetParameters)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  5332.     STDMETHOD(GetCmdExecSuccessCode)(THIS_ LPLONG pRetVal) PURE;
  5333.     STDMETHOD(SetCmdExecSuccessCode)(THIS_ long NewValue) PURE;
  5334. };
  5335.  
  5336. #undef INTERFACE
  5337. #define INTERFACE ISQLOLEHistoryFilter
  5338. DECLARE_INTERFACE_(INTERFACE, ISQLOLEStdObject)
  5339. {
  5340.    //*** IUnknown methods
  5341.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  5342.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  5343.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  5344.  
  5345.     //*** SQLOLE standard object properties.
  5346.     STDMETHOD(GetApplication)(THIS_ LPSQLOLEAPPLICATION *ppApp) PURE;
  5347.     STDMETHOD(GetParent)(THIS_ LPSQLOLESTDOBJECT *ppParent) PURE;
  5348.     STDMETHOD(GetTypeOf)(THIS_ SQLOLE_OBJECT_TYPE *pRetVal) PURE;
  5349.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  5350.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  5351.  
  5352.     //*** properties
  5353.     STDMETHOD(GetTaskName)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  5354.     STDMETHOD(SetTaskName)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  5355.     STDMETHOD(GetStartDate)(THIS_ LPLONG pRetVal) PURE;
  5356.     STDMETHOD(SetStartDate)(THIS_ long NewValue) PURE;
  5357.     STDMETHOD(GetStartTime)(THIS_ LPLONG pRetVal) PURE;
  5358.     STDMETHOD(SetStartTime)(THIS_ long NewValue) PURE;
  5359.     STDMETHOD(GetCompletionTypes)(THIS_ SQLOLE_COMPLETION_TYPE *pRetVal) PURE;
  5360.     STDMETHOD(SetCompletionTypes)(THIS_ SQLOLE_COMPLETION_TYPE NewValue) PURE;
  5361.     STDMETHOD(GetEventTypes)(THIS_ SQLOLE_EVENT_TYPE *pRetVal) PURE;
  5362.     STDMETHOD(SetEventTypes)(THIS_ SQLOLE_EVENT_TYPE NewValue) PURE;
  5363.     STDMETHOD(GetTaskID)(THIS_ LPLONG pRetVal) PURE;
  5364.     STDMETHOD(SetTaskID)(THIS_ long NewValue) PURE;
  5365.     STDMETHOD(GetEventID)(THIS_ LPLONG pRetVal) PURE;
  5366.     STDMETHOD(SetEventID)(THIS_ long NewValue) PURE;
  5367.     STDMETHOD(GetMessageID)(THIS_ LPLONG pRetVal) PURE;
  5368.     STDMETHOD(SetMessageID)(THIS_ long NewValue) PURE;
  5369.     STDMETHOD(GetSeverity)(THIS_ LPLONG pRetVal) PURE;
  5370.     STDMETHOD(SetSeverity)(THIS_ long NewValue) PURE;
  5371.     STDMETHOD(GetSource)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  5372.     STDMETHOD(SetSource)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  5373.     STDMETHOD(GetCategoryName)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  5374.     STDMETHOD(SetCategoryName)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  5375.     STDMETHOD(GetMinimumRunDuration)(THIS_ LPLONG pRetVal) PURE;
  5376.     STDMETHOD(SetMinimumRunDuration)(THIS_ long NewValue) PURE;
  5377.     STDMETHOD(GetMinimumRetries)(THIS_ LPLONG pRetVal) PURE;
  5378.     STDMETHOD(SetMinimumRetries)(THIS_ long NewValue) PURE;
  5379.     STDMETHOD(GetOldestFirst)(THIS_ LPBOOL pRetVal) PURE;
  5380.     STDMETHOD(SetOldestFirst)(THIS_ BOOL NewValue) PURE;
  5381.     STDMETHOD(GetEndDate)(THIS_ LPLONG pRetVal) PURE;
  5382.     STDMETHOD(SetEndDate)(THIS_ long NewValue) PURE;
  5383.     STDMETHOD(GetEndTime)(THIS_ LPLONG pRetVal) PURE;
  5384.     STDMETHOD(SetEndTime)(THIS_ long NewValue) PURE;
  5385.     STDMETHOD(GetMinimumTimesSkipped)(THIS_ LPLONG pRetVal) PURE;
  5386.     STDMETHOD(SetMinimumTimesSkipped)(THIS_ LONG NewValue) PURE;
  5387. };
  5388.  
  5389. #undef INTERFACE
  5390. #define INTERFACE ISQLOLEAlert
  5391. DECLARE_INTERFACE_(INTERFACE, ISQLOLEStdObject)
  5392. {
  5393.    //*** IUnknown methods
  5394.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  5395.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  5396.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  5397.  
  5398.     //*** SQLOLE standard object properties.
  5399.     STDMETHOD(GetApplication)(THIS_ LPSQLOLEAPPLICATION *ppApp) PURE;
  5400.     STDMETHOD(GetParent)(THIS_ LPSQLOLESTDOBJECT *ppParent) PURE;
  5401.     STDMETHOD(GetTypeOf)(THIS_ SQLOLE_OBJECT_TYPE *pRetVal) PURE;
  5402.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  5403.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  5404.  
  5405.     //*** properties
  5406.     STDMETHOD(GetName)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  5407.     STDMETHOD(SetName)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  5408.     STDMETHOD(GetID)(THIS_ LPLONG pRetVal) PURE;
  5409.     STDMETHOD(GetEventSource)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  5410.     STDMETHOD(GetEventCategory)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  5411.     STDMETHOD(GetEventID)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  5412.     STDMETHOD(GetMessageID)(THIS_ LPLONG pRetVal) PURE;
  5413.     STDMETHOD(SetMessageID)(THIS_ long NewValue) PURE;
  5414.     STDMETHOD(GetSeverity)(THIS_ LPLONG pRetVal) PURE;
  5415.     STDMETHOD(SetSeverity)(THIS_ long NewValue) PURE;
  5416.     STDMETHOD(GetEnabled)(THIS_ LPBOOL pRetVal) PURE;
  5417.     STDMETHOD(SetEnabled)(THIS_ BOOL NewValue) PURE;
  5418.     STDMETHOD(GetDelayBetweenResponses)(THIS_ LPLONG pRetVal) PURE;
  5419.     STDMETHOD(SetDelayBetweenResponses)(THIS_ long NewValue) PURE;
  5420.     STDMETHOD(GetLastOccurrenceDate)(THIS_ LPLONG pRetVal) PURE;
  5421.     STDMETHOD(SetLastOccurrenceDate)(THIS_ long NewValue) PURE;
  5422.     STDMETHOD(GetLastOccurrenceTime)(THIS_ LPLONG pRetVal) PURE;
  5423.     STDMETHOD(SetLastOccurrenceTime)(THIS_ long NewValue) PURE;
  5424.     STDMETHOD(GetLastResponseDate)(THIS_ LPLONG pRetVal) PURE;
  5425.     STDMETHOD(SetLastResponseDate)(THIS_ long NewValue) PURE;
  5426.     STDMETHOD(GetLastResponseTime)(THIS_ LPLONG pRetVal) PURE;
  5427.     STDMETHOD(SetLastResponseTime)(THIS_ long NewValue) PURE;
  5428.     STDMETHOD(GetNotificationMessage)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  5429.     STDMETHOD(SetNotificationMessage)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  5430.     STDMETHOD(GetIncludeEventDescription)(THIS_ SQLOLE_NOTIFY_TYPE *pRetVal) PURE;
  5431.     STDMETHOD(SetIncludeEventDescription)(THIS_ SQLOLE_NOTIFY_TYPE NewValue) PURE;
  5432.     STDMETHOD(GetDatabaseName)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  5433.     STDMETHOD(SetDatabaseName)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  5434.     STDMETHOD(GetEventDescriptionKeyword)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  5435.     STDMETHOD(SetEventDescriptionKeyword)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  5436.     STDMETHOD(GetOccurrenceCount)(THIS_ LPLONG pRetVal) PURE;
  5437.     STDMETHOD(SetOccurrenceCount)(THIS_ long NewValue) PURE;
  5438.     STDMETHOD(GetCountResetDate)(THIS_ LPLONG pRetVal) PURE;
  5439.     STDMETHOD(SetCountResetDate)(THIS_ long NewValue) PURE;
  5440.     STDMETHOD(GetCountResetTime)(THIS_ LPLONG pRetVal) PURE;
  5441.     STDMETHOD(SetCountResetTime)(THIS_ long NewValue) PURE;
  5442.     STDMETHOD(GetTaskName)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  5443.     STDMETHOD(SetTaskName)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  5444.     STDMETHOD(GetHasEmailNotification)(THIS_ LPLONG pRetVal) PURE;
  5445.     STDMETHOD(GetHasPagerNotification)(THIS_ LPLONG pRetVal) PURE;
  5446.  
  5447.     //*** methods
  5448.     STDMETHOD(AddNotification)(THIS_ SQLOLE_LPCSTR OperatorName, SQLOLE_NOTIFY_TYPE NotifyMethod) PURE;
  5449.     STDMETHOD(UpdateNotification)(THIS_ SQLOLE_LPCSTR OperatorName, SQLOLE_NOTIFY_TYPE NotifyMethod) PURE;
  5450.     STDMETHOD(RemoveNotification)(THIS_ SQLOLE_LPCSTR OperatorName) PURE;
  5451.     STDMETHOD(EnumNotifications)(THIS_ SQLOLE_NOTIFY_TYPE NotifyMethod, SQLOLE_ENUMNOTIFY_TYPE EnumNotifyType, LPSQLOLEQUERYRESULTS *ppResults, SQLOLE_LPCSTR OperatorName CPPDEFAULT(= NULL)) PURE;
  5452.     STDMETHOD(Remove)(THIS) PURE;
  5453.     STDMETHOD(BeginAlter)(THIS) PURE;
  5454.     STDMETHOD(DoAlter)(THIS) PURE;
  5455.     STDMETHOD(CancelAlter)(THIS) PURE;
  5456.     STDMETHOD(Refresh)(THIS) PURE;
  5457.  
  5458.    // Post-6.0 additions.
  5459.     STDMETHOD(GetRaiseSNMPTrap)(THIS_ LPBOOL pRetVal) PURE;
  5460.     STDMETHOD(SetRaiseSNMPTrap)(THIS_ BOOL NewValue) PURE;
  5461. };
  5462.  
  5463. #undef INTERFACE
  5464. #define INTERFACE ISQLOLEOperator
  5465. DECLARE_INTERFACE_(INTERFACE, ISQLOLEStdObject)
  5466. {
  5467.    //*** IUnknown methods
  5468.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  5469.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  5470.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  5471.  
  5472.     //*** SQLOLE standard object properties.
  5473.     STDMETHOD(GetApplication)(THIS_ LPSQLOLEAPPLICATION *ppApp) PURE;
  5474.     STDMETHOD(GetParent)(THIS_ LPSQLOLESTDOBJECT *ppParent) PURE;
  5475.     STDMETHOD(GetTypeOf)(THIS_ SQLOLE_OBJECT_TYPE *pRetVal) PURE;
  5476.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  5477.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  5478.  
  5479.     //*** properties
  5480.     STDMETHOD(GetName)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  5481.     STDMETHOD(SetName)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  5482.     STDMETHOD(GetID)(THIS_ LPLONG pRetVal) PURE;
  5483.     STDMETHOD(GetEnabled)(THIS_ LPBOOL pRetVal) PURE;
  5484.     STDMETHOD(SetEnabled)(THIS_ BOOL NewValue) PURE;
  5485.     STDMETHOD(GetEmailAddress)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  5486.     STDMETHOD(SetEmailAddress)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  5487.     STDMETHOD(GetLastEmailDate)(THIS_ LPLONG pRetVal) PURE;
  5488.     STDMETHOD(GetLastEmailTime)(THIS_ LPLONG pRetVal) PURE;
  5489.     STDMETHOD(GetPagerAddress)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  5490.     STDMETHOD(SetPagerAddress)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  5491.     STDMETHOD(GetLastPageDate)(THIS_ LPLONG pRetVal) PURE;
  5492.     STDMETHOD(GetLastPageTime)(THIS_ LPLONG pRetVal) PURE;
  5493.     STDMETHOD(GetWeekdayPagerStartTime)(THIS_ LPLONG pRetVal) PURE;
  5494.     STDMETHOD(SetWeekdayPagerStartTime)(THIS_ long NewValue) PURE;
  5495.     STDMETHOD(GetWeekdayPagerEndTime)(THIS_ LPLONG pRetVal) PURE;
  5496.     STDMETHOD(SetWeekdayPagerEndTime)(THIS_ long NewValue) PURE;
  5497.     STDMETHOD(GetSaturdayPagerStartTime)(THIS_ LPLONG pRetVal) PURE;
  5498.     STDMETHOD(SetSaturdayPagerStartTime)(THIS_ long NewValue) PURE;
  5499.     STDMETHOD(GetSaturdayPagerEndTime)(THIS_ LPLONG pRetVal) PURE;
  5500.     STDMETHOD(SetSaturdayPagerEndTime)(THIS_ long NewValue) PURE;
  5501.     STDMETHOD(GetSundayPagerStartTime)(THIS_ LPLONG pRetVal) PURE;
  5502.     STDMETHOD(SetSundayPagerStartTime)(THIS_ long NewValue) PURE;
  5503.     STDMETHOD(GetSundayPagerEndTime)(THIS_ LPLONG pRetVal) PURE;
  5504.     STDMETHOD(SetSundayPagerEndTime)(THIS_ long NewValue) PURE;
  5505.     STDMETHOD(GetPagerDays)(THIS_ SQLOLE_WEEKDAY_TYPE *pRetVal) PURE;
  5506.     STDMETHOD(SetPagerDays)(THIS_ SQLOLE_WEEKDAY_TYPE NewValue) PURE;
  5507.  
  5508.     //*** methods
  5509.     STDMETHOD(AddNotification)(THIS_ SQLOLE_LPCSTR AlertName, SQLOLE_NOTIFY_TYPE NotifyMethod) PURE;
  5510.     STDMETHOD(UpdateNotification)(THIS_ SQLOLE_LPCSTR AlertName, SQLOLE_NOTIFY_TYPE NotifyMethod) PURE;
  5511.     STDMETHOD(RemoveNotification)(THIS_ SQLOLE_LPCSTR AlertName) PURE;
  5512.     STDMETHOD(EnumNotifications)(THIS_ SQLOLE_NOTIFY_TYPE NotifyMethod, SQLOLE_ENUMNOTIFY_TYPE EnumNotifyType, LPSQLOLEQUERYRESULTS *ppResults, SQLOLE_LPCSTR AlertName CPPDEFAULT(= NULL)) PURE;
  5513.     STDMETHOD(Remove)(THIS) PURE;
  5514.     STDMETHOD(BeginAlter)(THIS) PURE;
  5515.     STDMETHOD(DoAlter)(THIS) PURE;
  5516.     STDMETHOD(CancelAlter)(THIS) PURE;
  5517.     STDMETHOD(Refresh)(THIS) PURE;
  5518. };
  5519.  
  5520. #undef INTERFACE
  5521. #define INTERFACE ISQLOLEPublication
  5522. DECLARE_INTERFACE_(INTERFACE, ISQLOLEStdObject)
  5523. {
  5524.    //*** IUnknown methods
  5525.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  5526.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  5527.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  5528.  
  5529.     //*** SQLOLE standard object properties.
  5530.     STDMETHOD(GetApplication)(THIS_ LPSQLOLEAPPLICATION *ppApp) PURE;
  5531.     STDMETHOD(GetParent)(THIS_ LPSQLOLESTDOBJECT *ppParent) PURE;
  5532.     STDMETHOD(GetTypeOf)(THIS_ SQLOLE_OBJECT_TYPE *pRetVal) PURE;
  5533.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  5534.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  5535.  
  5536.     //*** properties
  5537.     STDMETHOD(GetName)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  5538.     STDMETHOD(SetName)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  5539.     STDMETHOD(GetID)(THIS_ LPLONG pRetVal) PURE;
  5540.     STDMETHOD(GetDescription)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  5541.     STDMETHOD(SetDescription)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  5542.     STDMETHOD(GetEnabled)(THIS_ LPBOOL pRetVal) PURE;
  5543.     STDMETHOD(SetEnabled)(THIS_ BOOL NewValue) PURE;
  5544.     STDMETHOD(GetInitialSyncTask)(THIS_ LPSQLOLETASK *ppTask) PURE;
  5545.     STDMETHOD(GetInitialSyncMethod)(THIS_ SQLOLE_INITIALSYNC_TYPE *pRetVal) PURE;
  5546.     STDMETHOD(SetInitialSyncMethod)(THIS_ SQLOLE_INITIALSYNC_TYPE NewValue) PURE;
  5547.     STDMETHOD(GetReplicationFrequency)(THIS_ SQLOLE_REPFREQ_TYPE *pRetVal) PURE;
  5548.     STDMETHOD(SetReplicationFrequency)(THIS_ SQLOLE_REPFREQ_TYPE NewValue) PURE;
  5549.     STDMETHOD(GetRestricted)(THIS_ LPBOOL pRetVal) PURE;
  5550.     STDMETHOD(SetRestricted)(THIS_ BOOL NewValue) PURE;
  5551.  
  5552.     //*** Collection properties
  5553.     STDMETHOD(GetArticles)(THIS_ LPSQLOLEARTICLES * ppArticles) PURE;
  5554.     STDMETHOD(GetArticleByName)(THIS_ SQLOLE_LPCSTR szName, LPSQLOLEARTICLE *ppArticle) PURE;
  5555.     STDMETHOD(GetArticleByOrd)(THIS_ long lOrdinal, LPSQLOLEARTICLE *ppArticle) PURE;
  5556.     STDMETHOD(RemoveArticleByName)(THIS_ SQLOLE_LPCSTR szName) PURE;
  5557.     STDMETHOD(RemoveArticleByOrd)(THIS_ long lOrdinal) PURE;
  5558.     STDMETHOD(AddArticle)(THIS_ LPSQLOLEARTICLE pArticle) PURE;
  5559.     STDMETHOD(GetArticleCount)(THIS_ LPLONG plCount) PURE;
  5560.  
  5561.     //*** methods
  5562.     STDMETHOD(Remove)(THIS) PURE;
  5563.     STDMETHOD(EnumFullSubscribers)(THIS_ LPSQLOLEQUERYRESULTS *ppResults) PURE;
  5564.     STDMETHOD(BeginAlter)(THIS) PURE;
  5565.     STDMETHOD(DoAlter)(THIS) PURE;
  5566.     STDMETHOD(CancelAlter)(THIS) PURE;
  5567.  
  5568.     // Post-6.0 additions
  5569.     STDMETHOD(AddFullSubscriber)(THIS_ SQLOLE_LPCSTR ServerName, SQLOLE_LPCSTR DestinationDatabase CPPDEFAULT(= NULL), 
  5570.         SQLOLE_SUBSYNC_TYPE InitialSyncType CPPDEFAULT(= SQLOLESubSync_Default), SQLOLE_SUBSTATUS_TYPE Status CPPDEFAULT(= SQLOLESubStat_Default)) PURE;
  5571.     STDMETHOD(RemoveFullSubscriber)(THIS_ SQLOLE_LPCSTR ServerName) PURE;
  5572. };
  5573.  
  5574. #undef INTERFACE
  5575. #define INTERFACE ISQLOLEArticle
  5576. DECLARE_INTERFACE_(INTERFACE, ISQLOLEStdObject)
  5577. {
  5578.    //*** IUnknown methods
  5579.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  5580.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  5581.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  5582.  
  5583.     //*** SQLOLE standard object properties.
  5584.     STDMETHOD(GetApplication)(THIS_ LPSQLOLEAPPLICATION *ppApp) PURE;
  5585.     STDMETHOD(GetParent)(THIS_ LPSQLOLESTDOBJECT *ppParent) PURE;
  5586.     STDMETHOD(GetTypeOf)(THIS_ SQLOLE_OBJECT_TYPE *pRetVal) PURE;
  5587.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  5588.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  5589.  
  5590.     //*** properties
  5591.     STDMETHOD(GetName)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  5592.     STDMETHOD(SetName)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  5593.     STDMETHOD(GetID)(THIS_ LPLONG pRetVal) PURE;
  5594.     STDMETHOD(GetTableName)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  5595.     STDMETHOD(SetTableName)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  5596.     STDMETHOD(GetDescription)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  5597.     STDMETHOD(SetDescription)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  5598.     STDMETHOD(GetReplicateAllColumns)(THIS_ LPBOOL pRetVal) PURE;
  5599.     STDMETHOD(GetInitialSyncObjectName)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  5600.     STDMETHOD(SetInitialSyncObjectName)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  5601.     STDMETHOD(GetReplicationType)(THIS_ SQLOLE_REPLICATION_TYPE *pRetVal) PURE;
  5602.     STDMETHOD(SetReplicationType)(THIS_ SQLOLE_REPLICATION_TYPE NewValue) PURE;
  5603.     STDMETHOD(GetInsertCommand)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  5604.     STDMETHOD(SetInsertCommand)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  5605.     STDMETHOD(GetUpdateCommand)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  5606.     STDMETHOD(SetUpdateCommand)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  5607.     STDMETHOD(GetDeleteCommand)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  5608.     STDMETHOD(SetDeleteCommand)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  5609.     STDMETHOD(GetReplicationFilterProcName)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  5610.     STDMETHOD(SetReplicationFilterProcName)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  5611.     STDMETHOD(GetCreationScriptPath)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  5612.     STDMETHOD(SetCreationScriptPath)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  5613.     STDMETHOD(GetDestinationTableName)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  5614.     STDMETHOD(SetDestinationTableName)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  5615.     STDMETHOD(GetPreCreationMethod)(THIS_ SQLOLE_PREARTICLE_TYPE *pRetVal) PURE;
  5616.     STDMETHOD(SetPreCreationMethod)(THIS_ SQLOLE_PREARTICLE_TYPE NewValue) PURE;
  5617.     STDMETHOD(GetFilterClause)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  5618.     STDMETHOD(SetFilterClause)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  5619.  
  5620.     //*** Collection Properties
  5621.     STDMETHOD(GetSubscriptions)(THIS_ LPSQLOLESUBSCRIPTIONS * ppSubscriptions) PURE;
  5622.     STDMETHOD(GetSubscriptionByName)(THIS_ SQLOLE_LPCSTR szName, LPSQLOLESUBSCRIPTION *ppSubscription) PURE;
  5623.     STDMETHOD(GetSubscriptionByOrd)(THIS_ long lOrdinal, LPSQLOLESUBSCRIPTION *ppSubscription) PURE;
  5624.     STDMETHOD(RemoveSubscriptionByName)(THIS_ SQLOLE_LPCSTR szName) PURE;
  5625.     STDMETHOD(RemoveSubscriptionByOrd)(THIS_ long lOrdinal) PURE;
  5626.     STDMETHOD(AddSubscription)(THIS_ LPSQLOLESUBSCRIPTION pSubscription) PURE;
  5627.     STDMETHOD(GetSubscriptionCount)(THIS_ LPLONG plCount) PURE;
  5628.  
  5629.     //*** methods
  5630.     STDMETHOD(Remove)(THIS) PURE;
  5631.     STDMETHOD(ListReplicatedColumns)(THIS_ LPSQLOLECOLUMNLIST *ppList) PURE;
  5632.     STDMETHOD(AddReplicatedColumns)(THIS_ SQLOLE_LPCSTR Columns) PURE;
  5633.     STDMETHOD(RemoveReplicatedColumns)(THIS_ SQLOLE_LPCSTR Columns) PURE;
  5634.     STDMETHOD(BeginAlter)(THIS) PURE;
  5635.     STDMETHOD(DoAlter)(THIS) PURE;
  5636.     STDMETHOD(CancelAlter)(THIS) PURE;
  5637.     STDMETHOD(ScriptDestinationTable)(THIS_ SQLOLE_SCRIPT_TYPE ScriptType CPPDEFAULT(= SQLOLEScript_Default), SQLOLE_LPCSTR ScriptFilePath CPPDEFAULT(= NULL), SQLOLE_LPBSTR ScriptText CPPDEFAULT(= NULL)) PURE;
  5638.  
  5639.     // Post-6.0 additions
  5640.     STDMETHOD(GetOwnerQualifyTable)(THIS_ LPBOOL pRetVal) PURE;
  5641.     STDMETHOD(SetOwnerQualifyTable)(THIS_ BOOL NewValue) PURE;
  5642.     STDMETHOD(GetIncludeInsertColumnNames)(THIS_ LPBOOL pRetVal) PURE;
  5643.     STDMETHOD(SetIncludeInsertColumnNames)(THIS_ BOOL NewValue) PURE;
  5644. };
  5645.  
  5646. #undef INTERFACE
  5647. #define INTERFACE ISQLOLESubscription
  5648. DECLARE_INTERFACE_(INTERFACE, ISQLOLEStdObject)
  5649. {
  5650.    //*** IUnknown methods
  5651.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  5652.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  5653.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  5654.  
  5655.     //*** SQLOLE standard object properties.
  5656.     STDMETHOD(GetApplication)(THIS_ LPSQLOLEAPPLICATION *ppApp) PURE;
  5657.     STDMETHOD(GetParent)(THIS_ LPSQLOLESTDOBJECT *ppParent) PURE;
  5658.     STDMETHOD(GetTypeOf)(THIS_ SQLOLE_OBJECT_TYPE *pRetVal) PURE;
  5659.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  5660.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  5661.  
  5662.     //*** properties
  5663.     STDMETHOD(GetServerName)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  5664.     STDMETHOD(SetServerName)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  5665.     STDMETHOD(GetDestinationDatabase)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  5666.     STDMETHOD(SetDestinationDatabase)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  5667.     STDMETHOD(GetInitialSyncType)(THIS_ SQLOLE_SUBSYNC_TYPE *pRetVal) PURE;
  5668.     STDMETHOD(SetInitialSyncType)(THIS_ SQLOLE_SUBSYNC_TYPE NewValue) PURE;
  5669.     STDMETHOD(GetStatus)(THIS_ SQLOLE_SUBSTATUS_TYPE *pRetVal) PURE;
  5670.     STDMETHOD(SetStatus)(THIS_ SQLOLE_SUBSTATUS_TYPE NewValue) PURE;
  5671.  
  5672.     //*** methods
  5673.     STDMETHOD(Remove)(THIS) PURE;
  5674.     STDMETHOD(BeginAlter)(THIS) PURE;
  5675.     STDMETHOD(DoAlter)(THIS) PURE;
  5676.     STDMETHOD(CancelAlter)(THIS) PURE;
  5677. };
  5678.  
  5679. #undef INTERFACE
  5680. #define INTERFACE ISQLOLESubscriberInfo
  5681. DECLARE_INTERFACE_(INTERFACE, ISQLOLEStdObject)
  5682. {
  5683.    //*** IUnknown methods
  5684.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  5685.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  5686.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  5687.  
  5688.     //*** SQLOLE standard object properties.
  5689.     STDMETHOD(GetApplication)(THIS_ LPSQLOLEAPPLICATION *ppApp) PURE;
  5690.     STDMETHOD(GetParent)(THIS_ LPSQLOLESTDOBJECT *ppParent) PURE;
  5691.     STDMETHOD(GetTypeOf)(THIS_ SQLOLE_OBJECT_TYPE *pRetVal) PURE;
  5692.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  5693.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  5694.  
  5695.     //*** properties
  5696.     STDMETHOD(GetFrequencyType)(THIS_ SQLOLE_FREQUENCY_TYPE *pRetVal) PURE;
  5697.     STDMETHOD(SetFrequencyType)(THIS_ SQLOLE_FREQUENCY_TYPE NewValue) PURE;
  5698.     STDMETHOD(GetFrequencyInterval)(THIS_ LPLONG pRetVal) PURE;
  5699.     STDMETHOD(SetFrequencyInterval)(THIS_ long NewValue) PURE;
  5700.     STDMETHOD(GetFrequencyRelativeInterval)(THIS_ SQLOLE_FREQRELATIVE_TYPE *pRetVal) PURE;
  5701.     STDMETHOD(SetFrequencyRelativeInterval)(THIS_ SQLOLE_FREQRELATIVE_TYPE NewValue) PURE;
  5702.     STDMETHOD(GetFrequencyRecurrenceFactor)(THIS_ LPLONG pRetVal) PURE;
  5703.     STDMETHOD(SetFrequencyRecurrenceFactor)(THIS_ long NewValue) PURE;
  5704.     STDMETHOD(GetFrequencySubDay)(THIS_ SQLOLE_FREQSUB_TYPE *pRetVal) PURE;
  5705.     STDMETHOD(SetFrequencySubDay)(THIS_ SQLOLE_FREQSUB_TYPE NewValue) PURE;
  5706.     STDMETHOD(GetFrequencySubDayInterval)(THIS_ LPLONG pRetVal) PURE;
  5707.     STDMETHOD(SetFrequencySubDayInterval)(THIS_ long NewValue) PURE;
  5708.     STDMETHOD(GetFlushFrequency)(THIS_ LPLONG pRetVal) PURE;
  5709.     STDMETHOD(SetFlushFrequency)(THIS_ long NewValue) PURE;
  5710.     STDMETHOD(GetActiveStartDate)(THIS_ LPLONG pRetVal) PURE;
  5711.     STDMETHOD(SetActiveStartDate)(THIS_ long NewValue) PURE;
  5712.     STDMETHOD(GetActiveEndDate)(THIS_ LPLONG pRetVal) PURE;
  5713.     STDMETHOD(SetActiveEndDate)(THIS_ long NewValue) PURE;
  5714.     STDMETHOD(GetActiveStartTimeOfDay)(THIS_ LPLONG pRetVal) PURE;
  5715.     STDMETHOD(SetActiveStartTimeOfDay)(THIS_ long NewValue) PURE;
  5716.     STDMETHOD(GetActiveEndTimeOfDay)(THIS_ LPLONG pRetVal) PURE;
  5717.     STDMETHOD(SetActiveEndTimeOfDay)(THIS_ long NewValue) PURE;
  5718.     STDMETHOD(GetLogBatchSize)(THIS_ LPLONG pRetVal) PURE;
  5719.     STDMETHOD(SetLogBatchSize)(THIS_ long NewValue) PURE;
  5720.     STDMETHOD(GetCommitTransactionCount)(THIS_ LPLONG pRetVal) PURE;
  5721.     STDMETHOD(SetCommitTransactionCount)(THIS_ long NewValue) PURE;
  5722.     STDMETHOD(GetLogin)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  5723.     STDMETHOD(SetLogin)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  5724.     STDMETHOD(GetPassword)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  5725.     STDMETHOD(SetPassword)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  5726.     STDMETHOD(GetType)(THIS_ SQLOLE_SUBSCRIBERINFO_TYPE *pRetVal) PURE;
  5727.     STDMETHOD(SetType)(THIS_ SQLOLE_SUBSCRIBERINFO_TYPE NewValue) PURE;
  5728.  
  5729.     //*** methods
  5730.     STDMETHOD(Refresh)(THIS) PURE;
  5731.     STDMETHOD(BeginAlter)(THIS) PURE;
  5732.     STDMETHOD(DoAlter)(THIS) PURE;
  5733.     STDMETHOD(CancelAlter)(THIS) PURE;
  5734.  
  5735.     // Post-6.0
  5736.     STDMETHOD(GetDescription)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  5737.     STDMETHOD(SetDescription)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  5738. };
  5739.  
  5740. #undef INTERFACE
  5741. #define INTERFACE ISQLOLEAlertSystem
  5742. DECLARE_INTERFACE_(INTERFACE, ISQLOLEStdObject)
  5743. {
  5744.    //*** IUnknown methods
  5745.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  5746.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  5747.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  5748.  
  5749.     //*** SQLOLE standard object properties.
  5750.     STDMETHOD(GetApplication)(THIS_ LPSQLOLEAPPLICATION *ppApp) PURE;
  5751.     STDMETHOD(GetParent)(THIS_ LPSQLOLESTDOBJECT *ppParent) PURE;
  5752.     STDMETHOD(GetTypeOf)(THIS_ SQLOLE_OBJECT_TYPE *pRetVal) PURE;
  5753.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  5754.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  5755.  
  5756.     //*** properties
  5757.     STDMETHOD(GetFailSafeOperator)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  5758.     STDMETHOD(SetFailSafeOperator)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  5759.     STDMETHOD(GetNotificationMethod)(THIS_ SQLOLE_NOTIFY_TYPE *pRetVal) PURE;
  5760.     STDMETHOD(SetNotificationMethod)(THIS_ SQLOLE_NOTIFY_TYPE NewValue) PURE;
  5761.     STDMETHOD(GetForwardingServer)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  5762.     STDMETHOD(SetForwardingServer)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  5763.     STDMETHOD(GetForwardingSeverity)(THIS_ LPLONG pRetVal) PURE;
  5764.     STDMETHOD(SetForwardingSeverity)(THIS_ long NewValue) PURE;
  5765.     STDMETHOD(GetPagerToTemplate)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  5766.     STDMETHOD(SetPagerToTemplate)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  5767.     STDMETHOD(GetPagerCCTemplate)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  5768.     STDMETHOD(SetPagerCCTemplate)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  5769.     STDMETHOD(GetPagerSubjectTemplate)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  5770.     STDMETHOD(SetPagerSubjectTemplate)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  5771.     STDMETHOD(GetPagerSendSubjectOnly)(THIS_ LPBOOL pRetVal) PURE;
  5772.     STDMETHOD(SetPagerSendSubjectOnly)(THIS_ BOOL NewValue) PURE;
  5773.  
  5774.     //*** methods
  5775.     STDMETHOD(Refresh)(THIS) PURE;
  5776.     STDMETHOD(BeginAlter)(THIS) PURE;
  5777.     STDMETHOD(DoAlter)(THIS) PURE;
  5778.     STDMETHOD(CancelAlter)(THIS) PURE;
  5779. };
  5780.  
  5781. #undef INTERFACE
  5782. #define INTERFACE ISQLOLEServerGroup
  5783. DECLARE_INTERFACE_(INTERFACE, ISQLOLEStdObject)
  5784. {
  5785.    //*** IUnknown methods
  5786.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  5787.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  5788.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  5789.  
  5790.     //*** SQLOLE standard object properties.
  5791.     STDMETHOD(GetApplication)(THIS_ LPSQLOLEAPPLICATION *ppApp) PURE;
  5792.     STDMETHOD(GetParent)(THIS_ LPSQLOLESTDOBJECT *ppParent) PURE;
  5793.     STDMETHOD(GetTypeOf)(THIS_ SQLOLE_OBJECT_TYPE *pRetVal) PURE;
  5794.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  5795.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  5796.  
  5797.     //*** properties
  5798.     STDMETHOD(GetName)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  5799.     STDMETHOD(SetName)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  5800.  
  5801.     //*** Collection Properties
  5802.     STDMETHOD(GetRegisteredServers)(THIS_ LPSQLOLEREGISTEREDSERVERS *ppRegisteredServers) PURE;
  5803.     STDMETHOD(GetRegisteredServerByName)(THIS_ SQLOLE_LPCSTR szName, LPSQLOLEREGISTEREDSERVER *ppRegisteredServer) PURE;
  5804.     STDMETHOD(GetRegisteredServerByOrd)(THIS_ long lOrdinal, LPSQLOLEREGISTEREDSERVER *ppRegisteredServer) PURE;
  5805.     STDMETHOD(RemoveRegisteredServerByName)(THIS_ SQLOLE_LPCSTR szName) PURE;
  5806.     STDMETHOD(RemoveRegisteredServerByOrd)(THIS_ long lOrdinal) PURE;
  5807.     STDMETHOD(AddRegisteredServer)(THIS_ LPSQLOLEREGISTEREDSERVER pRegisteredServer) PURE;
  5808.     STDMETHOD(GetRegisteredServerCount)(THIS_ LPLONG plCount) PURE;
  5809.  
  5810.     //*** methods
  5811.     STDMETHOD(Remove)(THIS) PURE;
  5812. };
  5813.  
  5814. #undef INTERFACE
  5815. #define INTERFACE ISQLOLERegisteredServer
  5816. DECLARE_INTERFACE_(INTERFACE, ISQLOLEStdObject)
  5817. {
  5818.    //*** IUnknown methods
  5819.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  5820.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  5821.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  5822.  
  5823.     //*** SQLOLE standard object properties.
  5824.     STDMETHOD(GetApplication)(THIS_ LPSQLOLEAPPLICATION *ppApp) PURE;
  5825.     STDMETHOD(GetParent)(THIS_ LPSQLOLESTDOBJECT *ppParent) PURE;
  5826.     STDMETHOD(GetTypeOf)(THIS_ SQLOLE_OBJECT_TYPE *pRetVal) PURE;
  5827.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  5828.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  5829.  
  5830.     //*** properties
  5831.     STDMETHOD(GetName)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  5832.     STDMETHOD(SetName)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  5833.     STDMETHOD(GetLogin)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  5834.     STDMETHOD(SetLogin)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  5835.     STDMETHOD(GetPassword)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  5836.     STDMETHOD(SetPassword)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  5837.     STDMETHOD(GetUseTrustedConnection)(THIS_ LPBOOL pRetVal) PURE;
  5838.     STDMETHOD(SetUseTrustedConnection)(THIS_ BOOL NewValue) PURE;
  5839.     STDMETHOD(GetVersionMajor)(THIS_ LPLONG pRetVal) PURE;
  5840.     STDMETHOD(GetVersionMinor)(THIS_ LPLONG pRetVal) PURE;
  5841.     STDMETHOD(GetSaLogin)(THIS_ LPBOOL pRetVal) PURE;
  5842.     STDMETHOD(GetPersistFlags)(THIS_ LPLONG pRetVal) PURE;
  5843.     STDMETHOD(SetPersistFlags)(THIS_ LONG NewValue) PURE;
  5844.  
  5845.     //*** methods
  5846.     STDMETHOD(Remove)(THIS) PURE;
  5847. };
  5848.  
  5849. #undef INTERFACE
  5850. #define INTERFACE ISQLOLETransfer
  5851. DECLARE_INTERFACE_(INTERFACE, ISQLOLEStdObject)
  5852. {
  5853.    //*** IUnknown methods
  5854.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  5855.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  5856.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  5857.  
  5858.     //*** SQLOLE standard object properties.
  5859.     STDMETHOD(GetApplication)(THIS_ LPSQLOLEAPPLICATION *ppApp) PURE;
  5860.     STDMETHOD(GetParent)(THIS_ LPSQLOLESTDOBJECT *ppParent) PURE;
  5861.     STDMETHOD(GetTypeOf)(THIS_ SQLOLE_OBJECT_TYPE *pRetVal) PURE;
  5862.     STDMETHOD(GetUserData)(THIS_ LPVOID *pRetVal) PURE;
  5863.     STDMETHOD(SetUserData)(THIS_ LPVOID lpvNewValue) PURE;
  5864.  
  5865.     //*** properties
  5866.     STDMETHOD(GetDestServer)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  5867.     STDMETHOD(SetDestServer)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  5868.     STDMETHOD(GetDestLogin)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  5869.     STDMETHOD(SetDestLogin)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  5870.     STDMETHOD(GetDestPassword)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  5871.     STDMETHOD(SetDestPassword)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  5872.     STDMETHOD(GetDestDatabase)(THIS_ SQLOLE_LPBSTR pRetVal) PURE;
  5873.     STDMETHOD(SetDestDatabase)(THIS_ SQLOLE_LPCSTR NewValue) PURE;
  5874.     STDMETHOD(GetDestUseTrustedConnection)(THIS_ LPBOOL pRetVal) PURE;
  5875.     STDMETHOD(SetDestUseTrustedConnection)(THIS_ BOOL NewValue) PURE;
  5876.     STDMETHOD(GetCopyData)(THIS_ SQLOLE_COPYDATA_TYPE *pRetVal) PURE;
  5877.     STDMETHOD(SetCopyData)(THIS_ SQLOLE_COPYDATA_TYPE NewValue) PURE;
  5878.     STDMETHOD(GetCopySchema)(THIS_ LPBOOL pRetVal) PURE;
  5879.     STDMETHOD(SetCopySchema)(THIS_ BOOL NewValue) PURE;
  5880.     STDMETHOD(GetCopyAllObjects)(THIS_ LPBOOL pRetVal) PURE;
  5881.     STDMETHOD(SetCopyAllObjects)(THIS_ BOOL NewValue) PURE;
  5882.     STDMETHOD(GetCopyAllTables)(THIS_ LPBOOL pRetVal) PURE;
  5883.     STDMETHOD(SetCopyAllTables)(THIS_ BOOL NewValue) PURE;
  5884.     STDMETHOD(GetCopyAllViews)(THIS_ LPBOOL pRetVal) PURE;
  5885.     STDMETHOD(SetCopyAllViews)(THIS_ BOOL NewValue) PURE;
  5886.     STDMETHOD(GetCopyAllStoredProcedures)(THIS_ LPBOOL pRetVal) PURE;
  5887.     STDMETHOD(SetCopyAllStoredProcedures)(THIS_ BOOL NewValue) PURE;
  5888.     STDMETHOD(GetCopyAllUserDefinedDatatypes)(THIS_ LPBOOL pRetVal) PURE;
  5889.     STDMETHOD(SetCopyAllUserDefinedDatatypes)(THIS_ BOOL NewValue) PURE;
  5890.     STDMETHOD(GetCopyAllRules)(THIS_ LPBOOL pRetVal) PURE;
  5891.     STDMETHOD(SetCopyAllRules)(THIS_ BOOL NewValue) PURE;
  5892.     STDMETHOD(GetCopyAllDefaults)(THIS_ LPBOOL pRetVal) PURE;
  5893.     STDMETHOD(SetCopyAllDefaults)(THIS_ BOOL NewValue) PURE;
  5894.     STDMETHOD(GetCopyAllTriggers)(THIS_ LPBOOL pRetVal) PURE;
  5895.     STDMETHOD(SetCopyAllTriggers)(THIS_ BOOL NewValue) PURE;
  5896.     STDMETHOD(GetIncludeDependencies)(THIS_ LPBOOL pRetVal) PURE;
  5897.     STDMETHOD(SetIncludeDependencies)(THIS_ BOOL NewValue) PURE;
  5898.     STDMETHOD(GetIncludeUsers)(THIS_ LPBOOL pRetVal) PURE;
  5899.     STDMETHOD(SetIncludeUsers)(THIS_ BOOL NewValue) PURE;
  5900.     STDMETHOD(GetIncludeGroups)(THIS_ LPBOOL pRetVal) PURE;
  5901.     STDMETHOD(SetIncludeGroups)(THIS_ BOOL NewValue) PURE;
  5902.     STDMETHOD(GetIncludeLogins)(THIS_ LPBOOL pRetVal) PURE;
  5903.     STDMETHOD(SetIncludeLogins)(THIS_ BOOL NewValue) PURE;
  5904.     STDMETHOD(GetDropDestObjectsFirst)(THIS_ LPBOOL pRetVal) PURE;
  5905.     STDMETHOD(SetDropDestObjectsFirst)(THIS_ BOOL NewValue) PURE;
  5906.     STDMETHOD(GetScriptType)(THIS_ SQLOLE_SCRIPT_TYPE * pRetVal) PURE;
  5907.     STDMETHOD(SetScriptType)(THIS_ SQLOLE_SCRIPT_TYPE NewValue) PURE;
  5908.  
  5909.     //*** methods
  5910.     STDMETHOD(AddObjectByName)(THIS_ SQLOLE_LPCSTR ObjectName, SQLOLE_OBJECT_TYPE ObjectType) PURE;
  5911.     STDMETHOD(AddObject)(THIS_ LPSQLOLEDBOBJECT DBObject) PURE;
  5912.     STDMETHOD(ListObjectNames)(THIS_ SQLOLE_OBJECT_TYPE ObjectType, LPSQLOLENAMELIST * ppList) PURE;
  5913.     STDMETHOD(Abort)(THIS) PURE;
  5914. };
  5915.  
  5916. /////////////////////////////////////////////////////////////////////////////
  5917. //        SQLOLE Connection Point Sink Interfaces
  5918. /////////////////////////////////////////////////////////////////////////////
  5919.  
  5920. #undef INTERFACE
  5921. #define INTERFACE ISQLOLETransferSink
  5922. DECLARE_INTERFACE_(INTERFACE, IUnknown)
  5923. {
  5924.    //*** IUnknown methods
  5925.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  5926.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  5927.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  5928.  
  5929.     //*** Sink properties and methods.
  5930.     STDMETHOD(StatusMessage)(THIS_ SQLOLE_LPCSTR szMessage) PURE;
  5931.     STDMETHOD(PercentCompleteAtStep)(THIS_ SQLOLE_LPCSTR szMessage, long Percent) PURE;
  5932.     STDMETHOD(ScriptTransferPercentComplete)(THIS_ SQLOLE_LPCSTR szMessage, long Percent) PURE;
  5933.     STDMETHOD(TransferPercentComplete)(THIS_ SQLOLE_LPCSTR szMessage, long Percent) PURE;
  5934. };
  5935.  
  5936. #undef INTERFACE
  5937. #define INTERFACE ISQLOLEServerSink
  5938. DECLARE_INTERFACE_(INTERFACE, IUnknown)
  5939. {
  5940.    //*** IUnknown methods
  5941.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  5942.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  5943.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  5944.  
  5945.     //*** Sink properties and methods.
  5946.     STDMETHOD(QueryTimeout)(THIS_ SQLOLE_LPCSTR Message, LPBOOL Continue) PURE;
  5947.     STDMETHOD(ServerMessage)(THIS_ long Severity, long MessageNumber, long MessageState, SQLOLE_LPCSTR Message) PURE;
  5948.     STDMETHOD(ConnectionBroken)(THIS_ SQLOLE_LPCSTR Message, LPBOOL Retry) PURE;
  5949.     STDMETHOD(RemoteLoginFailed)(THIS_ long Severity, long MessageNumber, long MessageState, SQLOLE_LPCSTR Message) PURE;
  5950.     STDMETHOD(CommandSent)(THIS_ SQLOLE_LPCSTR szSQL) PURE;
  5951. };
  5952.  
  5953. #undef INTERFACE
  5954. #define INTERFACE ISQLOLEBackupSink
  5955. DECLARE_INTERFACE_(INTERFACE, IUnknown)
  5956. {
  5957.    //*** IUnknown methods
  5958.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  5959.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  5960.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  5961.  
  5962.     //*** Sink properties and methods.
  5963.     STDMETHOD(PercentComplete)(THIS_ SQLOLE_LPCSTR Message, long Percent) PURE;
  5964.     STDMETHOD(NextVolume)(THIS_ SQLOLE_LPCSTR Message) PURE;
  5965.     STDMETHOD(DumpComplete)(THIS_ SQLOLE_LPCSTR Message) PURE;
  5966. };
  5967.  
  5968. #undef INTERFACE
  5969. #define INTERFACE ISQLOLEBulkCopySink
  5970. DECLARE_INTERFACE_(INTERFACE, IUnknown)
  5971. {
  5972.    //*** IUnknown methods
  5973.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID *ppvObj) PURE;
  5974.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  5975.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  5976.  
  5977.     //*** Sink properties and methods.
  5978.     STDMETHOD(RowsCopied)(THIS_ SQLOLE_LPCSTR Message, long Rows) PURE;
  5979.     STDMETHOD(BatchImported)(THIS_ SQLOLE_LPCSTR Message) PURE;
  5980. };
  5981.  
  5982. #ifdef _SQLOLE_INTERNAL_
  5983. #endif
  5984.  
  5985. #endif    // !_SQLOLE_ODL_
  5986. #endif    // _SQLOLE_H_
  5987.