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