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