home *** CD-ROM | disk | FTP | other *** search
/ Delphi Anthology / aDELPHI.iso / Runimage / Delphi50 / Source / Vcl / oledb.pas < prev    next >
Pascal/Delphi Source File  |  1999-08-11  |  255KB  |  7,140 lines

  1.  
  2. {*******************************************************}
  3. {                                                       }
  4. {       Borland Delphi Visual Component Library         }
  5. {       OLEDB Interface Unit                            }
  6. {                                                       }
  7. {       Copyright (c) 1999 Inprise Corporation          }
  8. {                                                       }
  9. {*******************************************************}
  10.  
  11. unit OLEDB;
  12.  
  13. interface
  14.  
  15. uses Windows, ActiveX;
  16.  
  17. // *********************************************************************//
  18. // GUID declarations                                                    //
  19. // *********************************************************************//
  20. const
  21.   CLSID_OLEDB_ENUMERATOR: TGUID = '{C8B522D0-5CF3-11CE-ADE5-00AA0044773D}'; {MSDAENUM}
  22.   CLSID_EXTENDEDERRORINFO: TGUID = '{C8B522CF-5CF3-11CE-ADE5-00AA0044773D}'; {MSDAERR}
  23.   CLSID_MSDAVTM: TGUID = '{0C733A8E-2A1C-11CE-ADE5-00AA0044773D}'; {MSDAVTM}
  24.   CLSID_OLEDB_CONVERSIONLIBRARY: TGUID = '{C8B522D1-5CF3-11CE-ADE5-00AA0044773D}'; {MSDADC}
  25.   CLSID_OLEDB_ROWPOSITIONLIBRARY: TGUID = '{2048EEE6-7FA2-11D0-9E6A-00A0C9138C29}'; {RowPosition.RowPosition}
  26.   CLSID_DATALINKS: TGUID = '{2206CDB2-19C1-11D1-89E0-00C04FD7A829}'; {DataLinks}
  27.  
  28.   IID_ITransaction: TGUID = '{0FB15084-AF41-11CE-BD2B-204C4F4F5020}';
  29.   IID_ITransactionOptions: TGUID = '{3A6AD9E0-23B9-11CF-AD60-00AA00A74CCD}';
  30.   IID_ITransactionDispenser: TGUID = '{3A6AD9E1-23B9-11CF-AD60-00AA00A74CCD}';
  31.   IID_ITransactionOutcomeEvents: TGUID = '{3A6AD9E2-23B9-11CF-AD60-00AA00A74CCD}';
  32.   IID_IAccessor: TGUID = '{0C733A8C-2A1C-11CE-ADE5-00AA0044773D}';
  33.   IID_IRowset: TGUID = '{0C733A7C-2A1C-11CE-ADE5-00AA0044773D}';
  34.   IID_IRowsetInfo: TGUID = '{0C733A55-2A1C-11CE-ADE5-00AA0044773D}';
  35.   IID_IRowsetLocate: TGUID = '{0C733A7D-2A1C-11CE-ADE5-00AA0044773D}';
  36.   IID_IRowsetResynch: TGUID = '{0C733A84-2A1C-11CE-ADE5-00AA0044773D}';
  37.   IID_IRowsetScroll: TGUID = '{0C733A7E-2A1C-11CE-ADE5-00AA0044773D}';
  38.   IID_IRowsetChange: TGUID = '{0C733A05-2A1C-11CE-ADE5-00AA0044773D}';
  39.   IID_IRowsetUpdate: TGUID = '{0C733A6D-2A1C-11CE-ADE5-00AA0044773D}';
  40.   IID_IRowsetIndex: TGUID = '{0C733A82-2A1C-11CE-ADE5-00AA0044773D}';
  41.   IID_IMultipleResults: TGUID = '{0C733A90-2A1C-11CE-ADE5-00AA0044773D}';
  42.   IID_IConvertType: TGUID = '{0C733A88-2A1C-11CE-ADE5-00AA0044773D}';
  43.   IID_ICommandPrepare: TGUID = '{0C733A26-2A1C-11CE-ADE5-00AA0044773D}';
  44.   IID_ICommandProperties: TGUID = '{0C733A79-2A1C-11CE-ADE5-00AA0044773D}';
  45.   IID_ICommand: TGUID = '{0C733A63-2A1C-11CE-ADE5-00AA0044773D}';
  46.   IID_ICommandWithParameters: TGUID = '{0C733A10-2A1C-11CE-ADE5-00AA0044773D}';
  47.   IID_ICommandText: TGUID = '{0C733A27-2A1C-11CE-ADE5-00AA0044773D}';
  48.   IID_IColumnsRowset: TGUID = '{0C733A10-2A1C-11CE-ADE5-00AA0044773D}';
  49.   IID_IColumnsInfo: TGUID = '{0C733A11-2A1C-11CE-ADE5-00AA0044773D}';
  50.   IID_IDBCreateCommand: TGUID = '{0C733A1D-2A1C-11CE-ADE5-00AA0044773D}';
  51.   IID_IDBCreateSession: TGUID = '{0C733A5D-2A1C-11CE-ADE5-00AA0044773D}';
  52.   IID_ISourcesRowset: TGUID = '{0C733A1E-2A1C-11CE-ADE5-00AA0044773D}';
  53.   IID_IDBProperties: TGUID = '{0C733A8A-2A1C-11CE-ADE5-00AA0044773D}';
  54.   IID_IDBInitialize: TGUID = '{0C733A8B-2A1C-11CE-ADE5-00AA0044773D}';
  55.   IID_IDBInfo: TGUID = '{0C733A89-2A1C-11CE-ADE5-00AA0044773D}';
  56.   IID_IDBDataSourceAdmin: TGUID = '{0C733A7A-2A1C-11CE-ADE5-00AA0044773D}';
  57.   IID_ISessionProperties: TGUID = '{0C733A85-2A1C-11CE-ADE5-00AA0044773d}';
  58.   IID_IIndexDefinition: TGUID = '{0C733A68-2A1C-11CE-ADE5-00AA0044773D}';
  59.   IID_ITableDefinition: TGUID = '{0C733A86-2A1C-11CE-ADE5-00AA0044773D}';
  60.   IID_IOpenRowset: TGUID = '{0C733A69-2A1C-11CE-ADE5-00AA0044773D}';
  61.   IID_IErrorLookup: TGUID = '{0C733A66-2A1C-11CE-ADE5-00AA0044773D}';
  62.   IID_ISQLErrorInfo: TGUID = '{0C733A74-2A1C-11CE-ADE5-00AA0044773D}';
  63.   IID_IGetDataSource: TGUID = '{0C733A75-2A1C-11CE-ADE5-00AA0044773D}';
  64.   IID_ITransactionLocal: TGUID = '{0C733A5F-2A1C-11CE-ADE5-00AA0044773D}';
  65.   IID_ITransactionJoin: TGUID = '{0C733A5E-2A1C-11CE-ADE5-00AA0044773D}';
  66.   IID_ITransactionObject: TGUID = '{0C733A60-2A1C-11CE-ADE5-00AA0044773D}';
  67.   IID_IDBAsynchStatus: TGUID = '{0C733A95-2A1C-11CE-ADE5-00AA0044773D}';
  68.   IID_IRowsetFind: TGUID = '{0C733A9D-2A1C-11CE-ADE5-00AA0044773D}';
  69.   IID_IRowPosition: TGUID = '{0C733A94-2A1C-11CE-ADE5-00AA0044773D}';
  70.   IID_IRowPositionChange: TGUID = '{0997A571-126E-11D0-9F8A-00A0C9A0631E}';
  71.   IID_IViewRowset: TGUID = '{0C733A97-2A1C-11CE-ADE5-00AA0044773D}';
  72.   IID_IViewChapter: TGUID = '{0C733A98-2A1C-11CE-ADE5-00AA0044773D}';
  73.   IID_IViewSort: TGUID = '{0C733A9A-2A1C-11CE-ADE5-00AA0044773D}';
  74.   IID_IViewFilter: TGUID = '{0C733A9B-2A1C-11CE-ADE5-00AA0044773D}';
  75.   IID_IRowsetView: TGUID = '{0C733A99-2A1C-11CE-ADE5-00AA0044773D}';
  76.   IID_IMDFind: TGUID = '{A07CCCD2-8148-11D0-87BB-00C04FC33942}';
  77.   IID_IMDRangeRowset: TGUID = '{0C733AA0-2A1C-11CE-ADE5-00AA0044773D}';
  78.   IID_IAlterTable: TGUID = '{0C733AA5-2A1C-11CE-ADE5-00AA0044773D}';
  79.   IID_IAlterIndex: TGUID = '{0C733AA6-2A1C-11CE-ADE5-00AA0044773D}';
  80.   IID_ICommandPersist: TGUID = '{0C733AA7-2A1C-11CE-ADE5-00AA0044773D}';
  81.   IID_IRowsetChapterMember: TGUID = '{0C733AA8-2A1C-11CE-ADE5-00AA0044773D}';
  82.   IID_IRowsetRefresh: TGUID = '{0C733AA9-2A1C-11CE-ADE5-00AA0044773D}';
  83.   IID_IParentRowset: TGUID = '{0C733AAA-2A1C-11CE-ADE5-00AA0044773D}';
  84.   IID_ITrusteeGroupAdmin: TGUID = '{0C733AA2-2A1C-11CE-ADE5-00AA0044773D}';
  85.   IID_IObjectAccessControl: TGUID = '{0C733AA3-2A1C-11CE-ADE5-00AA0044773D}';
  86.   IID_ISecurityInfo: TGUID = '{0C733AA4-2A1C-11CE-ADE5-00AA0044773D}';
  87.   IID_IDBPromptInitialize: TGUID = '{2206CCB0-19C1-11D1-89E0-00C04FD7A829}';
  88.   IID_IDataInitialize: TGUID = '{2206CCB1-19C1-11D1-89E0-00C04FD7A829}';
  89.  
  90.   DBSCHEMA_TABLES_INFO: TGUID = '{C8B522E0-5CF3-11CE-ADE5-00AA0044773D}';
  91.   MDGUID_MDX: TGUID = '{A07CCCD0-8148-11D0-87BB-00C04FC33942}';
  92.   DBGUID_MDX: TGUID = '{A07CCCD0-8148-11D0-87BB-00C04FC33942}';
  93.   MDSCHEMA_CUBES: TGUID = '{C8B522D8-5CF3-11CE-ADE5-00AA0044773D}';
  94.   MDSCHEMA_DIMENSIONS: TGUID = '{C8B522D9-5CF3-11CE-ADE5-00AA0044773D}';
  95.   MDSCHEMA_HIERARCHIES: TGUID = '{C8B522DA-5CF3-11CE-ADE5-00AA0044773D}';
  96.   MDSCHEMA_LEVELS: TGUID = '{C8B522DB-5CF3-11CE-ADE5-00AA0044773D}';
  97.   MDSCHEMA_MEASURES: TGUID = '{C8B522DC-5CF3-11CE-ADE5-00AA0044773D}';
  98.   MDSCHEMA_PROPERTIES: TGUID = '{C8B522DD-5CF3-11CE-ADE5-00AA0044773D}';
  99.   MDSCHEMA_MEMBERS: TGUID = '{C8B522DE-5CF3-11CE-ADE5-00AA0044773D}';
  100.   DBPROPSET_TRUSTEE: TGUID = '{C8B522E1-5CF3-11CE-ADE5-00AA0044773D}';
  101.  
  102.   DBOBJECT_TABLE: TGUID = '{C8B522E2-5CF3-11CE-ADE5-00AA0044773D}';
  103.   DBOBJECT_COLUMN: TGUID = '{C8B522E4-5CF3-11CE-ADE5-00AA0044773D}';
  104.   DBOBJECT_DATABASE: TGUID = '{C8B522E5-5CF3-11CE-ADE5-00AA0044773D}';
  105.   DBOBJECT_PROCEDURE: TGUID = '{C8B522E6-5CF3-11CE-ADE5-00AA0044773D}';
  106.   DBOBJECT_VIEW: TGUID = '{C8B522E7-5CF3-11CE-ADE5-00AA0044773D}';
  107.   DBOBJECT_SCHEMA: TGUID = '{C8B522E8-5CF3-11CE-ADE5-00AA0044773D}';
  108.   DBOBJECT_DOMAIN: TGUID = '{C8B522E9-5CF3-11CE-ADE5-00AA0044773D}';
  109.   DBOBJECT_COLLATION: TGUID = '{C8B522EA-5CF3-11CE-ADE5-00AA0044773D}';
  110.   DBOBJECT_TRUSTEE: TGUID = '{C8B522EB-5CF3-11CE-ADE5-00AA0044773D}';
  111.   DBOBJECT_SCHEMAROWSET: TGUID = '{C8B522EC-5CF3-11CE-ADE5-00AA0044773D}';
  112.   DBOBJECT_CHARACTERSET: TGUID = '{C8B522ED-5CF3-11CE-ADE5-00AA0044773D}';
  113.   DBOBJECT_TRANSLATION: TGUID = '{C8B522EE-5CF3-11CE-ADE5-00AA0044773D}';
  114.  
  115.   DB_PROPERTY_CHECK_OPTION: TGUID = '{C8B5220B-5CF3-11CE-ADE5-00AA0044773D}';
  116.   DB_PROPERTY_CONSTRAINT_CHECK_DEFERRED: TGUID = '{C8B521F0-5CF3-11CE-ADE5-00AA0044773D}';
  117.   DB_PROPERTY_DROP_CASCADE: TGUID = '{C8B521F3-5CF3-11CE-ADE5-00AA0044773D}';
  118.   DB_PROPERTY_UNIQUE: TGUID = '{C8B521F5-5CF3-11CE-ADE5-00AA0044773D}';
  119.   DB_PROPERTY_ON_COMMIT_PRESERVE_ROWS: TGUID = '{C8B52230-5CF3-11CE-ADE5-00AA0044773D}';
  120.   DB_PROPERTY_PRIMARY: TGUID = '{C8B521FC-5CF3-11CE-ADE5-00AA0044773D}';
  121.   DB_PROPERTY_CLUSTERED: TGUID = '{C8B521FF-5CF3-11CE-ADE5-00AA0044773D}';
  122.   DB_PROPERTY_NONCLUSTERED: TGUID = '{C8B52200-5CF3-11CE-ADE5-00AA0044773D}';
  123.   DB_PROPERTY_BTREE: TGUID = '{C8B52201-5CF3-11CE-ADE5-00AA0044773D}';
  124.   DB_PROPERTY_HASH: TGUID = '{C8B52202-5CF3-11CE-ADE5-00AA0044773D}';
  125.   DB_PROPERTY_FILLFACTOR: TGUID = '{C8B52203-5CF3-11CE-ADE5-00AA0044773D}';
  126.   DB_PROPERTY_INITIALSIZE: TGUID = '{C8B52204-5CF3-11CE-ADE5-00AA0044773D}';
  127.   DB_PROPERTY_DISALLOWNULL: TGUID = '{C8B52205-5CF3-11CE-ADE5-00AA0044773D}';
  128.   DB_PROPERTY_IGNORENULL: TGUID = '{C8B52206-5CF3-11CE-ADE5-00AA0044773D}';
  129.   DB_PROPERTY_IGNOREANYNULL: TGUID = '{C8B52207-5CF3-11CE-ADE5-00AA0044773D}';
  130.   DB_PROPERTY_SORTBOOKMARKS: TGUID = '{C8B52208-5CF3-11CE-ADE5-00AA0044773D}';
  131.   DB_PROPERTY_AUTOMATICUPDATE: TGUID = '{C8B52209-5CF3-11CE-ADE5-00AA0044773D}';
  132.   DB_PROPERTY_EXPLICITUPDATE: TGUID = '{C8B5220A-5CF3-11CE-ADE5-00AA0044773D}';
  133.  
  134.   DBGUID_LIKE_SQL: TGUID = '{C8B521F6-5CF3-11CE-ADE5-00AA0044773D}';
  135.   DBGUID_LIKE_DOS: TGUID = '{C8B521F7-5CF3-11CE-ADE5-00AA0044773D}';
  136.   DBGUID_LIKE_OFS: TGUID = '{C8B521F8-5CF3-11CE-ADE5-00AA0044773D}';
  137.   DBGUID_LIKE_MAPI: TGUID = '{C8B521F9-5CF3-11CE-ADE5-00AA0044773D}';
  138.  
  139.   DBSCHEMA_ASSERTIONS: TGUID = '{C8B52210-5CF3-11CE-ADE5-00AA0044773D}';
  140.   DBSCHEMA_CATALOGS: TGUID = '{C8B52211-5CF3-11CE-ADE5-00AA0044773D}';
  141.   DBSCHEMA_CHARACTER_SETS: TGUID = '{C8B52212-5CF3-11CE-ADE5-00AA0044773D}';
  142.   DBSCHEMA_COLLATIONS: TGUID = '{C8B52213-5CF3-11CE-ADE5-00AA0044773D}';
  143.   DBSCHEMA_COLUMNS: TGUID = '{C8B52214-5CF3-11CE-ADE5-00AA0044773D}';
  144.   DBSCHEMA_CHECK_CONSTRAINTS: TGUID = '{C8B52215-5CF3-11CE-ADE5-00AA0044773D}';
  145.   DBSCHEMA_CONSTRAINT_COLUMN_USAGE: TGUID = '{C8B52216-5CF3-11CE-ADE5-00AA0044773D}';
  146.   DBSCHEMA_CONSTRAINT_TABLE_USAGE: TGUID = '{C8B52217-5CF3-11CE-ADE5-00AA0044773D}';
  147.   DBSCHEMA_KEY_COLUMN_USAGE: TGUID = '{C8B52218-5CF3-11CE-ADE5-00AA0044773D}';
  148.   DBSCHEMA_REFERENTIAL_CONSTRAINTS: TGUID = '{C8B52219-5CF3-11CE-ADE5-00AA0044773D}';
  149.   DBSCHEMA_TABLE_CONSTRAINTS: TGUID = '{C8B5221A-5CF3-11CE-ADE5-00AA0044773D}';
  150.   DBSCHEMA_COLUMN_DOMAIN_USAGE: TGUID = '{C8B5221B-5CF3-11CE-ADE5-00AA0044773D}';
  151.   DBSCHEMA_INDEXES: TGUID = '{C8B5221E-5CF3-11CE-ADE5-00AA0044773D}';
  152.   DBSCHEMA_COLUMN_PRIVILEGES: TGUID = '{C8B52221-5CF3-11CE-ADE5-00AA0044773D}';
  153.   DBSCHEMA_TABLE_PRIVILEGES: TGUID = '{C8B52222-5CF3-11CE-ADE5-00AA0044773D}';
  154.   DBSCHEMA_USAGE_PRIVILEGES: TGUID = '{C8B52223-5CF3-11CE-ADE5-00AA0044773D}';
  155.   DBSCHEMA_PROCEDURES: TGUID = '{C8B52224-5CF3-11CE-ADE5-00AA0044773D}';
  156.   DBSCHEMA_SCHEMATA: TGUID = '{C8B52225-5CF3-11CE-ADE5-00AA0044773D}';
  157.   DBSCHEMA_SQL_LANGUAGES: TGUID = '{C8B52226-5CF3-11CE-ADE5-00AA0044773D}';
  158.   DBSCHEMA_STATISTICS: TGUID = '{C8B52227-5CF3-11CE-ADE5-00AA0044773D}';
  159.   DBSCHEMA_TABLES: TGUID = '{C8B52229-5CF3-11CE-ADE5-00AA0044773D}';
  160.   DBSCHEMA_TRANSLATIONS: TGUID = '{C8B5222A-5CF3-11CE-ADE5-00AA0044773D}';
  161.   DBSCHEMA_PROVIDER_TYPES: TGUID = '{C8B5222C-5CF3-11CE-ADE5-00AA0044773D}';
  162.   DBSCHEMA_VIEWS: TGUID = '{C8B5222D-5CF3-11CE-ADE5-00AA0044773D}';
  163.   DBSCHEMA_VIEW_COLUMN_USAGE: TGUID = '{C8B5222E-5CF3-11CE-ADE5-00AA0044773D}';
  164.   DBSCHEMA_VIEW_TABLE_USAGE: TGUID = '{C8B5222F-5CF3-11CE-ADE5-00AA0044773D}';
  165.   DBSCHEMA_PROCEDURE_PARAMETERS: TGUID = '{C8B522B8-5CF3-11CE-ADE5-00AA0044773D}';
  166.   DBSCHEMA_FOREIGN_KEYS: TGUID = '{C8B522C4-5CF3-11CE-ADE5-00AA0044773D}';
  167.   DBSCHEMA_PRIMARY_KEYS: TGUID = '{C8B522C5-5CF3-11CE-ADE5-00AA0044773D}';
  168.   DBSCHEMA_PROCEDURE_COLUMNS: TGUID = '{C8B522C9-5CF3-11CE-ADE5-00AA0044773D}';
  169.  
  170.   DBCOL_SELFCOLUMNS: TGUID = '{C8B52231-5CF3-11CE-ADE5-00AA0044773D}';
  171.   DBCOL_SPECIALCOL: TGUID = '{C8B52232-5CF3-11CE-ADE5-00AA0044773D}';
  172.   PSGUID_QUERY: TGUID = '{49691C90-7E17-101A-A91C-08002B2ECDA9}';
  173.  
  174.   DBPROPSET_COLUMN: TGUID = '{C8B522B9-5CF3-11CE-ADE5-00AA0044773D}';
  175.   DBPROPSET_DATASOURCE: TGUID = '{C8B522BA-5CF3-11CE-ADE5-00AA0044773D}';
  176.   DBPROPSET_DATASOURCEINFO: TGUID = '{C8B522BB-5CF3-11CE-ADE5-00AA0044773D}';
  177.   DBPROPSET_INDEX: TGUID = '{C8B522BD-5CF3-11CE-ADE5-00AA0044773D}';
  178.   DBPROPSET_DBINIT: TGUID = '{C8B522BC-5CF3-11CE-ADE5-00AA0044773D}';
  179.   DBPROPSET_ROWSET: TGUID = '{C8B522BE-5CF3-11CE-ADE5-00AA0044773D}';
  180.   DBPROPSET_SESSION: TGUID = '{C8B522C6-5CF3-11CE-ADE5-00AA0044773D}';
  181.   DBPROPSET_TABLE: TGUID = '{C8B522BF-5CF3-11CE-ADE5-00AA0044773D}';
  182.   DBPROPSET_PROPERTIESINERROR: TGUID = '{C8B522D4-5CF3-11CE-ADE5-00AA0044773D}';
  183.   DBPROPSET_VIEW: TGUID = '{C8B522DF-5CF3-11CE-ADE5-00AA0044773D}';
  184.  
  185.   DBPROPSET_COLUMNALL = '{C8B522F0-5CF3-11CE-ADE5-00AA0044773D}';
  186.   DBPROPSET_CONSTRAINTALL = '{C8B522FA-5CF3-11CE-ADE5-00AA0044773D}';
  187.   DBPROPSET_DATASOURCEALL: TGUID = '{C8B522C0-5CF3-11CE-ADE5-00AA0044773D}';
  188.   DBPROPSET_DATASOURCEINFOALL: TGUID = '{C8B522C1-5CF3-11CE-ADE5-00AA0044773D}';
  189.   DBPROPSET_DBINITALL: TGUID = '{C8B522CA-5CF3-11CE-ADE5-00AA0044773D}';
  190.   DBPROPSET_INDEXALL = '{C8B522F1-5CF3-11CE-ADE5-00AA0044773D}';
  191.   DBPROPSET_ROWSETALL: TGUID = '{C8B522C2-5CF3-11CE-ADE5-00AA0044773D}';
  192.   DBPROPSET_SESSIONALL: TGUID = '{C8B522C7-5CF3-11CE-ADE5-00AA0044773D}';
  193.   DBPROPSET_TABLEALL = '{C8B522F2-5CF3-11CE-ADE5-00AA0044773D}';
  194.   DBPROPSET_TRUSTEEALL = '{C8B522F3-5CF3-11CE-ADE5-00AA0044773D}';
  195.  
  196.  
  197.   DBGUID_DEFAULT: TGUID = '{C8B521FB-5CF3-11CE-ADE5-00AA0044773D}';
  198.   DBGUID_SQL: TGUID = '{C8B522D7-5CF3-11CE-ADE5-00AA0044773D}';
  199.  
  200. // *********************************************************************//
  201. // Constant Declarations                                                //
  202. // *********************************************************************//
  203.  
  204. const
  205.   MAXCOLS = 4096;
  206.   MAXBOUND = 65535; { High bound for arrays }
  207.   OLEDBVER = $0210;
  208.   {$EXTERNALSYM OLEDBVER}
  209.   DB_INVALID_HACCESSOR = $00;
  210.   {$EXTERNALSYM DB_INVALID_HACCESSOR}
  211.   DB_NULL_HROW = $00;
  212.   {$EXTERNALSYM DB_NULL_HROW}
  213.   DBWATCHREGION_NULL = nil;
  214.   {$EXTERNALSYM DBWATCHREGION_NULL}
  215.   DB_NULL_HCHAPTER = $00;
  216.   {$EXTERNALSYM DB_NULL_HCHAPTER}
  217.   STD_BOOKMARKLENGTH = 1;
  218.   {$EXTERNALSYM STD_BOOKMARKLENGTH}
  219.   DB_INVALIDCOLUMN = HIGH(ULONG);
  220.   {$EXTERNALSYM DB_INVALIDCOLUMN}
  221.   DBCIDGUID: TGuid = '{0C733A81-2A1C-11CE-ADE5-00AA0044773D}';
  222.   {$EXTERNALSYM DBCIDGUID}
  223.   DB_NULLGUID: TGuid = '{00000000-0000-0000-0000-000000000000}';
  224.   {$EXTERNALSYM DB_NULLGUID}
  225.   DBPROPVAL_BMK_NUMERIC = $00000001;
  226.   {$EXTERNALSYM DBPROPVAL_BMK_NUMERIC}
  227.   DBPROPVAL_BMK_KEY = $00000002;
  228.   {$EXTERNALSYM DBPROPVAL_BMK_KEY}
  229.   DBPROPVAL_CL_START = $00000001;
  230.   {$EXTERNALSYM DBPROPVAL_CL_START}
  231.   DBPROPVAL_CL_END = $00000002;
  232.   {$EXTERNALSYM DBPROPVAL_CL_END}
  233.   DBPROPVAL_CU_DML_STATEMENTS = $00000001;
  234.   {$EXTERNALSYM DBPROPVAL_CU_DML_STATEMENTS}
  235.   DBPROPVAL_CU_TABLE_DEFINITION = $00000002;
  236.   {$EXTERNALSYM DBPROPVAL_CU_TABLE_DEFINITION}
  237.   DBPROPVAL_CU_INDEX_DEFINITION = $00000004;
  238.   {$EXTERNALSYM DBPROPVAL_CU_INDEX_DEFINITION}
  239.   DBPROPVAL_CU_PRIVILEGE_DEFINITION = $00000008;
  240.   {$EXTERNALSYM DBPROPVAL_CU_PRIVILEGE_DEFINITION}
  241.   DBPROPVAL_CD_NOTNULL = $00000001;
  242.   {$EXTERNALSYM DBPROPVAL_CD_NOTNULL}
  243.   DBPROPVAL_CB_NULL = $00000001;
  244.   {$EXTERNALSYM DBPROPVAL_CB_NULL}
  245.   DBPROPVAL_CB_NON_NULL = $00000002;
  246.   {$EXTERNALSYM DBPROPVAL_CB_NON_NULL}
  247.   DBPROPVAL_FU_NOT_SUPPORTED = $00000001;
  248.   {$EXTERNALSYM DBPROPVAL_FU_NOT_SUPPORTED}
  249.   DBPROPVAL_FU_COLUMN = $00000002;
  250.   {$EXTERNALSYM DBPROPVAL_FU_COLUMN}
  251.   DBPROPVAL_FU_TABLE = $00000004;
  252.   {$EXTERNALSYM DBPROPVAL_FU_TABLE}
  253.   DBPROPVAL_FU_CATALOG = $00000008;
  254.   {$EXTERNALSYM DBPROPVAL_FU_CATALOG}
  255.   DBPROPVAL_GB_NOT_SUPPORTED = $00000001;
  256.   {$EXTERNALSYM DBPROPVAL_GB_NOT_SUPPORTED}
  257.   DBPROPVAL_GB_EQUALS_SELECT = $00000002;
  258.   {$EXTERNALSYM DBPROPVAL_GB_EQUALS_SELECT}
  259.   DBPROPVAL_GB_CONTAINS_SELECT = $00000004;
  260.   {$EXTERNALSYM DBPROPVAL_GB_CONTAINS_SELECT}
  261.   DBPROPVAL_GB_NO_RELATION = $00000008;
  262.   {$EXTERNALSYM DBPROPVAL_GB_NO_RELATION}
  263.   DBPROPVAL_HT_DIFFERENT_CATALOGS = $00000001;
  264.   {$EXTERNALSYM DBPROPVAL_HT_DIFFERENT_CATALOGS}
  265.   DBPROPVAL_HT_DIFFERENT_PROVIDERS = $00000002;
  266.   {$EXTERNALSYM DBPROPVAL_HT_DIFFERENT_PROVIDERS}
  267.   DBPROPVAL_IC_UPPER = $00000001;
  268.   {$EXTERNALSYM DBPROPVAL_IC_UPPER}
  269.   DBPROPVAL_IC_LOWER = $00000002;
  270.   {$EXTERNALSYM DBPROPVAL_IC_LOWER}
  271.   DBPROPVAL_IC_SENSITIVE = $00000004;
  272.   {$EXTERNALSYM DBPROPVAL_IC_SENSITIVE}
  273.   DBPROPVAL_IC_MIXED = $00000008;
  274.   {$EXTERNALSYM DBPROPVAL_IC_MIXED}
  275.   DBPROPVAL_LM_NONE = $00000001;
  276.   {$EXTERNALSYM DBPROPVAL_LM_NONE}
  277.   DBPROPVAL_LM_READ = $00000002;
  278.   {$EXTERNALSYM DBPROPVAL_LM_READ}
  279.   DBPROPVAL_LM_INTENT = $00000004;
  280.   {$EXTERNALSYM DBPROPVAL_LM_INTENT}
  281.   DBPROPVAL_LM_RITE = $00000008;
  282.   {$EXTERNALSYM DBPROPVAL_LM_RITE}
  283.   DBPROPVAL_NP_OKTODO = $00000001;
  284.   {$EXTERNALSYM DBPROPVAL_NP_OKTODO}
  285.   DBPROPVAL_NP_ABOUTTODO = $00000002;
  286.   {$EXTERNALSYM DBPROPVAL_NP_ABOUTTODO}
  287.   DBPROPVAL_NP_SYNCHAFTER = $00000004;
  288.   {$EXTERNALSYM DBPROPVAL_NP_SYNCHAFTER}
  289.   DBPROPVAL_NP_FAILEDTODO = $00000008;
  290.   {$EXTERNALSYM DBPROPVAL_NP_FAILEDTODO}
  291.   DBPROPVAL_NP_DIDEVENT = $00000010;
  292.   {$EXTERNALSYM DBPROPVAL_NP_DIDEVENT}
  293.   DBPROPVAL_NC_END = $00000001;
  294.   {$EXTERNALSYM DBPROPVAL_NC_END}
  295.   DBPROPVAL_NC_HIGH = $00000002;
  296.   {$EXTERNALSYM DBPROPVAL_NC_HIGH}
  297.   DBPROPVAL_NC_LOW = $00000004;
  298.   {$EXTERNALSYM DBPROPVAL_NC_LOW}
  299.   DBPROPVAL_NC_START = $00000008;
  300.   {$EXTERNALSYM DBPROPVAL_NC_START}
  301.   DBPROPVAL_OO_BLOB = $00000001;
  302.   {$EXTERNALSYM DBPROPVAL_OO_BLOB}
  303.   DBPROPVAL_OO_IPERSIST = $00000002;
  304.   {$EXTERNALSYM DBPROPVAL_OO_IPERSIST}
  305.   DBPROPVAL_CB_DELETE = $00000001;
  306.   {$EXTERNALSYM DBPROPVAL_CB_DELETE}
  307.   DBPROPVAL_CB_PRESERVE = $00000002;
  308.   {$EXTERNALSYM DBPROPVAL_CB_PRESERVE}
  309.   DBPROPVAL_SU_DML_STATEMENTS = $00000001;
  310.   {$EXTERNALSYM DBPROPVAL_SU_DML_STATEMENTS}
  311.   DBPROPVAL_SU_TABLE_DEFINITION = $00000002;
  312.   {$EXTERNALSYM DBPROPVAL_SU_TABLE_DEFINITION}
  313.   DBPROPVAL_SU_INDEX_DEFINITION = $00000004;
  314.   {$EXTERNALSYM DBPROPVAL_SU_INDEX_DEFINITION}
  315.   DBPROPVAL_SU_PRIVILEGE_DEFINITION = $00000008;
  316.   {$EXTERNALSYM DBPROPVAL_SU_PRIVILEGE_DEFINITION}
  317.   DBPROPVAL_SQ_CORRELATEDSUBQUERIES = $00000001;
  318.   {$EXTERNALSYM DBPROPVAL_SQ_CORRELATEDSUBQUERIES}
  319.   DBPROPVAL_SQ_COMPARISON = $00000002;
  320.   {$EXTERNALSYM DBPROPVAL_SQ_COMPARISON}
  321.   DBPROPVAL_SQ_EXISTS = $00000004;
  322.   {$EXTERNALSYM DBPROPVAL_SQ_EXISTS}
  323.   DBPROPVAL_SQ_IN = $00000008;
  324.   {$EXTERNALSYM DBPROPVAL_SQ_IN}
  325.   DBPROPVAL_SQ_QUANTIFIED = $00000010;
  326.   {$EXTERNALSYM DBPROPVAL_SQ_QUANTIFIED}
  327.   DBPROPVAL_SS_ISEQUENTIALSTREAM = $00000001;
  328.   {$EXTERNALSYM DBPROPVAL_SS_ISEQUENTIALSTREAM}
  329.   DBPROPVAL_SS_ISTREAM = $00000002;
  330.   {$EXTERNALSYM DBPROPVAL_SS_ISTREAM}
  331.   DBPROPVAL_SS_ISTORAGE = $00000004;
  332.   {$EXTERNALSYM DBPROPVAL_SS_ISTORAGE}
  333.   DBPROPVAL_SS_ILOCKBYTES = $00000008;
  334.   {$EXTERNALSYM DBPROPVAL_SS_ILOCKBYTES}
  335.   DBPROPVAL_TI_CHAOS = $00000010;
  336.   {$EXTERNALSYM DBPROPVAL_TI_CHAOS}
  337.   DBPROPVAL_TI_READUNCOMMITTED = $00000100;
  338.   {$EXTERNALSYM DBPROPVAL_TI_READUNCOMMITTED}
  339.   DBPROPVAL_TI_BROWSE = $00000100;
  340.   {$EXTERNALSYM DBPROPVAL_TI_BROWSE}
  341.   DBPROPVAL_TI_CURSORSTABILITY = $00001000;
  342.   {$EXTERNALSYM DBPROPVAL_TI_CURSORSTABILITY}
  343.   DBPROPVAL_TI_READCOMMITTED = $00001000;
  344.   {$EXTERNALSYM DBPROPVAL_TI_READCOMMITTED}
  345.   DBPROPVAL_TI_REPEATABLEREAD = $00010000;
  346.   {$EXTERNALSYM DBPROPVAL_TI_REPEATABLEREAD}
  347.   DBPROPVAL_TI_SERIALIZABLE = $00100000;
  348.   {$EXTERNALSYM DBPROPVAL_TI_SERIALIZABLE}
  349.   DBPROPVAL_TI_ISOLATED = $00100000;
  350.   {$EXTERNALSYM DBPROPVAL_TI_ISOLATED}
  351.   DBPROPVAL_TR_COMMIT_DC = $00000001;
  352.   {$EXTERNALSYM DBPROPVAL_TR_COMMIT_DC}
  353.   DBPROPVAL_TR_COMMIT = $00000002;
  354.   {$EXTERNALSYM DBPROPVAL_TR_COMMIT}
  355.   DBPROPVAL_TR_COMMIT_NO = $00000004;
  356.   {$EXTERNALSYM DBPROPVAL_TR_COMMIT_NO}
  357.   DBPROPVAL_TR_ABORT_DC = $00000008;
  358.   {$EXTERNALSYM DBPROPVAL_TR_ABORT_DC}
  359.   DBPROPVAL_TR_ABORT = $00000010;
  360.   {$EXTERNALSYM DBPROPVAL_TR_ABORT}
  361.   DBPROPVAL_TR_ABORT_NO = $00000020;
  362.   {$EXTERNALSYM DBPROPVAL_TR_ABORT_NO}
  363.   DBPROPVAL_TR_DONTCARE = $00000040;
  364.   {$EXTERNALSYM DBPROPVAL_TR_DONTCARE}
  365.   DBPROPVAL_TR_BOTH = $00000080;
  366.   {$EXTERNALSYM DBPROPVAL_TR_BOTH}
  367.   DBPROPVAL_TR_NONE = $00000100;
  368.   {$EXTERNALSYM DBPROPVAL_TR_NONE}
  369.   DBPROPVAL_TR_OPTIMISTIC = $00000200;
  370.   {$EXTERNALSYM DBPROPVAL_TR_OPTIMISTIC}
  371.   DBPROPVAL_RT_FREETHREAD = $00000001;
  372.   {$EXTERNALSYM DBPROPVAL_RT_FREETHREAD}
  373.   DBPROPVAL_RT_APTMTTHREAD = $00000002;
  374.   {$EXTERNALSYM DBPROPVAL_RT_APTMTTHREAD}
  375.   DBPROPVAL_RT_SINGLETHREAD = $00000004;
  376.   {$EXTERNALSYM DBPROPVAL_RT_SINGLETHREAD}
  377.   DBPROPVAL_UP_CHANGE = $00000001;
  378.   {$EXTERNALSYM DBPROPVAL_UP_CHANGE}
  379.   DBPROPVAL_UP_DELETE = $00000002;
  380.   {$EXTERNALSYM DBPROPVAL_UP_DELETE}
  381.   DBPROPVAL_UP_INSERT = $00000004;
  382.   {$EXTERNALSYM DBPROPVAL_UP_INSERT}
  383.   DBPROPVAL_SQL_NONE = $00000000;
  384.   {$EXTERNALSYM DBPROPVAL_SQL_NONE}
  385.   DBPROPVAL_SQL_ODBC_MINIMUM = $00000001;
  386.   {$EXTERNALSYM DBPROPVAL_SQL_ODBC_MINIMUM}
  387.   DBPROPVAL_SQL_ODBC_CORE = $00000002;
  388.   {$EXTERNALSYM DBPROPVAL_SQL_ODBC_CORE}
  389.   DBPROPVAL_SQL_ODBC_EXTENDED = $00000004;
  390.   {$EXTERNALSYM DBPROPVAL_SQL_ODBC_EXTENDED}
  391.   DBPROPVAL_SQL_ANSI89_IEF = $00000008;
  392.   {$EXTERNALSYM DBPROPVAL_SQL_ANSI89_IEF}
  393.   DBPROPVAL_SQL_ANSI92_ENTRY = $00000010;
  394.   {$EXTERNALSYM DBPROPVAL_SQL_ANSI92_ENTRY}
  395.   DBPROPVAL_SQL_FIPS_TRANSITIONAL = $00000020;
  396.   {$EXTERNALSYM DBPROPVAL_SQL_FIPS_TRANSITIONAL}
  397.   DBPROPVAL_SQL_ANSI92_INTERMEDIATE = $00000040;
  398.   {$EXTERNALSYM DBPROPVAL_SQL_ANSI92_INTERMEDIATE}
  399.   DBPROPVAL_SQL_ANSI92_FULL = $00000080;
  400.   {$EXTERNALSYM DBPROPVAL_SQL_ANSI92_FULL}
  401.   DBPROPVAL_SQL_ESCAPECLAUSES = $00000100;
  402.   {$EXTERNALSYM DBPROPVAL_SQL_ESCAPECLAUSES}
  403.   DBPROPVAL_IT_BTREE = $00000001;
  404.   {$EXTERNALSYM DBPROPVAL_IT_BTREE}
  405.   DBPROPVAL_IT_HASH = $00000002;
  406.   {$EXTERNALSYM DBPROPVAL_IT_HASH}
  407.   DBPROPVAL_IT_CONTENT = $00000003;
  408.   {$EXTERNALSYM DBPROPVAL_IT_CONTENT}
  409.   DBPROPVAL_IT_OTHER = $00000004;
  410.   {$EXTERNALSYM DBPROPVAL_IT_OTHER}
  411.   DBPROPVAL_IN_DISALLOWNULL = $00000001;
  412.   {$EXTERNALSYM DBPROPVAL_IN_DISALLOWNULL}
  413.   DBPROPVAL_IN_IGNORENULL = $00000002;
  414.   {$EXTERNALSYM DBPROPVAL_IN_IGNORENULL}
  415.   DBPROPVAL_IN_IGNOREANYNULL = $00000004;
  416.   {$EXTERNALSYM DBPROPVAL_IN_IGNOREANYNULL}
  417.   DBPROPVAL_TC_NONE = $00000000;
  418.   {$EXTERNALSYM DBPROPVAL_TC_NONE}
  419.   DBPROPVAL_TC_DML = $00000001;
  420.   {$EXTERNALSYM DBPROPVAL_TC_DML}
  421.   DBPROPVAL_TC_DDL_COMMIT = $00000002;
  422.   {$EXTERNALSYM DBPROPVAL_TC_DDL_COMMIT}
  423.   DBPROPVAL_TC_DDL_IGNORE = $00000004;
  424.   {$EXTERNALSYM DBPROPVAL_TC_DDL_IGNORE}
  425.   DBPROPVAL_TC_ALL = $00000008;
  426.   {$EXTERNALSYM DBPROPVAL_TC_ALL}
  427.   DBPROPVAL_OA_NOTSUPPORTED = $00000001;
  428.   {$EXTERNALSYM DBPROPVAL_OA_NOTSUPPORTED}
  429.   DBPROPVAL_OA_ATEXECUTE = $00000002;
  430.   {$EXTERNALSYM DBPROPVAL_OA_ATEXECUTE}
  431.   DBPROPVAL_OA_ATROWRELEASE = $00000004;
  432.   {$EXTERNALSYM DBPROPVAL_OA_ATROWRELEASE}
  433.   DBPROPVAL_MR_NOTSUPPORTED = $00000000;
  434.   {$EXTERNALSYM DBPROPVAL_MR_NOTSUPPORTED}
  435.   DBPROPVAL_MR_SUPPORTED = $00000001;
  436.   {$EXTERNALSYM DBPROPVAL_MR_SUPPORTED}
  437.   DBPROPVAL_MR_CONCURRENT = $00000002;
  438.   {$EXTERNALSYM DBPROPVAL_MR_CONCURRENT}
  439.   DBPROPVAL_PT_GUID_NAME = $00000001;
  440.   {$EXTERNALSYM DBPROPVAL_PT_GUID_NAME}
  441.   DBPROPVAL_PT_GUID_PROPID = $00000002;
  442.   {$EXTERNALSYM DBPROPVAL_PT_GUID_PROPID}
  443.   DBPROPVAL_PT_NAME = $00000004;
  444.   {$EXTERNALSYM DBPROPVAL_PT_NAME}
  445.   DBPROPVAL_PT_GUID = $00000008;
  446.   {$EXTERNALSYM DBPROPVAL_PT_GUID}
  447.   DBPROPVAL_PT_PROPID = $00000010;
  448.   {$EXTERNALSYM DBPROPVAL_PT_PROPID}
  449.   DBPROPVAL_PT_PGUID_NAME = $00000020;
  450.   {$EXTERNALSYM DBPROPVAL_PT_PGUID_NAME}
  451.   DBPROPVAL_PT_PGUID_PROPID = $00000040;
  452.   {$EXTERNALSYM DBPROPVAL_PT_PGUID_PROPID}
  453.   DBPROPVAL_NT_SINGLEROW = $00000001;
  454.   {$EXTERNALSYM DBPROPVAL_NT_SINGLEROW}
  455.   DBPROPVAL_NT_MULTIPLEROWS = $00000002;
  456.   {$EXTERNALSYM DBPROPVAL_NT_MULTIPLEROWS}
  457.   DBPROPVAL_ASYNCH_INITIALIZE = $00000001;
  458.   {$EXTERNALSYM DBPROPVAL_ASYNCH_INITIALIZE}
  459.   DBPROPVAL_ASYNCH_SEQUENTIALPOPULATION = $00000002;
  460.   {$EXTERNALSYM DBPROPVAL_ASYNCH_SEQUENTIALPOPULATION}
  461.   DBPROPVAL_ASYNCH_RANDOMPOPULATION = $00000004;
  462.   {$EXTERNALSYM DBPROPVAL_ASYNCH_RANDOMPOPULATION}
  463.   DBPROPVAL_OP_EQUAL = $00000001;
  464.   {$EXTERNALSYM DBPROPVAL_OP_EQUAL}
  465.   DBPROPVAL_OP_RELATIVE = $00000002;
  466.   {$EXTERNALSYM DBPROPVAL_OP_RELATIVE}
  467.   DBPROPVAL_OP_STRING = $00000004;
  468.   {$EXTERNALSYM DBPROPVAL_OP_STRING}
  469.   DBPROPVAL_CO_EQUALITY = $00000001;
  470.   {$EXTERNALSYM DBPROPVAL_CO_EQUALITY}
  471.   DBPROPVAL_CO_STRING = $00000002;
  472.   {$EXTERNALSYM DBPROPVAL_CO_STRING}
  473.   DBPROPVAL_CO_CASESENSITIVE = $00000004;
  474.   {$EXTERNALSYM DBPROPVAL_CO_CASESENSITIVE}
  475.   DBPROPVAL_CO_CASEINSENSITIVE = $00000008;
  476.   {$EXTERNALSYM DBPROPVAL_CO_CASEINSENSITIVE}
  477.   DBPROPVAL_CO_CONTAINS = $00000010;
  478.   {$EXTERNALSYM DBPROPVAL_CO_CONTAINS}
  479.   DBPROPVAL_CO_BEGINSWITH = $00000020;
  480.   {$EXTERNALSYM DBPROPVAL_CO_BEGINSWITH}
  481.   DBPROPVAL_ASYNCH_BACKGROUNDPOPULATION = $00000008;
  482.   {$EXTERNALSYM DBPROPVAL_ASYNCH_BACKGROUNDPOPULATION}
  483.   DBPROPVAL_ASYNCH_PREPOPULATE = $00000010;
  484.   {$EXTERNALSYM DBPROPVAL_ASYNCH_PREPOPULATE}
  485.   DBPROPVAL_ASYNCH_POPULATEONDEMAND = $00000020;
  486.   {$EXTERNALSYM DBPROPVAL_ASYNCH_POPULATEONDEMAND}
  487.   DBPROPVAL_LM_SINGLEROW = $00000002;
  488.   {$EXTERNALSYM DBPROPVAL_LM_SINGLEROW}
  489.   DBPROPVAL_SQL_SUBMINIMUM = $00000200;
  490.   {$EXTERNALSYM DBPROPVAL_SQL_SUBMINIMUM}
  491.   DBPROPVAL_DST_TDP = $00000001;
  492.   {$EXTERNALSYM DBPROPVAL_DST_TDP}
  493.   DBPROPVAL_DST_MDP = $00000002;
  494.   {$EXTERNALSYM DBPROPVAL_DST_MDP}
  495.   DBPROPVAL_DST_TDPANDMDP = $00000003;
  496.   {$EXTERNALSYM DBPROPVAL_DST_TDPANDMDP}
  497.   MDPROPVAL_AU_UNSUPPORTED = $00000000;
  498.   {$EXTERNALSYM MDPROPVAL_AU_UNSUPPORTED}
  499.   MDPROPVAL_AU_UNCHANGED = $00000001;
  500.   {$EXTERNALSYM MDPROPVAL_AU_UNCHANGED}
  501.   MDPROPVAL_AU_UNKNOWN = $00000002;
  502.   {$EXTERNALSYM MDPROPVAL_AU_UNKNOWN}
  503.   MDPROPVAL_MF_WITH_CALCMEMBERS = $00000001;
  504.   {$EXTERNALSYM MDPROPVAL_MF_WITH_CALCMEMBERS}
  505.   MDPROPVAL_MF_WITH_NAMEDSETS = $00000002;
  506.   {$EXTERNALSYM MDPROPVAL_MF_WITH_NAMEDSETS}
  507.   MDPROPVAL_MF_CREATE_CALCMEMBERS = $00000004;
  508.   {$EXTERNALSYM MDPROPVAL_MF_CREATE_CALCMEMBERS}
  509.   MDPROPVAL_MF_CREATE_NAMEDSETS = $00000008;
  510.   {$EXTERNALSYM MDPROPVAL_MF_CREATE_NAMEDSETS}
  511.   MDPROPVAL_MF_SCOPE_SESSION = $00000010;
  512.   {$EXTERNALSYM MDPROPVAL_MF_SCOPE_SESSION}
  513.   MDPROPVAL_MF_SCOPE_GLOBAL = $00000020;
  514.   {$EXTERNALSYM MDPROPVAL_MF_SCOPE_GLOBAL}
  515.   MDPROPVAL_MMF_COUSIN = $00000001;
  516.   {$EXTERNALSYM MDPROPVAL_MMF_COUSIN}
  517.   MDPROPVAL_MMF_PARALLELPERIOD = $00000002;
  518.   {$EXTERNALSYM MDPROPVAL_MMF_PARALLELPERIOD}
  519.   MDPROPVAL_MMF_OPENINGPERIOD = $00000004;
  520.   {$EXTERNALSYM MDPROPVAL_MMF_OPENINGPERIOD}
  521.   MDPROPVAL_MMF_CLOSINGPERIOD = $00000008;
  522.   {$EXTERNALSYM MDPROPVAL_MMF_CLOSINGPERIOD}
  523.   MDPROPVAL_MNF_MEDIAN = $00000001;
  524.   {$EXTERNALSYM MDPROPVAL_MNF_MEDIAN}
  525.   MDPROPVAL_MNF_VAR = $00000002;
  526.   {$EXTERNALSYM MDPROPVAL_MNF_VAR}
  527.   MDPROPVAL_MNF_STDDEV = $00000004;
  528.   {$EXTERNALSYM MDPROPVAL_MNF_STDDEV}
  529.   MDPROPVAL_MNF_RANK = $00000008;
  530.   {$EXTERNALSYM MDPROPVAL_MNF_RANK}
  531.   MDPROPVAL_MNF_AGGREGATE = $00000010;
  532.   {$EXTERNALSYM MDPROPVAL_MNF_AGGREGATE}
  533.   MDPROPVAL_MNF_COVARIANCE = $00000020;
  534.   {$EXTERNALSYM MDPROPVAL_MNF_COVARIANCE}
  535.   MDPROPVAL_MNF_CORRELATION = $00000040;
  536.   {$EXTERNALSYM MDPROPVAL_MNF_CORRELATION}
  537.   MDPROPVAL_MNF_LINREGSLOPE = $00000080;
  538.   {$EXTERNALSYM MDPROPVAL_MNF_LINREGSLOPE}
  539.   MDPROPVAL_MNF_LINREGVARIANCE = $00000100;
  540.   {$EXTERNALSYM MDPROPVAL_MNF_LINREGVARIANCE}
  541.   MDPROPVAL_MNF_LINREG2 = $00000200;
  542.   {$EXTERNALSYM MDPROPVAL_MNF_LINREG2}
  543.   MDPROPVAL_MNF_LINREGPOINT = $00000400;
  544.   {$EXTERNALSYM MDPROPVAL_MNF_LINREGPOINT}
  545.   MDPROPVAL_MNF_DRILLDOWNLEVEL = $00000800;
  546.   {$EXTERNALSYM MDPROPVAL_MNF_DRILLDOWNLEVEL}
  547.   MDPROPVAL_MNF_DRILLDOWNMEMBERTOP = $00001000;
  548.   {$EXTERNALSYM MDPROPVAL_MNF_DRILLDOWNMEMBERTOP}
  549.   MDPROPVAL_MNF_DRILLDOWNMEMBERBOTTOM = $00002000;
  550.   {$EXTERNALSYM MDPROPVAL_MNF_DRILLDOWNMEMBERBOTTOM}
  551.   MDPROPVAL_MNF_DRILLDOWNLEVELTOP = $00004000;
  552.   {$EXTERNALSYM MDPROPVAL_MNF_DRILLDOWNLEVELTOP}
  553.   MDPROPVAL_MNF_DRILLDOWNLEVELBOTTOM = $00008000;
  554.   {$EXTERNALSYM MDPROPVAL_MNF_DRILLDOWNLEVELBOTTOM}
  555.   MDPROPVAL_MNF_DRILLUPMEMBER = $00010000;
  556.   {$EXTERNALSYM MDPROPVAL_MNF_DRILLUPMEMBER}
  557.   MDPROPVAL_MNF_DRILLUPLEVEL = $00020000;
  558.   {$EXTERNALSYM MDPROPVAL_MNF_DRILLUPLEVEL}
  559.   MDPROPVAL_MSF_TOPPERCENT = $00000001;
  560.   {$EXTERNALSYM MDPROPVAL_MSF_TOPPERCENT}
  561.   MDPROPVAL_MSF_BOTTOMPERCENT = $00000002;
  562.   {$EXTERNALSYM MDPROPVAL_MSF_BOTTOMPERCENT}
  563.   MDPROPVAL_MSF_TOPSUM = $00000004;
  564.   {$EXTERNALSYM MDPROPVAL_MSF_TOPSUM}
  565.   MDPROPVAL_MSF_BOTTOMSUM = $00000008;
  566.   {$EXTERNALSYM MDPROPVAL_MSF_BOTTOMSUM}
  567.   MDPROPVAL_MSF_PERIODSTODATE = $00000010;
  568.   {$EXTERNALSYM MDPROPVAL_MSF_PERIODSTODATE}
  569.   MDPROPVAL_MSF_LASTPERIODS = $00000020;
  570.   {$EXTERNALSYM MDPROPVAL_MSF_LASTPERIODS}
  571.   MDPROPVAL_MSF_YTD = $00000040;
  572.   {$EXTERNALSYM MDPROPVAL_MSF_YTD}
  573.   MDPROPVAL_MSF_QTD = $00000080;
  574.   {$EXTERNALSYM MDPROPVAL_MSF_QTD}
  575.   MDPROPVAL_MSF_MTD = $00000100;
  576.   {$EXTERNALSYM MDPROPVAL_MSF_MTD}
  577.   MDPROPVAL_MSF_WTD = $00000200;
  578.   {$EXTERNALSYM MDPROPVAL_MSF_WTD}
  579.   MDPROPVAL_MSF_DRILLDOWNMEMBBER = $00000400;
  580.   {$EXTERNALSYM MDPROPVAL_MSF_DRILLDOWNMEMBBER}
  581.   MDPROPVAL_MSF_DRILLDOWNLEVEL = $00000800;
  582.   {$EXTERNALSYM MDPROPVAL_MSF_DRILLDOWNLEVEL}
  583.   MDPROPVAL_MSF_DRILLDOWNMEMBERTOP = $00001000;
  584.   {$EXTERNALSYM MDPROPVAL_MSF_DRILLDOWNMEMBERTOP}
  585.   MDPROPVAL_MSF_DRILLDOWNMEMBERBOTTOM = $00002000;
  586.   {$EXTERNALSYM MDPROPVAL_MSF_DRILLDOWNMEMBERBOTTOM}
  587.   MDPROPVAL_MSF_DRILLDOWNLEVELTOP = $00004000;
  588.   {$EXTERNALSYM MDPROPVAL_MSF_DRILLDOWNLEVELTOP}
  589.   MDPROPVAL_MSF_DRILLDOWNLEVELBOTTOM = $00008000;
  590.   {$EXTERNALSYM MDPROPVAL_MSF_DRILLDOWNLEVELBOTTOM}
  591.   MDPROPVAL_MSF_DRILLUPMEMBER = $00010000;
  592.   {$EXTERNALSYM MDPROPVAL_MSF_DRILLUPMEMBER}
  593.   MDPROPVAL_MSF_DRILLUPLEVEL = $00020000;
  594.   {$EXTERNALSYM MDPROPVAL_MSF_DRILLUPLEVEL}
  595.   MDPROPVAL_MSF_TOGGLEDRILLSTATE = $00040000;
  596.   {$EXTERNALSYM MDPROPVAL_MSF_TOGGLEDRILLSTATE}
  597.   MDPROPVAL_MD_SELF = $00000001;
  598.   {$EXTERNALSYM MDPROPVAL_MD_SELF}
  599.   MDPROPVAL_MD_BEFORE = $00000002;
  600.   {$EXTERNALSYM MDPROPVAL_MD_BEFORE}
  601.   MDPROPVAL_MD_AFTER = $00000004;
  602.   {$EXTERNALSYM MDPROPVAL_MD_AFTER}
  603.   MDPROPVAL_MSC_LESSTHAN = $00000001;
  604.   {$EXTERNALSYM MDPROPVAL_MSC_LESSTHAN}
  605.   MDPROPVAL_MSC_GREATERTHAN = $00000002;
  606.   {$EXTERNALSYM MDPROPVAL_MSC_GREATERTHAN}
  607.   MDPROPVAL_MSC_LESSTHANEQUAL = $00000004;
  608.   {$EXTERNALSYM MDPROPVAL_MSC_LESSTHANEQUAL}
  609.   MDPROPVAL_MSC_GREATERTHANEQUAL = $00000008;
  610.   {$EXTERNALSYM MDPROPVAL_MSC_GREATERTHANEQUAL}
  611.   MDPROPVAL_MC_SINGLECASE = $00000001;
  612.   {$EXTERNALSYM MDPROPVAL_MC_SINGLECASE}
  613.   MDPROPVAL_MC_SEARCHEDCASE = $00000002;
  614.   {$EXTERNALSYM MDPROPVAL_MC_SEARCHEDCASE}
  615.   MDPROPVAL_MOQ_OUTERREFERENCE = $00000001;
  616.   {$EXTERNALSYM MDPROPVAL_MOQ_OUTERREFERENCE}
  617.   MDPROPVAL_MOQ_DATASOURCE_CUBE = $00000001;
  618.   {$EXTERNALSYM MDPROPVAL_MOQ_DATASOURCE_CUBE}
  619.   MDPROPVAL_MOQ_CATALOG_CUBE = $00000002;
  620.   {$EXTERNALSYM MDPROPVAL_MOQ_CATALOG_CUBE}
  621.   MDPROPVAL_MOQ_SCHEMA_CUBE = $00000004;
  622.   {$EXTERNALSYM MDPROPVAL_MOQ_SCHEMA_CUBE}
  623.   MDPROPVAL_MOQ_CUBE_DIM = $00000008;
  624.   {$EXTERNALSYM MDPROPVAL_MOQ_CUBE_DIM}
  625.   MDPROPVAL_MOQ_DIM_HIER = $00000010;
  626.   {$EXTERNALSYM MDPROPVAL_MOQ_DIM_HIER}
  627.   MDPROPVAL_MOQ_DIMHIER_LEVEL = $00000020;
  628.   {$EXTERNALSYM MDPROPVAL_MOQ_DIMHIER_LEVEL}
  629.   MDPROPVAL_MOQ_LEVEL_MEMBER = $00000040;
  630.   {$EXTERNALSYM MDPROPVAL_MOQ_LEVEL_MEMBER}
  631.   MDPROPVAL_MOQ_MEMBER_MEMBER = $00000080;
  632.   {$EXTERNALSYM MDPROPVAL_MOQ_MEMBER_MEMBER}
  633.   MDPROPVAL_FS_FULL_SUPPORT = $00000001;
  634.   {$EXTERNALSYM MDPROPVAL_FS_FULL_SUPPORT}
  635.   MDPROPVAL_FS_GENERATED_COLUMN = $00000002;
  636.   {$EXTERNALSYM MDPROPVAL_FS_GENERATED_COLUMN}
  637.   MDPROPVAL_FS_GENERATED_DIMENSION = $00000003;
  638.   {$EXTERNALSYM MDPROPVAL_FS_GENERATED_DIMENSION}
  639.   MDPROPVAL_FS_NO_SUPPORT = $00000004;
  640.   {$EXTERNALSYM MDPROPVAL_FS_NO_SUPPORT}
  641.   MDPROPVAL_NL_NAMEDLEVELS = $00000001;
  642.   {$EXTERNALSYM MDPROPVAL_NL_NAMEDLEVELS}
  643.   MDPROPVAL_NL_NUMBEREDLEVELS = $00000002;
  644.   {$EXTERNALSYM MDPROPVAL_NL_NUMBEREDLEVELS}
  645.   MDPROPVAL_MJC_SINGLECUBE = $00000001;
  646.   {$EXTERNALSYM MDPROPVAL_MJC_SINGLECUBE}
  647.   MDPROPVAL_MJC_MULTICUBES = $00000002;
  648.   {$EXTERNALSYM MDPROPVAL_MJC_MULTICUBES}
  649.   MDPROPVAL_MJC_IMPLICITCUBE = $00000004;
  650.   {$EXTERNALSYM MDPROPVAL_MJC_IMPLICITCUBE}
  651.   MDPROPVAL_RR_NORANGEROWSET = $00000001;
  652.   {$EXTERNALSYM MDPROPVAL_RR_NORANGEROWSET}
  653.   MDPROPVAL_RR_READONLY = $00000002;
  654.   {$EXTERNALSYM MDPROPVAL_RR_READONLY}
  655.   MDPROPVAL_RR_UPDATE = $00000004;
  656.   {$EXTERNALSYM MDPROPVAL_RR_UPDATE}
  657.   MDPROPVAL_MS_MULTIPLETUPLES = $00000001;
  658.   {$EXTERNALSYM MDPROPVAL_MS_MULTIPLETUPLES}
  659.   MDPROPVAL_MS_SINGLETUPLE = $00000002;
  660.   {$EXTERNALSYM MDPROPVAL_MS_SINGLETUPLE}
  661.   DBPROPVAL_AO_SEQUENTIAL = $00000000;
  662.   {$EXTERNALSYM DBPROPVAL_AO_SEQUENTIAL}
  663.   DBPROPVAL_AO_SEQUENTIALSTORAGEOBJECTS = $00000001;
  664.   {$EXTERNALSYM DBPROPVAL_AO_SEQUENTIALSTORAGEOBJECTS}
  665.   DBPROPVAL_AO_RANDOM = $00000002;
  666.   {$EXTERNALSYM DBPROPVAL_AO_RANDOM}
  667.   DBPROPVAL_BD_ROWSET = $00000000;
  668.   {$EXTERNALSYM DBPROPVAL_BD_ROWSET}
  669.   DBPROPVAL_BD_INTRANSACTION = $00000001;
  670.   {$EXTERNALSYM DBPROPVAL_BD_INTRANSACTION}
  671.   DBPROPVAL_BD_XTRANSACTION = $00000002;
  672.   {$EXTERNALSYM DBPROPVAL_BD_XTRANSACTION}
  673.   DBPROPVAL_BD_REORGANIZATION = $00000003;
  674.   {$EXTERNALSYM DBPROPVAL_BD_REORGANIZATION}
  675.   BMK_DURABILITY_ROWSET = DBPROPVAL_BD_ROWSET;
  676.   {$EXTERNALSYM BMK_DURABILITY_ROWSET}
  677.   BMK_DURABILITY_INTRANSACTION = DBPROPVAL_BD_INTRANSACTION;
  678.   {$EXTERNALSYM BMK_DURABILITY_INTRANSACTION}
  679.   BMK_DURABILITY_XTRANSACTION = DBPROPVAL_BD_XTRANSACTION;
  680.   {$EXTERNALSYM BMK_DURABILITY_XTRANSACTION}
  681.   BMK_DURABILITY_REORGANIZATION = DBPROPVAL_BD_REORGANIZATION;
  682.   {$EXTERNALSYM BMK_DURABILITY_REORGANIZATION}
  683.   DBPROPVAL_BO_NOLOG = $00000000;
  684.   {$EXTERNALSYM DBPROPVAL_BO_NOLOG}
  685.   DBPROPVAL_BO_NOINDEXUPDATE = $00000001;
  686.   {$EXTERNALSYM DBPROPVAL_BO_NOINDEXUPDATE}
  687.   DBPROPVAL_BO_REFINTEGRITY = $00000002;
  688.   {$EXTERNALSYM DBPROPVAL_BO_REFINTEGRITY}
  689.   DBPROPVAL_STGM_READ = OF_READ;
  690.   {$EXTERNALSYM DBPROPVAL_STGM_READ}
  691.   DBPROPVAL_STGM_WRITE = OF_WRITE;
  692.   {$EXTERNALSYM DBPROPVAL_STGM_WRITE}
  693.   DBPROPVAL_STGM_READWRITE = OF_READWRITE;
  694.   {$EXTERNALSYM DBPROPVAL_STGM_READWRITE}
  695.   DBPROPVAL_STGM_SHARE_DENY_NONE = OF_SHARE_DENY_NONE;
  696.   {$EXTERNALSYM DBPROPVAL_STGM_SHARE_DENY_NONE}
  697.   DBPROPVAL_STGM_SHARE_DENY_READ = OF_SHARE_DENY_READ;
  698.   {$EXTERNALSYM DBPROPVAL_STGM_SHARE_DENY_READ}
  699.   DBPROPVAL_STGM_SHARE_DENY_WRITE = OF_SHARE_DENY_WRITE;
  700.   {$EXTERNALSYM DBPROPVAL_STGM_SHARE_DENY_WRITE}
  701.   DBPROPVAL_STGM_SHARE_EXCLUSIVE = OF_SHARE_EXCLUSIVE;
  702.   {$EXTERNALSYM DBPROPVAL_STGM_SHARE_EXCLUSIVE}
  703.   DBPROPVAL_STGM_DIRECT = $00010000;
  704.   {$EXTERNALSYM DBPROPVAL_STGM_DIRECT}
  705.   DBPROPVAL_STGM_TRANSACTED = $00020000;
  706.   {$EXTERNALSYM DBPROPVAL_STGM_TRANSACTED}
  707.   DBPROPVAL_STGM_CREATE = OF_CREATE;
  708.   {$EXTERNALSYM DBPROPVAL_STGM_CREATE}
  709.   DBPROPVAL_STGM_CONVERT = $00040000;
  710.   {$EXTERNALSYM DBPROPVAL_STGM_CONVERT}
  711.   DBPROPVAL_STGM_FAILIFTHERE = $00080000;
  712.   {$EXTERNALSYM DBPROPVAL_STGM_FAILIFTHERE}
  713.   DBPROPVAL_STGM_PRIORITY = $00100000;
  714.   {$EXTERNALSYM DBPROPVAL_STGM_PRIORITY}
  715.   DBPROPVAL_STGM_DELETEONRELEASE = $00200000;
  716.   {$EXTERNALSYM DBPROPVAL_STGM_DELETEONRELEASE}
  717.   DBPROPVAL_GB_COLLATE = $00000010;
  718.   {$EXTERNALSYM DBPROPVAL_GB_COLLATE}
  719.   DBPROPVAL_CS_UNINITIALIZED = $00000000;
  720.   {$EXTERNALSYM DBPROPVAL_CS_UNINITIALIZED}
  721.   DBPROPVAL_CS_INITIALIZED = $00000001;
  722.   {$EXTERNALSYM DBPROPVAL_CS_INITIALIZED}
  723.   DBPROPVAL_CS_COMMUNICATIONFAILURE = $00000002;
  724.   {$EXTERNALSYM DBPROPVAL_CS_COMMUNICATIONFAILURE}
  725.   DBPROPVAL_RD_RESETALL = $ffffffff;
  726.   {$EXTERNALSYM DBPROPVAL_RD_RESETALL}
  727.   DBPROPVAL_OS_RESOURCEPOOLING = $00000001;
  728.   {$EXTERNALSYM DBPROPVAL_OS_RESOURCEPOOLING}
  729.   DBPROPVAL_OS_TXNENLISTMENT = $00000002;
  730.   {$EXTERNALSYM DBPROPVAL_OS_TXNENLISTMENT}
  731.   DBPROPVAL_OS_CLIENTCURSOR = $00000004;
  732.   {$EXTERNALSYM DBPROPVAL_OS_CLIENTCURSOR}
  733.   DBPROPVAL_OS_ENABLEALL = $ffffffff;
  734.   {$EXTERNALSYM DBPROPVAL_OS_ENABLEALL}
  735.   DBPROPVAL_BI_CROSSROWSET = $00000001;
  736.   {$EXTERNALSYM DBPROPVAL_BI_CROSSROWSET}
  737.   DB_IMP_LEVEL_ANONYMOUS = $00;
  738.   {$EXTERNALSYM DB_IMP_LEVEL_ANONYMOUS}
  739.   DB_IMP_LEVEL_IDENTIFY = $01;
  740.   {$EXTERNALSYM DB_IMP_LEVEL_IDENTIFY}
  741.   DB_IMP_LEVEL_IMPERSONATE = $02;
  742.   {$EXTERNALSYM DB_IMP_LEVEL_IMPERSONATE}
  743.   DB_IMP_LEVEL_DELEGATE = $03;
  744.   {$EXTERNALSYM DB_IMP_LEVEL_DELEGATE}
  745.   DBPROMPT_PROMPT = $01;
  746.   {$EXTERNALSYM DBPROMPT_PROMPT}
  747.   DBPROMPT_COMPLETE = $02;
  748.   {$EXTERNALSYM DBPROMPT_COMPLETE}
  749.   DBPROMPT_COMPLETEREQUIRED = $03;
  750.   {$EXTERNALSYM DBPROMPT_COMPLETEREQUIRED}
  751.   DBPROMPT_NOPROMPT = $04;
  752.   {$EXTERNALSYM DBPROMPT_NOPROMPT}
  753.   DB_PROT_LEVEL_NONE = $00;
  754.   {$EXTERNALSYM DB_PROT_LEVEL_NONE}
  755.   DB_PROT_LEVEL_CONNECT = $01;
  756.   {$EXTERNALSYM DB_PROT_LEVEL_CONNECT}
  757.   DB_PROT_LEVEL_CALL = $02;
  758.   {$EXTERNALSYM DB_PROT_LEVEL_CALL}
  759.   DB_PROT_LEVEL_PKT = $03;
  760.   {$EXTERNALSYM DB_PROT_LEVEL_PKT}
  761.   DB_PROT_LEVEL_PKT_INTEGRITY = $04;
  762.   {$EXTERNALSYM DB_PROT_LEVEL_PKT_INTEGRITY}
  763.   DB_PROT_LEVEL_PKT_PRIVACY = $05;
  764.   {$EXTERNALSYM DB_PROT_LEVEL_PKT_PRIVACY}
  765.   DB_MODE_READ = $01;
  766.   {$EXTERNALSYM DB_MODE_READ}
  767.   DB_MODE_WRITE = $02;
  768.   {$EXTERNALSYM DB_MODE_WRITE}
  769.   DB_MODE_READWRITE = $03;
  770.   {$EXTERNALSYM DB_MODE_READWRITE}
  771.   DB_MODE_SHARE_DENY_READ = $04;
  772.   {$EXTERNALSYM DB_MODE_SHARE_DENY_READ}
  773.   DB_MODE_SHARE_DENY_WRITE = $08;
  774.   {$EXTERNALSYM DB_MODE_SHARE_DENY_WRITE}
  775.   DB_MODE_SHARE_EXCLUSIVE = $0c;
  776.   {$EXTERNALSYM DB_MODE_SHARE_EXCLUSIVE}
  777.   DB_MODE_SHARE_DENY_NONE = $10;
  778.   {$EXTERNALSYM DB_MODE_SHARE_DENY_NONE}
  779.   DBCOMPUTEMODE_COMPUTED = $01;
  780.   {$EXTERNALSYM DBCOMPUTEMODE_COMPUTED}
  781.   DBCOMPUTEMODE_DYNAMIC = $02;
  782.   {$EXTERNALSYM DBCOMPUTEMODE_DYNAMIC}
  783.   DBCOMPUTEMODE_NOTCOMPUTED = $03;
  784.   {$EXTERNALSYM DBCOMPUTEMODE_NOTCOMPUTED}
  785.   DBPROPVAL_DF_INITIALLY_DEFERRED = $01;
  786.   {$EXTERNALSYM DBPROPVAL_DF_INITIALLY_DEFERRED}
  787.   DBPROPVAL_DF_INITIALLY_IMMEDIATE = $02;
  788.   {$EXTERNALSYM DBPROPVAL_DF_INITIALLY_IMMEDIATE}
  789.   DBPROPVAL_DF_NOT_DEFERRABLE = $03;
  790.   {$EXTERNALSYM DBPROPVAL_DF_NOT_DEFERRABLE}
  791.   DBPARAMTYPE_INPUT = $01;
  792.   {$EXTERNALSYM DBPARAMTYPE_INPUT}
  793.   DBPARAMTYPE_INPUTOUTPUT = $02;
  794.   {$EXTERNALSYM DBPARAMTYPE_INPUTOUTPUT}
  795.   DBPARAMTYPE_OUTPUT = $03;
  796.   {$EXTERNALSYM DBPARAMTYPE_OUTPUT}
  797.   DBPARAMTYPE_RETURNVALUE = $04;
  798.   {$EXTERNALSYM DBPARAMTYPE_RETURNVALUE}
  799.   DB_PT_UNKNOWN = $01;
  800.   {$EXTERNALSYM DB_PT_UNKNOWN}
  801.   DB_PT_PROCEDURE = $02;
  802.   {$EXTERNALSYM DB_PT_PROCEDURE}
  803.   DB_PT_FUNCTION = $03;
  804.   {$EXTERNALSYM DB_PT_FUNCTION}
  805.   DB_REMOTE = $01;
  806.   {$EXTERNALSYM DB_REMOTE}
  807.   DB_LOCAL_SHARED = $02;
  808.   {$EXTERNALSYM DB_LOCAL_SHARED}
  809.   DB_LOCAL_EXCLUSIVE = $03;
  810.   {$EXTERNALSYM DB_LOCAL_EXCLUSIVE}
  811.   DB_COLLATION_ASC = $01;
  812.   {$EXTERNALSYM DB_COLLATION_ASC}
  813.   DB_COLLATION_DESC = $02;
  814.   {$EXTERNALSYM DB_COLLATION_DESC}
  815.   DB_UNSEARCHABLE = $01;
  816.   {$EXTERNALSYM DB_UNSEARCHABLE}
  817.   DB_LIKE_ONLY = $02;
  818.   {$EXTERNALSYM DB_LIKE_ONLY}
  819.   DB_ALL_EXCEPT_LIKE = $03;
  820.   {$EXTERNALSYM DB_ALL_EXCEPT_LIKE}
  821.   DB_SEARCHABLE = $04;
  822.   {$EXTERNALSYM DB_SEARCHABLE}
  823.   MDTREEOP_CHILDREN = $01;
  824.   {$EXTERNALSYM MDTREEOP_CHILDREN}
  825.   MDTREEOP_SIBLINGS = $02;
  826.   {$EXTERNALSYM MDTREEOP_SIBLINGS}
  827.   MDTREEOP_PARENT = $04;
  828.   {$EXTERNALSYM MDTREEOP_PARENT}
  829.   MDTREEOP_SELF = $08;
  830.   {$EXTERNALSYM MDTREEOP_SELF}
  831.   MDTREEOP_DESCENDANTS = $10;
  832.   {$EXTERNALSYM MDTREEOP_DESCENDANTS}
  833.   MDTREEOP_ANCESTORS = $20;
  834.   {$EXTERNALSYM MDTREEOP_ANCESTORS}
  835.   MD_DIMTYPE_UNKNOWN = $00;
  836.   {$EXTERNALSYM MD_DIMTYPE_UNKNOWN}
  837.   MD_DIMTYPE_TIME = $01;
  838.   {$EXTERNALSYM MD_DIMTYPE_TIME}
  839.   MD_DIMTYPE_MEASURE = $02;
  840.   {$EXTERNALSYM MD_DIMTYPE_MEASURE}
  841.   MD_DIMTYPE_OTHER = $03;
  842.   {$EXTERNALSYM MD_DIMTYPE_OTHER}
  843.   MDLEVEL_TYPE_UNKNOWN = $0000;
  844.   {$EXTERNALSYM MDLEVEL_TYPE_UNKNOWN}
  845.   MDLEVEL_TYPE_REGULAR = $0000;
  846.   {$EXTERNALSYM MDLEVEL_TYPE_REGULAR}
  847.   MDLEVEL_TYPE_ALL = $0001;
  848.   {$EXTERNALSYM MDLEVEL_TYPE_ALL}
  849.   MDLEVEL_TYPE_CALCULATED = $0002;
  850.   {$EXTERNALSYM MDLEVEL_TYPE_CALCULATED}
  851.   MDLEVEL_TYPE_TIME = $0004;
  852.   {$EXTERNALSYM MDLEVEL_TYPE_TIME}
  853.   MDLEVEL_TYPE_RESERVED1 = $0008;
  854.   {$EXTERNALSYM MDLEVEL_TYPE_RESERVED1}
  855.   MDLEVEL_TYPE_TIME_YEARS = $0014;
  856.   {$EXTERNALSYM MDLEVEL_TYPE_TIME_YEARS}
  857.   MDLEVEL_TYPE_TIME_HALF_YEAR = $0024;
  858.   {$EXTERNALSYM MDLEVEL_TYPE_TIME_HALF_YEAR}
  859.   MDLEVEL_TYPE_TIME_QUARTERS = $0044;
  860.   {$EXTERNALSYM MDLEVEL_TYPE_TIME_QUARTERS}
  861.   MDLEVEL_TYPE_TIME_MONTHS = $0084;
  862.   {$EXTERNALSYM MDLEVEL_TYPE_TIME_MONTHS}
  863.   MDLEVEL_TYPE_TIME_WEEKS = $0104;
  864.   {$EXTERNALSYM MDLEVEL_TYPE_TIME_WEEKS}
  865.   MDLEVEL_TYPE_TIME_DAYS = $0204;
  866.   {$EXTERNALSYM MDLEVEL_TYPE_TIME_DAYS}
  867.   MDLEVEL_TYPE_TIME_HOURS = $0304;
  868.   {$EXTERNALSYM MDLEVEL_TYPE_TIME_HOURS}
  869.   MDLEVEL_TYPE_TIME_MINUTES = $0404;
  870.   {$EXTERNALSYM MDLEVEL_TYPE_TIME_MINUTES}
  871.   MDLEVEL_TYPE_TIME_SECONDS = $0804;
  872.   {$EXTERNALSYM MDLEVEL_TYPE_TIME_SECONDS}
  873.   MDLEVEL_TYPE_TIME_UNDEFINED = $1004;
  874.   {$EXTERNALSYM MDLEVEL_TYPE_TIME_UNDEFINED}
  875.   MDMEASURE_AGGR_UNKNOWN = $00;
  876.   {$EXTERNALSYM MDMEASURE_AGGR_UNKNOWN}
  877.   MDMEASURE_AGGR_SUM = $01;
  878.   {$EXTERNALSYM MDMEASURE_AGGR_SUM}
  879.   MDMEASURE_AGGR_COUNT = $02;
  880.   {$EXTERNALSYM MDMEASURE_AGGR_COUNT}
  881.   MDMEASURE_AGGR_MIN = $03;
  882.   {$EXTERNALSYM MDMEASURE_AGGR_MIN}
  883.   MDMEASURE_AGGR_MAX = $04;
  884.   {$EXTERNALSYM MDMEASURE_AGGR_MAX}
  885.   MDMEASURE_AGGR_AVG = $05;
  886.   {$EXTERNALSYM MDMEASURE_AGGR_AVG}
  887.   MDMEASURE_AGGR_VAR = $06;
  888.   {$EXTERNALSYM MDMEASURE_AGGR_VAR}
  889.   MDMEASURE_AGGR_STD = $07;
  890.   {$EXTERNALSYM MDMEASURE_AGGR_STD}
  891.   MDMEASURE_AGGR_CALCULATED = $7f;
  892.   {$EXTERNALSYM MDMEASURE_AGGR_CALCULATED}
  893.   MDPROP_MEMBER = $01;
  894.   {$EXTERNALSYM MDPROP_MEMBER}
  895.   MDPROP_CELL = $02;
  896.   {$EXTERNALSYM MDPROP_CELL}
  897.   MDMEMBER_TYPE_UNKNOWN = $00;
  898.   {$EXTERNALSYM MDMEMBER_TYPE_UNKNOWN}
  899.   MDMEMBER_TYPE_REGULAR = $01;
  900.   {$EXTERNALSYM MDMEMBER_TYPE_REGULAR}
  901.   MDMEMBER_TYPE_ALL = $02;
  902.   {$EXTERNALSYM MDMEMBER_TYPE_ALL}
  903.   MDMEMBER_TYPE_MEASURE = $03;
  904.   {$EXTERNALSYM MDMEMBER_TYPE_MEASURE}
  905.   MDMEMBER_TYPE_FORMULA = $04;
  906.   {$EXTERNALSYM MDMEMBER_TYPE_FORMULA}
  907.   MDMEMBER_TYPE_RESERVE1 = $05;
  908.   {$EXTERNALSYM MDMEMBER_TYPE_RESERVE1}
  909.   MDMEMBER_TYPE_RESERVE2 = $06;
  910.   {$EXTERNALSYM MDMEMBER_TYPE_RESERVE2}
  911.   MDMEMBER_TYPE_RESERVE3 = $07;
  912.   {$EXTERNALSYM MDMEMBER_TYPE_RESERVE3}
  913.   MDMEMBER_TYPE_RESERVE4 = $08;
  914.   {$EXTERNALSYM MDMEMBER_TYPE_RESERVE4}
  915.   MDDISPINFO_DRILLED_DOWN = $00010000;
  916.   {$EXTERNALSYM MDDISPINFO_DRILLED_DOWN}
  917.   MDDISPINFO_PARENT_SAME_AS_PREV = $00020000;
  918.   {$EXTERNALSYM MDDISPINFO_PARENT_SAME_AS_PREV}
  919.   DB_COUNTUNAVAILABLE = -1;
  920.   {$EXTERNALSYM DB_COUNTUNAVAILABLE}
  921.   MDFF_BOLD = $01;
  922.   {$EXTERNALSYM MDFF_BOLD}
  923.   MDFF_ITALIC = $02;
  924.   {$EXTERNALSYM MDFF_ITALIC}
  925.   MDFF_UNDERLINE = $04;
  926.   {$EXTERNALSYM MDFF_UNDERLINE}
  927.   MDFF_STRIKEOUT = $08;
  928.   {$EXTERNALSYM MDFF_STRIKEOUT}
  929.   MDAXIS_COLUMNS = $00000000;
  930.   {$EXTERNALSYM MDAXIS_COLUMNS}
  931.   MDAXIS_ROWS = $00000001;
  932.   {$EXTERNALSYM MDAXIS_ROWS}
  933.   MDAXIS_PAGES = $00000002;
  934.   {$EXTERNALSYM MDAXIS_PAGES}
  935.   MDAXIS_SECTIONS = $00000003;
  936.   {$EXTERNALSYM MDAXIS_SECTIONS}
  937.   MDAXIS_CHAPTERS = $00000004;
  938.   {$EXTERNALSYM MDAXIS_CHAPTERS}
  939.   MDAXIS_SLICERS = $ffffffff;
  940.   {$EXTERNALSYM MDAXIS_SLICERS}
  941.   GENERATE_METHOD_EXACT = 0;
  942.   {$EXTERNALSYM GENERATE_METHOD_EXACT}
  943.   GENERATE_METHOD_PREFIX = 1;
  944.   {$EXTERNALSYM GENERATE_METHOD_PREFIX}
  945.   GENERATE_METHOD_INFLECT = 2;
  946.   {$EXTERNALSYM GENERATE_METHOD_INFLECT}
  947.   PROPID_QUERY_RANKVECTOR = $2;
  948.   {$EXTERNALSYM PROPID_QUERY_RANKVECTOR}
  949.   PROPID_QUERY_RANK = $3;
  950.   {$EXTERNALSYM PROPID_QUERY_RANK}
  951.   PROPID_QUERY_HITCOUNT = $4;
  952.   {$EXTERNALSYM PROPID_QUERY_HITCOUNT}
  953.   PROPID_QUERY_ALL = $6;
  954.   {$EXTERNALSYM PROPID_QUERY_ALL}
  955.   PROPID_STG_CONTENTS = $13;
  956.   {$EXTERNALSYM PROPID_STG_CONTENTS}
  957.   VECTOR_RANK_MIN = 0;
  958.   {$EXTERNALSYM VECTOR_RANK_MIN}
  959.   VECTOR_RANK_MAX = 1;
  960.   {$EXTERNALSYM VECTOR_RANK_MAX}
  961.   VECTOR_RANK_INNER = 2;
  962.   {$EXTERNALSYM VECTOR_RANK_INNER}
  963.   VECTOR_RANK_DICE = 3;
  964.   {$EXTERNALSYM VECTOR_RANK_DICE}
  965.   VECTOR_RANK_JACCARD = 4;
  966.   {$EXTERNALSYM VECTOR_RANK_JACCARD}
  967.   DBSETFUNC_NONE = $0;
  968.   {$EXTERNALSYM DBSETFUNC_NONE}
  969.   DBSETFUNC_ALL = $1;
  970.   {$EXTERNALSYM DBSETFUNC_ALL}
  971.   DBSETFUNC_DISTINCT = $2;
  972.   {$EXTERNALSYM DBSETFUNC_DISTINCT}
  973.   PROXIMITY_UNIT_WORD = 0;
  974.   {$EXTERNALSYM PROXIMITY_UNIT_WORD}
  975.   PROXIMITY_UNIT_SENTENCE = 1;
  976.   {$EXTERNALSYM PROXIMITY_UNIT_SENTENCE}
  977.   PROXIMITY_UNIT_PARAGRAPH = 2;
  978.   {$EXTERNALSYM PROXIMITY_UNIT_PARAGRAPH}
  979.   PROXIMITY_UNIT_CHAPTER = 3;
  980.   {$EXTERNALSYM PROXIMITY_UNIT_CHAPTER}
  981.   CRESTRICTIONS_DBSCHEMA_ASSERTIONS = 3;
  982.   {$EXTERNALSYM CRESTRICTIONS_DBSCHEMA_ASSERTIONS}
  983.   CRESTRICTIONS_DBSCHEMA_CATALOGS = 1;
  984.   {$EXTERNALSYM CRESTRICTIONS_DBSCHEMA_CATALOGS}
  985.   CRESTRICTIONS_DBSCHEMA_CHARACTER_SETS = 3;
  986.   {$EXTERNALSYM CRESTRICTIONS_DBSCHEMA_CHARACTER_SETS}
  987.   CRESTRICTIONS_DBSCHEMA_COLLATIONS = 3;
  988.   {$EXTERNALSYM CRESTRICTIONS_DBSCHEMA_COLLATIONS}
  989.   CRESTRICTIONS_DBSCHEMA_COLUMNS = 4;
  990.   {$EXTERNALSYM CRESTRICTIONS_DBSCHEMA_COLUMNS}
  991.   CRESTRICTIONS_DBSCHEMA_CHECK_CONSTRAINTS = 3;
  992.   {$EXTERNALSYM CRESTRICTIONS_DBSCHEMA_CHECK_CONSTRAINTS}
  993.   CRESTRICTIONS_DBSCHEMA_CONSTRAINT_COLUMN_USAGE = 4;
  994.   {$EXTERNALSYM CRESTRICTIONS_DBSCHEMA_CONSTRAINT_COLUMN_USAGE}
  995.   CRESTRICTIONS_DBSCHEMA_CONSTRAINT_TABLE_USAGE = 3;
  996.   {$EXTERNALSYM CRESTRICTIONS_DBSCHEMA_CONSTRAINT_TABLE_USAGE}
  997.   CRESTRICTIONS_DBSCHEMA_KEY_COLUMN_USAGE = 7;
  998.   {$EXTERNALSYM CRESTRICTIONS_DBSCHEMA_KEY_COLUMN_USAGE}
  999.   CRESTRICTIONS_DBSCHEMA_REFERENTIAL_CONSTRAINTS = 3;
  1000.   {$EXTERNALSYM CRESTRICTIONS_DBSCHEMA_REFERENTIAL_CONSTRAINTS}
  1001.   CRESTRICTIONS_DBSCHEMA_TABLE_CONSTRAINTS = 7;
  1002.   {$EXTERNALSYM CRESTRICTIONS_DBSCHEMA_TABLE_CONSTRAINTS}
  1003.   CRESTRICTIONS_DBSCHEMA_COLUMN_DOMAIN_USAGE = 4;
  1004.   {$EXTERNALSYM CRESTRICTIONS_DBSCHEMA_COLUMN_DOMAIN_USAGE}
  1005.   CRESTRICTIONS_DBSCHEMA_INDEXES = 5;
  1006.   {$EXTERNALSYM CRESTRICTIONS_DBSCHEMA_INDEXES}
  1007.   CRESTRICTIONS_DBSCHEMA_OBJECT_ACTIONS = 1;
  1008.   {$EXTERNALSYM CRESTRICTIONS_DBSCHEMA_OBJECT_ACTIONS}
  1009.   CRESTRICTIONS_DBSCHEMA_OBJECTS = 1;
  1010.   {$EXTERNALSYM CRESTRICTIONS_DBSCHEMA_OBJECTS}
  1011.   CRESTRICTIONS_DBSCHEMA_COLUMN_PRIVILEGES = 6;
  1012.   {$EXTERNALSYM CRESTRICTIONS_DBSCHEMA_COLUMN_PRIVILEGES}
  1013.   CRESTRICTIONS_DBSCHEMA_TABLE_PRIVILEGES = 5;
  1014.   {$EXTERNALSYM CRESTRICTIONS_DBSCHEMA_TABLE_PRIVILEGES}
  1015.   CRESTRICTIONS_DBSCHEMA_USAGE_PRIVILEGES = 6;
  1016.   {$EXTERNALSYM CRESTRICTIONS_DBSCHEMA_USAGE_PRIVILEGES}
  1017.   CRESTRICTIONS_DBSCHEMA_PROCEDURES = 4;
  1018.   {$EXTERNALSYM CRESTRICTIONS_DBSCHEMA_PROCEDURES}
  1019.   CRESTRICTIONS_DBSCHEMA_SCHEMATA = 3;
  1020.   {$EXTERNALSYM CRESTRICTIONS_DBSCHEMA_SCHEMATA}
  1021.   CRESTRICTIONS_DBSCHEMA_SQL_LANGUAGES = 0;
  1022.   {$EXTERNALSYM CRESTRICTIONS_DBSCHEMA_SQL_LANGUAGES}
  1023.   CRESTRICTIONS_DBSCHEMA_STATISTICS = 3;
  1024.   {$EXTERNALSYM CRESTRICTIONS_DBSCHEMA_STATISTICS}
  1025.   CRESTRICTIONS_DBSCHEMA_TABLES = 4;
  1026.   {$EXTERNALSYM CRESTRICTIONS_DBSCHEMA_TABLES}
  1027.   CRESTRICTIONS_DBSCHEMA_TRANSLATIONS = 3;
  1028.   {$EXTERNALSYM CRESTRICTIONS_DBSCHEMA_TRANSLATIONS}
  1029.   CRESTRICTIONS_DBSCHEMA_PROVIDER_TYPES = 2;
  1030.   {$EXTERNALSYM CRESTRICTIONS_DBSCHEMA_PROVIDER_TYPES}
  1031.   CRESTRICTIONS_DBSCHEMA_VIEWS = 3;
  1032.   {$EXTERNALSYM CRESTRICTIONS_DBSCHEMA_VIEWS}
  1033.   CRESTRICTIONS_DBSCHEMA_VIEW_COLUMN_USAGE = 3;
  1034.   {$EXTERNALSYM CRESTRICTIONS_DBSCHEMA_VIEW_COLUMN_USAGE}
  1035.   CRESTRICTIONS_DBSCHEMA_VIEW_TABLE_USAGE = 3;
  1036.   {$EXTERNALSYM CRESTRICTIONS_DBSCHEMA_VIEW_TABLE_USAGE}
  1037.   CRESTRICTIONS_DBSCHEMA_PROCEDURE_PARAMETERS = 4;
  1038.   {$EXTERNALSYM CRESTRICTIONS_DBSCHEMA_PROCEDURE_PARAMETERS}
  1039.   CRESTRICTIONS_DBSCHEMA_FOREIGN_KEYS = 6;
  1040.   {$EXTERNALSYM CRESTRICTIONS_DBSCHEMA_FOREIGN_KEYS}
  1041.   CRESTRICTIONS_DBSCHEMA_PRIMARY_KEYS = 3;
  1042.   {$EXTERNALSYM CRESTRICTIONS_DBSCHEMA_PRIMARY_KEYS}
  1043.   CRESTRICTIONS_DBSCHEMA_PROCEDURE_COLUMNS = 4;
  1044.   {$EXTERNALSYM CRESTRICTIONS_DBSCHEMA_PROCEDURE_COLUMNS}
  1045.   CRESTRICTIONS_DBSCHEMA_TABLES_INFO = 4;
  1046.   {$EXTERNALSYM CRESTRICTIONS_DBSCHEMA_TABLES_INFO}
  1047.   CRESTRICTIONS_MDSCHEMA_CUBES = 3;
  1048.   {$EXTERNALSYM CRESTRICTIONS_MDSCHEMA_CUBES}
  1049.   CRESTRICTIONS_MDSCHEMA_DIMENSIONS = 5;
  1050.   {$EXTERNALSYM CRESTRICTIONS_MDSCHEMA_DIMENSIONS}
  1051.   CRESTRICTIONS_MDSCHEMA_HIERARCHIES = 6;
  1052.   {$EXTERNALSYM CRESTRICTIONS_MDSCHEMA_HIERARCHIES}
  1053.   CRESTRICTIONS_MDSCHEMA_LEVELS = 7;
  1054.   {$EXTERNALSYM CRESTRICTIONS_MDSCHEMA_LEVELS}
  1055.   CRESTRICTIONS_MDSCHEMA_MEASURES = 5;
  1056.   {$EXTERNALSYM CRESTRICTIONS_MDSCHEMA_MEASURES}
  1057.   CRESTRICTIONS_MDSCHEMA_PROPERTIES = 9;
  1058.   {$EXTERNALSYM CRESTRICTIONS_MDSCHEMA_PROPERTIES}
  1059.   CRESTRICTIONS_MDSCHEMA_MEMBERS = 12;
  1060.   {$EXTERNALSYM CRESTRICTIONS_MDSCHEMA_MEMBERS}
  1061.  
  1062. // *********************************************************************//
  1063. // Declaration of Enumerations                                          //
  1064. // *********************************************************************//
  1065.  
  1066. // TX_MISC_CONSTANTS constants
  1067.  
  1068. type
  1069.   TOleEnum = Integer;
  1070.   TX_MISC_CONSTANTS = TOleEnum;
  1071.   {$EXTERNALSYM TX_MISC_CONSTANTS}
  1072. const
  1073.   MAX_TRAN_DESC = $00000028;
  1074.   {$EXTERNALSYM MAX_TRAN_DESC}
  1075.  
  1076. // ISOLATIONLEVEL constants
  1077. type
  1078.   ISOLATIONLEVEL = TOleEnum;
  1079.   {$EXTERNALSYM ISOLATIONLEVEL}
  1080. const
  1081.   ISOLATIONLEVEL_UNSPECIFIED = $FFFFFFFF;
  1082.   {$EXTERNALSYM ISOLATIONLEVEL_UNSPECIFIED}
  1083.   ISOLATIONLEVEL_CHAOS = $00000010;
  1084.   {$EXTERNALSYM ISOLATIONLEVEL_CHAOS}
  1085.   ISOLATIONLEVEL_READUNCOMMITTED = $00000100;
  1086.   {$EXTERNALSYM ISOLATIONLEVEL_READUNCOMMITTED}
  1087.   ISOLATIONLEVEL_BROWSE = $00000100;
  1088.   {$EXTERNALSYM ISOLATIONLEVEL_BROWSE}
  1089.   ISOLATIONLEVEL_CURSORSTABILITY = $00001000;
  1090.   {$EXTERNALSYM ISOLATIONLEVEL_CURSORSTABILITY}
  1091.   ISOLATIONLEVEL_READCOMMITTED = $00001000;
  1092.   {$EXTERNALSYM ISOLATIONLEVEL_READCOMMITTED}
  1093.   ISOLATIONLEVEL_REPEATABLEREAD = $00010000;
  1094.   {$EXTERNALSYM ISOLATIONLEVEL_REPEATABLEREAD}
  1095.   ISOLATIONLEVEL_SERIALIZABLE = $00100000;
  1096.   {$EXTERNALSYM ISOLATIONLEVEL_SERIALIZABLE}
  1097.   ISOLATIONLEVEL_ISOLATED = $00100000;
  1098.   {$EXTERNALSYM ISOLATIONLEVEL_ISOLATED}
  1099.  
  1100. // ISOFLAG constants
  1101. type
  1102.   ISOFLAG = TOleEnum;
  1103.   {$EXTERNALSYM ISOFLAG}
  1104. const
  1105.   ISOFLAG_RETAIN_COMMIT_DC = $00000001;
  1106.   {$EXTERNALSYM ISOFLAG_RETAIN_COMMIT_DC}
  1107.   ISOFLAG_RETAIN_COMMIT = $00000002;
  1108.   {$EXTERNALSYM ISOFLAG_RETAIN_COMMIT}
  1109.   ISOFLAG_RETAIN_COMMIT_NO = $00000003;
  1110.   {$EXTERNALSYM ISOFLAG_RETAIN_COMMIT_NO}
  1111.   ISOFLAG_RETAIN_ABORT_DC = $00000004;
  1112.   {$EXTERNALSYM ISOFLAG_RETAIN_ABORT_DC}
  1113.   ISOFLAG_RETAIN_ABORT = $00000008;
  1114.   {$EXTERNALSYM ISOFLAG_RETAIN_ABORT}
  1115.   ISOFLAG_RETAIN_ABORT_NO = $0000000C;
  1116.   {$EXTERNALSYM ISOFLAG_RETAIN_ABORT_NO}
  1117.   ISOFLAG_RETAIN_DONTCARE = $00000005;
  1118.   {$EXTERNALSYM ISOFLAG_RETAIN_ABORT_NO}
  1119.   ISOFLAG_RETAIN_BOTH = $0000000A;
  1120.   {$EXTERNALSYM ISOFLAG_RETAIN_BOTH}
  1121.   ISOFLAG_RETAIN_NONE = $0000000F;
  1122.   {$EXTERNALSYM ISOFLAG_RETAIN_NONE}
  1123.   ISOFLAG_OPTIMISTIC = $00000010;
  1124.   {$EXTERNALSYM ISOFLAG_OPTIMISTIC}
  1125.   ISOFLAG_READONLY = $00000020;
  1126.   {$EXTERNALSYM ISOFLAG_READONLY}
  1127.  
  1128. // XACTTC constants
  1129. type
  1130.   XACTTC = TOleEnum;
  1131.   {$EXTERNALSYM XACTTC}
  1132. const
  1133.   XACTTC_SYNC_PHASEONE = $00000001;
  1134.   {$EXTERNALSYM XACTTC_SYNC_PHASEONE}
  1135.   XACTTC_SYNC_PHASETWO = $00000002;
  1136.   {$EXTERNALSYM XACTTC_SYNC_PHASETWO}
  1137.   XACTTC_SYNC = $00000002;
  1138.   {$EXTERNALSYM XACTTC_SYNC}
  1139.   XACTTC_ASYNC_PHASEONE = $00000004;
  1140.   {$EXTERNALSYM XACTTC_ASYNC_PHASEONE}
  1141.   XACTTC_ASYNC = $00000004;
  1142.   {$EXTERNALSYM XACTTC_ASYNC}
  1143.  
  1144. // XACTRM constants
  1145. type
  1146.   XACTRM = TOleEnum;
  1147.   {$EXTERNALSYM XACTRM}
  1148. const
  1149.   XACTRM_OPTIMISTICLASTWINS = $00000001;
  1150.   {$EXTERNALSYM XACTRM_OPTIMISTICLASTWINS}
  1151.   XACTRM_NOREADONLYPREPARES = $00000002;
  1152.   {$EXTERNALSYM XACTRM_NOREADONLYPREPARES}
  1153.  
  1154. // XACTCONST constants
  1155. type
  1156.   XACTCONST = TOleEnum;
  1157.   {$EXTERNALSYM XACTCONST}
  1158. const
  1159.   XACTCONST_TIMEOUTINFINITE = $00000000;
  1160.   {$EXTERNALSYM XACTCONST_TIMEOUTINFINITE}
  1161.  
  1162. // XACTHEURISTIC constants
  1163. type
  1164.   XACTHEURISTIC = TOleEnum;
  1165.   {$EXTERNALSYM XACTHEURISTIC}
  1166. const
  1167.   XACTHEURISTIC_ABORT = $00000001;
  1168.   {$EXTERNALSYM XACTHEURISTIC_ABORT}
  1169.   XACTHEURISTIC_COMMIT = $00000002;
  1170.   {$EXTERNALSYM XACTHEURISTIC_COMMIT}
  1171.   XACTHEURISTIC_DAMAGE = $00000003;
  1172.   {$EXTERNALSYM XACTHEURISTIC_DAMAGE}
  1173.   XACTHEURISTIC_DANGER = $00000004;
  1174.   {$EXTERNALSYM XACTHEURISTIC_DANGER}
  1175.  
  1176. // XACTSTAT constants
  1177. type
  1178.   XACTSTAT = TOleEnum;
  1179.   {$EXTERNALSYM XACTSTAT}
  1180. const
  1181.   XACTSTAT_NONE = $00000000;
  1182.   {$EXTERNALSYM XACTSTAT_NONE}
  1183.   XACTSTAT_OPENNORMAL = $00000001;
  1184.   {$EXTERNALSYM XACTSTAT_OPENNORMAL}
  1185.   XACTSTAT_OPENREFUSED = $00000002;
  1186.   {$EXTERNALSYM XACTSTAT_OPENREFUSED}
  1187.   XACTSTAT_PREPARING = $00000004;
  1188.   {$EXTERNALSYM XACTSTAT_PREPARING}
  1189.   XACTSTAT_PREPARED = $00000008;
  1190.   {$EXTERNALSYM XACTSTAT_PREPARED}
  1191.   XACTSTAT_PREPARERETAINING = $00000010;
  1192.   {$EXTERNALSYM XACTSTAT_PREPARERETAINING}
  1193.   XACTSTAT_PREPARERETAINED = $00000020;
  1194.   {$EXTERNALSYM XACTSTAT_PREPARERETAINED}
  1195.   XACTSTAT_COMMITTING = $00000040;
  1196.   {$EXTERNALSYM XACTSTAT_COMMITTING}
  1197.   XACTSTAT_COMMITRETAINING = $00000080;
  1198.   {$EXTERNALSYM XACTSTAT_COMMITRETAINING}
  1199.   XACTSTAT_ABORTING = $00000100;
  1200.   {$EXTERNALSYM XACTSTAT_ABORTING}
  1201.   XACTSTAT_ABORTED = $00000200;
  1202.   {$EXTERNALSYM XACTSTAT_ABORTED}
  1203.   XACTSTAT_COMMITTED = $00000400;
  1204.   {$EXTERNALSYM XACTSTAT_COMMITTED}
  1205.   XACTSTAT_HEURISTIC_ABORT = $00000800;
  1206.   {$EXTERNALSYM XACTSTAT_HEURISTIC_ABORT}
  1207.   XACTSTAT_HEURISTIC_COMMIT = $00001000;
  1208.   {$EXTERNALSYM XACTSTAT_HEURISTIC_COMMIT}
  1209.   XACTSTAT_HEURISTIC_DAMAGE = $00002000;
  1210.   {$EXTERNALSYM XACTSTAT_HEURISTIC_DAMAGE}
  1211.   XACTSTAT_HEURISTIC_DANGER = $00004000;
  1212.   {$EXTERNALSYM XACTSTAT_HEURISTIC_DANGER}
  1213.   XACTSTAT_FORCED_ABORT = $00008000;
  1214.   {$EXTERNALSYM XACTSTAT_FORCED_ABORT}
  1215.   XACTSTAT_FORCED_COMMIT = $00010000;
  1216.   {$EXTERNALSYM XACTSTAT_FORCED_COMMIT}
  1217.   XACTSTAT_INDOUBT = $00020000;
  1218.   {$EXTERNALSYM XACTSTAT_INDOUBT}
  1219.   XACTSTAT_CLOSED = $00040000;
  1220.   {$EXTERNALSYM XACTSTAT_CLOSED}
  1221.   XACTSTAT_OPEN = $00000003;
  1222.   {$EXTERNALSYM XACTSTAT_OPEN}
  1223.   XACTSTAT_NOTPREPARED = $0007FFC3;
  1224.   {$EXTERNALSYM XACTSTAT_NOTPREPARED}
  1225.   XACTSTAT_ALL = $0007FFFF;
  1226.   {$EXTERNALSYM XACTSTAT_ALL}
  1227.  
  1228. // XACT_E constants
  1229. type
  1230.   XACT_E = TOleEnum;
  1231.   {$EXTERNALSYM XACT_E}
  1232. const
  1233.   XACT_E_FIRST = $8004D000;
  1234.   {$EXTERNALSYM XACT_E_FIRST}
  1235.   XACT_E_LAST = $8004D01E;
  1236.   {$EXTERNALSYM XACT_E_LAST}
  1237.   XACT_S_FIRST = $0004D000;
  1238.   {$EXTERNALSYM XACT_S_FIRST}
  1239.   XACT_S_LAST = $0004D009;
  1240.   {$EXTERNALSYM XACT_S_LAST}
  1241.   XACT_E_ALREADYOTHERSINGLEPHASE = $8004D000;
  1242.   {$EXTERNALSYM XACT_E_ALREADYOTHERSINGLEPHASE}
  1243.   XACT_E_CANTRETAIN = $8004D001;
  1244.   {$EXTERNALSYM XACT_E_CANTRETAIN}
  1245.   XACT_E_COMMITFAILED = $8004D002;
  1246.   {$EXTERNALSYM XACT_E_COMMITFAILED}
  1247.   XACT_E_COMMITPREVENTED = $8004D003;
  1248.   {$EXTERNALSYM XACT_E_COMMITPREVENTED}
  1249.   XACT_E_HEURISTICABORT = $8004D004;
  1250.   {$EXTERNALSYM XACT_E_HEURISTICABORT}
  1251.   XACT_E_HEURISTICCOMMIT = $8004D005;
  1252.   {$EXTERNALSYM XACT_E_HEURISTICCOMMIT}
  1253.   XACT_E_HEURISTICDAMAGE = $8004D006;
  1254.   {$EXTERNALSYM XACT_E_HEURISTICDAMAGE}
  1255.   XACT_E_HEURISTICDANGER = $8004D007;
  1256.   {$EXTERNALSYM XACT_E_HEURISTICDANGER}
  1257.   XACT_E_ISOLATIONLEVEL = $8004D008;
  1258.   {$EXTERNALSYM XACT_E_ISOLATIONLEVEL}
  1259.   XACT_E_NOASYNC = $8004D009;
  1260.   {$EXTERNALSYM XACT_E_NOASYNC}
  1261.   XACT_E_NOENLIST = $8004D00A;
  1262.   {$EXTERNALSYM XACT_E_NOENLIST}
  1263.   XACT_E_NOISORETAIN = $8004D00B;
  1264.   {$EXTERNALSYM XACT_E_NOISORETAIN}
  1265.   XACT_E_NORESOURCE = $8004D00C;
  1266.   {$EXTERNALSYM XACT_E_NORESOURCE}
  1267.   XACT_E_NOTCURRENT = $8004D00D;
  1268.   {$EXTERNALSYM XACT_E_NOTCURRENT}
  1269.   XACT_E_NOTRANSACTION = $8004D00E;
  1270.   {$EXTERNALSYM XACT_E_NOTRANSACTION}
  1271.   XACT_E_NOTSUPPORTED = $8004D00F;
  1272.   {$EXTERNALSYM XACT_E_NOTSUPPORTED}
  1273.   XACT_E_UNKNOWNRMGRID = $8004D010;
  1274.   {$EXTERNALSYM XACT_E_UNKNOWNRMGRID}
  1275.   XACT_E_WRONGSTATE = $8004D011;
  1276.   {$EXTERNALSYM XACT_E_WRONGSTATE}
  1277.   XACT_E_WRONGUOW = $8004D012;
  1278.   {$EXTERNALSYM XACT_E_WRONGUOW}
  1279.   XACT_E_XTIONEXISTS = $8004D013;
  1280.   {$EXTERNALSYM XACT_E_XTIONEXISTS}
  1281.   XACT_E_NOIMPORTOBJECT = $8004D014;
  1282.   {$EXTERNALSYM XACT_E_NOIMPORTOBJECT}
  1283.   XACT_E_INVALIDCOOKIE = $8004D015;
  1284.   {$EXTERNALSYM XACT_E_INVALIDCOOKIE}
  1285.   XACT_E_INDOUBT = $8004D016;
  1286.   {$EXTERNALSYM XACT_E_INDOUBT}
  1287.   XACT_E_NOTIMEOUT = $8004D017;
  1288.   {$EXTERNALSYM XACT_E_NOTIMEOUT}
  1289.   XACT_E_ALREADYINPROGRESS = $8004D018;
  1290.   {$EXTERNALSYM XACT_E_ALREADYINPROGRESS}
  1291.   XACT_E_ABORTED = $8004D019;
  1292.   {$EXTERNALSYM XACT_E_ABORTED}
  1293.   XACT_E_LOGFULL = $8004D01A;
  1294.   {$EXTERNALSYM XACT_E_LOGFULL}
  1295.   XACT_E_TMNOTAVAILABLE = $8004D01B;
  1296.   {$EXTERNALSYM XACT_E_TMNOTAVAILABLE}
  1297.   XACT_E_CONNECTION_DOWN = $8004D01C;
  1298.   {$EXTERNALSYM XACT_E_CONNECTION_DOWN}
  1299.   XACT_E_CONNECTION_DENIED = $8004D01D;
  1300.   {$EXTERNALSYM XACT_E_CONNECTION_DENIED}
  1301.   XACT_E_REENLISTTIMEOUT = $8004D01E;
  1302.   {$EXTERNALSYM XACT_E_REENLISTTIMEOUT}
  1303.   XACT_S_ASYNC = $0004D000;
  1304.   {$EXTERNALSYM XACT_S_ASYNC}
  1305.   XACT_S_DEFECT = $0004D001;
  1306.   {$EXTERNALSYM XACT_S_DEFECT}
  1307.   XACT_S_READONLY = $0004D002;
  1308.   {$EXTERNALSYM XACT_S_READONLY}
  1309.   XACT_S_SOMENORETAIN = $0004D003;
  1310.   {$EXTERNALSYM XACT_S_SOMENORETAIN}
  1311.   XACT_S_OKINFORM = $0004D004;
  1312.   {$EXTERNALSYM XACT_S_OKINFORM}
  1313.   XACT_S_MADECHANGESCONTENT = $0004D005;
  1314.   {$EXTERNALSYM XACT_S_MADECHANGESCONTENT}
  1315.   XACT_S_MADECHANGESINFORM = $0004D006;
  1316.   {$EXTERNALSYM XACT_S_MADECHANGESINFORM}
  1317.   XACT_S_ALLNORETAIN = $0004D007;
  1318.   {$EXTERNALSYM XACT_S_ALLNORETAIN}
  1319.   XACT_S_ABORTING = $0004D008;
  1320.   {$EXTERNALSYM XACT_S_ABORTING}
  1321.   XACT_S_SINGLEPHASE = $0004D009;
  1322.   {$EXTERNALSYM XACT_S_SINGLEPHASE}
  1323.  
  1324. // DBKINDENUM constants
  1325. type
  1326.   DBKINDENUM = TOleEnum;
  1327.   {$EXTERNALSYM DBKINDENUM}
  1328. const
  1329.   DBKIND_GUID_NAME = $00000000;
  1330.   {$EXTERNALSYM DBKIND_GUID_NAME}
  1331.   DBKIND_GUID_PROPID = $00000001;
  1332.   {$EXTERNALSYM DBKIND_GUID_PROPID}
  1333.   DBKIND_NAME = $00000002;
  1334.   {$EXTERNALSYM DBKIND_NAME}
  1335.   DBKIND_PGUID_NAME = $00000003;
  1336.   {$EXTERNALSYM DBKIND_PGUID_NAME}
  1337.   DBKIND_PGUID_PROPID = $00000004;
  1338.   {$EXTERNALSYM DBKIND_PGUID_PROPID}
  1339.   DBKIND_PROPID = $00000005;
  1340.   {$EXTERNALSYM DBKIND_PROPID}
  1341.   DBKIND_GUID = $00000006;
  1342.   {$EXTERNALSYM DBKIND_GUID}
  1343.  
  1344. // DBTYPEENUM constants
  1345. type
  1346.   DBTYPEENUM = TOleEnum;
  1347.   {$EXTERNALSYM DBTYPEENUM}
  1348. const
  1349.   DBTYPE_EMPTY = $00000000;
  1350.   {$EXTERNALSYM DBTYPE_EMPTY}
  1351.   DBTYPE_NULL = $00000001;
  1352.   {$EXTERNALSYM DBTYPE_NULL}
  1353.   DBTYPE_I2 = $00000002;
  1354.   {$EXTERNALSYM DBTYPE_I2}
  1355.   DBTYPE_I4 = $00000003;
  1356.   {$EXTERNALSYM DBTYPE_I4}
  1357.   DBTYPE_R4 = $00000004;
  1358.   {$EXTERNALSYM DBTYPE_R4}
  1359.   DBTYPE_R8 = $00000005;
  1360.   {$EXTERNALSYM DBTYPE_R8}
  1361.   DBTYPE_CY = $00000006;
  1362.   {$EXTERNALSYM DBTYPE_CY}
  1363.   DBTYPE_DATE = $00000007;
  1364.   {$EXTERNALSYM DBTYPE_DATE}
  1365.   DBTYPE_BSTR = $00000008;
  1366.   {$EXTERNALSYM DBTYPE_BSTR}
  1367.   DBTYPE_IDISPATCH = $00000009;
  1368.   {$EXTERNALSYM DBTYPE_IDISPATCH}
  1369.   DBTYPE_ERROR = $0000000A;
  1370.   {$EXTERNALSYM DBTYPE_ERROR}
  1371.   DBTYPE_BOOL = $0000000B;
  1372.   {$EXTERNALSYM DBTYPE_BOOL}
  1373.   DBTYPE_VARIANT = $0000000C;
  1374.   {$EXTERNALSYM DBTYPE_VARIANT}
  1375.   DBTYPE_IUNKNOWN = $0000000D;
  1376.   {$EXTERNALSYM DBTYPE_IUNKNOWN}
  1377.   DBTYPE_DECIMAL = $0000000E;
  1378.   {$EXTERNALSYM DBTYPE_DECIMAL}
  1379.   DBTYPE_UI1 = $00000011;
  1380.   {$EXTERNALSYM DBTYPE_UI1}
  1381.   DBTYPE_ARRAY = $00002000;
  1382.   {$EXTERNALSYM DBTYPE_ARRAY}
  1383.   DBTYPE_BYREF = $00004000;
  1384.   {$EXTERNALSYM DBTYPE_BYREF}
  1385.   DBTYPE_I1 = $00000010;
  1386.   {$EXTERNALSYM DBTYPE_I1}
  1387.   DBTYPE_UI2 = $00000012;
  1388.   {$EXTERNALSYM DBTYPE_UI2}
  1389.   DBTYPE_UI4 = $00000013;
  1390.   {$EXTERNALSYM DBTYPE_UI4}
  1391.   DBTYPE_I8 = $00000014;
  1392.   {$EXTERNALSYM DBTYPE_I8}
  1393.   DBTYPE_UI8 = $00000015;
  1394.   {$EXTERNALSYM DBTYPE_UI8}
  1395.   DBTYPE_GUID = $00000048;
  1396.   {$EXTERNALSYM DBTYPE_GUID}
  1397.   DBTYPE_VECTOR = $00001000;
  1398.   {$EXTERNALSYM DBTYPE_VECTOR}
  1399.   DBTYPE_RESERVED = $00008000;
  1400.   {$EXTERNALSYM DBTYPE_RESERVED}
  1401.   DBTYPE_BYTES = $00000080;
  1402.   {$EXTERNALSYM DBTYPE_BYTES}
  1403.   DBTYPE_STR = $00000081;
  1404.   {$EXTERNALSYM DBTYPE_STR}
  1405.   DBTYPE_WSTR = $00000082;
  1406.   {$EXTERNALSYM DBTYPE_WSTR}
  1407.   DBTYPE_NUMERIC = $00000083;
  1408.   {$EXTERNALSYM DBTYPE_NUMERIC}
  1409.   DBTYPE_UDT = $00000084;
  1410.   {$EXTERNALSYM DBTYPE_UDT}
  1411.   DBTYPE_DBDATE = $00000085;
  1412.   {$EXTERNALSYM DBTYPE_DBDATE}
  1413.   DBTYPE_DBTIME = $00000086;
  1414.   {$EXTERNALSYM DBTYPE_DBTIME}
  1415.   DBTYPE_DBTIMESTAMP = $00000087;
  1416.   {$EXTERNALSYM DBTYPE_DBTIMESTAMP}
  1417.  
  1418. // DBTYPEENUM15 constants
  1419. type
  1420.   DBTYPEENUM15 = TOleEnum;
  1421.   {$EXTERNALSYM DBTYPEENUM15}
  1422. const
  1423.   DBTYPE_HCHAPTER = $00000088;
  1424.   {$EXTERNALSYM DBTYPE_HCHAPTER}
  1425.  
  1426. // DBTYPEENUM20 constants
  1427. type
  1428.   DBTYPEENUM20 = TOleEnum;
  1429.   {$EXTERNALSYM DBTYPEENUM20}
  1430. const
  1431.   DBTYPE_FILETIME = $00000040;
  1432.   {$EXTERNALSYM DBTYPE_FILETIME}
  1433.   DBTYPE_DBFILETIME = $00000089;
  1434.   {$EXTERNALSYM DBTYPE_DBFILETIME}
  1435.   DBTYPE_PROPVARIANT = $0000008A;
  1436.   {$EXTERNALSYM DBTYPE_PROPVARIANT}
  1437.   DBTYPE_VARNUMERIC = $0000008B;
  1438.   {$EXTERNALSYM DBTYPE_VARNUMERIC}
  1439.  
  1440. // DBPARTENUM constants
  1441. type
  1442.   DBPARTENUM = TOleEnum;
  1443.   {$EXTERNALSYM DBPARTENUM}
  1444. const
  1445.   DBPART_INVALID = $00000000;
  1446.   {$EXTERNALSYM DBPART_INVALID}
  1447.   DBPART_VALUE = $00000001;
  1448.   {$EXTERNALSYM DBPART_VALUE}
  1449.   DBPART_LENGTH = $00000002;
  1450.   {$EXTERNALSYM DBPART_LENGTH}
  1451.   DBPART_STATUS = $00000004;
  1452.   {$EXTERNALSYM DBPART_STATUS}
  1453.  
  1454. // DBPARAMIOENUM constants
  1455. type
  1456.   DBPARAMIOENUM = TOleEnum;
  1457.   {$EXTERNALSYM DBPARAMIOENUM}
  1458. const
  1459.   DBPARAMIO_NOTPARAM = $00000000;
  1460.   {$EXTERNALSYM DBPARAMIO_NOTPARAM}
  1461.   DBPARAMIO_INPUT = $00000001;
  1462.   {$EXTERNALSYM DBPARAMIO_INPUT}
  1463.   DBPARAMIO_OUTPUT = $00000002;
  1464.   {$EXTERNALSYM DBPARAMIO_OUTPUT}
  1465.  
  1466. // DBBINDFLAGENUM constants
  1467. type
  1468.   DBBINDFLAGENUM = TOleEnum;
  1469.   {$EXTERNALSYM DBBINDFLAGENUM}
  1470. const
  1471.   DBBINDFLAG_HTML = $00000001;
  1472.   {$EXTERNALSYM DBBINDFLAG_HTML}
  1473.  
  1474. // DBMEMOWNERENUM constants
  1475. type
  1476.   DBMEMOWNERENUM = TOleEnum;
  1477.   {$EXTERNALSYM DBMEMOWNERENUM}
  1478. const
  1479.   DBMEMOWNER_CLIENTOWNED = $00000000;
  1480.   {$EXTERNALSYM DBMEMOWNER_CLIENTOWNED}
  1481.   DBMEMOWNER_PROVIDEROWNED = $00000001;
  1482.   {$EXTERNALSYM DBMEMOWNER_PROVIDEROWNED}
  1483.  
  1484. // DBSTATUSENUM constants
  1485. type
  1486.   DBSTATUSENUM = TOleEnum;
  1487.   {$EXTERNALSYM DBSTATUSENUM}
  1488. const
  1489.   DBSTATUS_S_OK = $00000000;
  1490.   {$EXTERNALSYM DBSTATUS_S_OK}
  1491.   DBSTATUS_E_BADACCESSOR = $00000001;
  1492.   {$EXTERNALSYM DBSTATUS_E_BADACCESSOR}
  1493.   DBSTATUS_E_CANTCONVERTVALUE = $00000002;
  1494.   {$EXTERNALSYM DBSTATUS_E_CANTCONVERTVALUE}
  1495.   DBSTATUS_S_ISNULL = $00000003;
  1496.   {$EXTERNALSYM DBSTATUS_S_ISNULL}
  1497.   DBSTATUS_S_TRUNCATED = $00000004;
  1498.   {$EXTERNALSYM DBSTATUS_S_TRUNCATED}
  1499.   DBSTATUS_E_SIGNMISMATCH = $00000005;
  1500.   {$EXTERNALSYM DBSTATUS_E_SIGNMISMATCH}
  1501.   DBSTATUS_E_DATAOVERFLOW = $00000006;
  1502.   {$EXTERNALSYM DBSTATUS_E_DATAOVERFLOW}
  1503.   DBSTATUS_E_CANTCREATE = $00000007;
  1504.   {$EXTERNALSYM DBSTATUS_E_CANTCREATE}
  1505.   DBSTATUS_E_UNAVAILABLE = $00000008;
  1506.   {$EXTERNALSYM DBSTATUS_E_UNAVAILABLE}
  1507.   DBSTATUS_E_PERMISSIONDENIED = $00000009;
  1508.   {$EXTERNALSYM DBSTATUS_E_PERMISSIONDENIED}
  1509.   DBSTATUS_E_INTEGRITYVIOLATION = $0000000A;
  1510.   {$EXTERNALSYM DBSTATUS_E_INTEGRITYVIOLATION}
  1511.   DBSTATUS_E_SCHEMAVIOLATION = $0000000B;
  1512.   {$EXTERNALSYM DBSTATUS_E_SCHEMAVIOLATION}
  1513.   DBSTATUS_E_BADSTATUS = $0000000C;
  1514.   {$EXTERNALSYM DBSTATUS_E_BADSTATUS}
  1515.   DBSTATUS_S_DEFAULT = $0000000D;
  1516.   {$EXTERNALSYM DBSTATUS_S_DEFAULT}
  1517.  
  1518. // DBSTATUSENUM20 constants
  1519. type
  1520.   DBSTATUSENUM20 = TOleEnum;
  1521.   {$EXTERNALSYM DBSTATUSENUM20}
  1522. const
  1523.   MDSTATUS_S_CELLEMPTY = $0000000E;
  1524.   {$EXTERNALSYM MDSTATUS_S_CELLEMPTY}
  1525.   DBSTATUS_S_IGNORE = $0000000F;
  1526.   {$EXTERNALSYM DBSTATUS_S_IGNORE}
  1527.  
  1528. // DBROWSTATUSENUM constants
  1529. type
  1530.   DBROWSTATUSENUM = TOleEnum;
  1531.   {$EXTERNALSYM DBROWSTATUSENUM}
  1532. const
  1533.   DBROWSTATUS_S_OK = $00000000;
  1534.   {$EXTERNALSYM DBROWSTATUS_S_OK}
  1535.   DBROWSTATUS_S_MULTIPLECHANGES = $00000002;
  1536.   {$EXTERNALSYM DBROWSTATUS_S_MULTIPLECHANGES}
  1537.   DBROWSTATUS_S_PENDINGCHANGES = $00000003;
  1538.   {$EXTERNALSYM DBROWSTATUS_S_PENDINGCHANGES}
  1539.   DBROWSTATUS_E_CANCELED = $00000004;
  1540.   {$EXTERNALSYM DBROWSTATUS_E_CANCELED}
  1541.   DBROWSTATUS_E_CANTRELEASE = $00000006;
  1542.   {$EXTERNALSYM DBROWSTATUS_E_CANTRELEASE}
  1543.   DBROWSTATUS_E_CONCURRENCYVIOLATION = $00000007;
  1544.   {$EXTERNALSYM DBROWSTATUS_E_CONCURRENCYVIOLATION}
  1545.   DBROWSTATUS_E_DELETED = $00000008;
  1546.   {$EXTERNALSYM DBROWSTATUS_E_DELETED}
  1547.   DBROWSTATUS_E_PENDINGINSERT = $00000009;
  1548.   {$EXTERNALSYM DBROWSTATUS_E_PENDINGINSERT}
  1549.   DBROWSTATUS_E_NEWLYINSERTED = $0000000A;
  1550.   {$EXTERNALSYM DBROWSTATUS_E_NEWLYINSERTED}
  1551.   DBROWSTATUS_E_INTEGRITYVIOLATION = $0000000B;
  1552.   {$EXTERNALSYM DBROWSTATUS_E_INTEGRITYVIOLATION}
  1553.   DBROWSTATUS_E_INVALID = $0000000C;
  1554.   {$EXTERNALSYM DBROWSTATUS_E_INVALID}
  1555.   DBROWSTATUS_E_MAXPENDCHANGESEXCEEDED = $0000000D;
  1556.   {$EXTERNALSYM DBROWSTATUS_E_MAXPENDCHANGESEXCEEDED}
  1557.   DBROWSTATUS_E_OBJECTOPEN = $0000000E;
  1558.   {$EXTERNALSYM DBROWSTATUS_E_OBJECTOPEN}
  1559.   DBROWSTATUS_E_OUTOFMEMORY = $0000000F;
  1560.   {$EXTERNALSYM DBROWSTATUS_E_OUTOFMEMORY}
  1561.   DBROWSTATUS_E_PERMISSIONDENIED = $00000010;
  1562.   {$EXTERNALSYM DBROWSTATUS_E_PERMISSIONDENIED}
  1563.   DBROWSTATUS_E_LIMITREACHED = $00000011;
  1564.   {$EXTERNALSYM DBROWSTATUS_E_LIMITREACHED}
  1565.   DBROWSTATUS_E_SCHEMAVIOLATION = $00000012;
  1566.   {$EXTERNALSYM DBROWSTATUS_E_SCHEMAVIOLATION}
  1567.   DBROWSTATUS_E_FAIL = $00000013;
  1568.   {$EXTERNALSYM DBROWSTATUS_E_FAIL}
  1569.  
  1570. // DBROWSTATUSENUM20 constants
  1571. type
  1572.   DBROWSTATUSENUM20 = TOleEnum;
  1573.   {$EXTERNALSYM DBROWSTATUSENUM20}
  1574. const
  1575.   DBROWSTATUS_S_NOCHANGE = $00000014;
  1576.   {$EXTERNALSYM DBROWSTATUS_S_NOCHANGE}
  1577.  
  1578. // DBCOLUMNFLAGSENUM constants
  1579. type
  1580.   DBCOLUMNFLAGSENUM = TOleEnum;
  1581.   {$EXTERNALSYM DBCOLUMNFLAGSENUM}
  1582. const
  1583.   DBCOLUMNFLAGS_ISBOOKMARK = $00000001;
  1584.   {$EXTERNALSYM DBCOLUMNFLAGS_ISBOOKMARK}
  1585.   DBCOLUMNFLAGS_MAYDEFER = $00000002;
  1586.   {$EXTERNALSYM DBCOLUMNFLAGS_MAYDEFER}
  1587.   DBCOLUMNFLAGS_WRITE = $00000004;
  1588.   {$EXTERNALSYM DBCOLUMNFLAGS_WRITE}
  1589.   DBCOLUMNFLAGS_WRITEUNKNOWN = $00000008;
  1590.   {$EXTERNALSYM DBCOLUMNFLAGS_WRITEUNKNOWN}
  1591.   DBCOLUMNFLAGS_ISFIXEDLENGTH = $00000010;
  1592.   {$EXTERNALSYM DBCOLUMNFLAGS_ISFIXEDLENGTH}
  1593.   DBCOLUMNFLAGS_ISNULLABLE = $00000020;
  1594.   {$EXTERNALSYM DBCOLUMNFLAGS_ISNULLABLE}
  1595.   DBCOLUMNFLAGS_MAYBENULL = $00000040;
  1596.   {$EXTERNALSYM DBCOLUMNFLAGS_MAYBENULL}
  1597.   DBCOLUMNFLAGS_ISLONG = $00000080;
  1598.   {$EXTERNALSYM DBCOLUMNFLAGS_ISLONG}
  1599.   DBCOLUMNFLAGS_ISROWID = $00000100;
  1600.   {$EXTERNALSYM DBCOLUMNFLAGS_ISROWID}
  1601.   DBCOLUMNFLAGS_ISROWVER = $00000200;
  1602.   {$EXTERNALSYM DBCOLUMNFLAGS_ISROWVER}
  1603.   DBCOLUMNFLAGS_CACHEDEFERRED = $00001000;
  1604.   {$EXTERNALSYM DBCOLUMNFLAGS_CACHEDEFERRED}
  1605.  
  1606. // DBCOLUMNFLAGSENUM20 constants
  1607. type
  1608.   DBCOLUMNFLAGSENUM20 = TOleEnum;
  1609.   {$EXTERNALSYM DBCOLUMNFLAGSENUM20}
  1610. const
  1611.   DBCOLUMNFLAGS_SCALEISNEGATIVE = $00004000;
  1612.   {$EXTERNALSYM DBCOLUMNFLAGS_SCALEISNEGATIVE}
  1613.   DBCOLUMNFLAGS_KEYCOLUMN = $00008000;
  1614.   {$EXTERNALSYM DBCOLUMNFLAGS_KEYCOLUMN}
  1615.  
  1616. // DBCOLUMNFLAGS15ENUM constants
  1617. type
  1618.   DBCOLUMNFLAGS15ENUM = TOleEnum;
  1619.   {$EXTERNALSYM DBCOLUMNFLAGS15ENUM}
  1620. const
  1621.   DBCOLUMNFLAGS_ISCHAPTER = $00002000;
  1622.   {$EXTERNALSYM DBCOLUMNFLAGS_ISCHAPTER}
  1623.  
  1624. // DBBOOKMARK constants
  1625. type
  1626.   DBBOOKMARK = TOleEnum;
  1627.   {$EXTERNALSYM DBBOOKMARK}
  1628. const
  1629.   DBBMK_INVALID = $00000000;
  1630.   {$EXTERNALSYM DBBMK_INVALID}
  1631.   DBBMK_FIRST = $00000001;
  1632.   {$EXTERNALSYM DBBMK_FIRST}
  1633.   DBBMK_LAST = $00000002;
  1634.   {$EXTERNALSYM DBBMK_LAST}
  1635.  
  1636. // DBPROPENUM constants
  1637. type
  1638.   DBPROPENUM = TOleEnum;
  1639.   {$EXTERNALSYM DBPROPENUM}
  1640. const
  1641.   DBPROP_ABORTPRESERVE = $00000002;
  1642.   {$EXTERNALSYM DBPROP_ABORTPRESERVE}
  1643.   DBPROP_ACTIVESESSIONS = $00000003;
  1644.   {$EXTERNALSYM DBPROP_ACTIVESESSIONS}
  1645.   DBPROP_APPENDONLY = $000000BB;
  1646.   {$EXTERNALSYM DBPROP_APPENDONLY}
  1647.   DBPROP_ASYNCTXNABORT = $000000A8;
  1648.   {$EXTERNALSYM DBPROP_ASYNCTXNABORT}
  1649.   DBPROP_ASYNCTXNCOMMIT = $00000004;
  1650.   {$EXTERNALSYM DBPROP_ASYNCTXNCOMMIT}
  1651.   DBPROP_AUTH_CACHE_AUTHINFO = $00000005;
  1652.   {$EXTERNALSYM DBPROP_AUTH_CACHE_AUTHINFO}
  1653.   DBPROP_AUTH_ENCRYPT_PASSWORD = $00000006;
  1654.   {$EXTERNALSYM DBPROP_AUTH_ENCRYPT_PASSWORD}
  1655.   DBPROP_AUTH_INTEGRATED = $00000007;
  1656.   {$EXTERNALSYM DBPROP_AUTH_INTEGRATED}
  1657.   DBPROP_AUTH_MASK_PASSWORD = $00000008;
  1658.   {$EXTERNALSYM DBPROP_AUTH_MASK_PASSWORD}
  1659.   DBPROP_AUTH_PASSWORD = $00000009;
  1660.   {$EXTERNALSYM DBPROP_AUTH_PASSWORD}
  1661.   DBPROP_AUTH_PERSIST_ENCRYPTED = $0000000A;
  1662.   {$EXTERNALSYM DBPROP_AUTH_PERSIST_ENCRYPTED}
  1663.   DBPROP_AUTH_PERSIST_SENSITIVE_AUTHINFO = $0000000B;
  1664.   {$EXTERNALSYM DBPROP_AUTH_PERSIST_SENSITIVE_AUTHINFO}
  1665.   DBPROP_AUTH_USERID = $0000000C;
  1666.   {$EXTERNALSYM DBPROP_AUTH_USERID}
  1667.   DBPROP_BLOCKINGSTORAGEOBJECTS = $0000000D;
  1668.   {$EXTERNALSYM DBPROP_BLOCKINGSTORAGEOBJECTS}
  1669.   DBPROP_BOOKMARKS = $0000000E;
  1670.   {$EXTERNALSYM DBPROP_BOOKMARKS}
  1671.   DBPROP_BOOKMARKSKIPPED = $0000000F;
  1672.   {$EXTERNALSYM DBPROP_BOOKMARKSKIPPED}
  1673.   DBPROP_BOOKMARKTYPE = $00000010;
  1674.   {$EXTERNALSYM DBPROP_BOOKMARKTYPE}
  1675.   DBPROP_BYREFACCESSORS = $00000078;
  1676.   {$EXTERNALSYM DBPROP_BYREFACCESSORS}
  1677.   DBPROP_CACHEDEFERRED = $00000011;
  1678.   {$EXTERNALSYM DBPROP_CACHEDEFERRED}
  1679.   DBPROP_CANFETCHBACKWARDS = $00000012;
  1680.   {$EXTERNALSYM DBPROP_CANFETCHBACKWARDS}
  1681.   DBPROP_CANHOLDROWS = $00000013;
  1682.   {$EXTERNALSYM DBPROP_CANHOLDROWS}
  1683.   DBPROP_CANSCROLLBACKWARDS = $00000015;
  1684.   {$EXTERNALSYM DBPROP_CANSCROLLBACKWARDS}
  1685.   DBPROP_CATALOGLOCATION = $00000016;
  1686.   {$EXTERNALSYM DBPROP_CATALOGLOCATION}
  1687.   DBPROP_CATALOGTERM = $00000017;
  1688.   {$EXTERNALSYM DBPROP_CATALOGTERM}
  1689.   DBPROP_CATALOGUSAGE = $00000018;
  1690.   {$EXTERNALSYM DBPROP_CATALOGUSAGE}
  1691.   DBPROP_CHANGEINSERTEDROWS = $000000BC;
  1692.   {$EXTERNALSYM DBPROP_CHANGEINSERTEDROWS}
  1693.   DBPROP_COL_AUTOINCREMENT = $0000001A;
  1694.   {$EXTERNALSYM DBPROP_COL_AUTOINCREMENT}
  1695.   DBPROP_COL_DEFAULT = $0000001B;
  1696.   {$EXTERNALSYM DBPROP_COL_DEFAULT}
  1697.   DBPROP_COL_DESCRIPTION = $0000001C;
  1698.   {$EXTERNALSYM DBPROP_COL_DESCRIPTION}
  1699.   DBPROP_COL_FIXEDLENGTH = $000000A7;
  1700.   {$EXTERNALSYM DBPROP_COL_FIXEDLENGTH}
  1701.   DBPROP_COL_NULLABLE = $0000001D;
  1702.   {$EXTERNALSYM DBPROP_COL_NULLABLE}
  1703.   DBPROP_COL_PRIMARYKEY = $0000001E;
  1704.   {$EXTERNALSYM DBPROP_COL_PRIMARYKEY}
  1705.   DBPROP_COL_UNIQUE = $0000001F;
  1706.   {$EXTERNALSYM DBPROP_COL_UNIQUE}
  1707.   DBPROP_COLUMNDEFINITION = $00000020;
  1708.   {$EXTERNALSYM DBPROP_COLUMNDEFINITION}
  1709.   DBPROP_COLUMNRESTRICT = $00000021;
  1710.   {$EXTERNALSYM DBPROP_COLUMNRESTRICT}
  1711.   DBPROP_COMMANDTIMEOUT = $00000022;
  1712.   {$EXTERNALSYM DBPROP_COMMANDTIMEOUT}
  1713.   DBPROP_COMMITPRESERVE = $00000023;
  1714.   {$EXTERNALSYM DBPROP_COMMITPRESERVE}
  1715.   DBPROP_CONCATNULLBEHAVIOR = $00000024;
  1716.   {$EXTERNALSYM DBPROP_CONCATNULLBEHAVIOR}
  1717.   DBPROP_CURRENTCATALOG = $00000025;
  1718.   {$EXTERNALSYM DBPROP_CURRENTCATALOG}
  1719.   DBPROP_DATASOURCENAME = $00000026;
  1720.   {$EXTERNALSYM DBPROP_DATASOURCENAME}
  1721.   DBPROP_DATASOURCEREADONLY = $00000027;
  1722.   {$EXTERNALSYM DBPROP_DATASOURCEREADONLY}
  1723.   DBPROP_DBMSNAME = $00000028;
  1724.   {$EXTERNALSYM DBPROP_DBMSNAME}
  1725.   DBPROP_DBMSVER = $00000029;
  1726.   {$EXTERNALSYM DBPROP_DBMSVER}
  1727.   DBPROP_DEFERRED = $0000002A;
  1728.   {$EXTERNALSYM DBPROP_DEFERRED}
  1729.   DBPROP_DELAYSTORAGEOBJECTS = $0000002B;
  1730.   {$EXTERNALSYM DBPROP_DELAYSTORAGEOBJECTS}
  1731.   DBPROP_DSOTHREADMODEL = $000000A9;
  1732.   {$EXTERNALSYM DBPROP_DSOTHREADMODEL}
  1733.   DBPROP_GROUPBY = $0000002C;
  1734.   {$EXTERNALSYM DBPROP_GROUPBY}
  1735.   DBPROP_HETEROGENEOUSTABLES = $0000002D;
  1736.   {$EXTERNALSYM DBPROP_HETEROGENEOUSTABLES}
  1737.   DBPROP_IAccessor = $00000079;
  1738.   {$EXTERNALSYM DBPROP_IAccessor}
  1739.   DBPROP_IColumnsInfo = $0000007A;
  1740.   {$EXTERNALSYM DBPROP_IColumnsInfo}
  1741.   DBPROP_IColumnsRowset = $0000007B;
  1742.   {$EXTERNALSYM DBPROP_IColumnsRowset}
  1743.   DBPROP_IConnectionPointContainer = $0000007C;
  1744.   {$EXTERNALSYM DBPROP_IConnectionPointContainer}
  1745.   DBPROP_IConvertType = $000000C2;
  1746.   {$EXTERNALSYM DBPROP_IConvertType}
  1747.   DBPROP_IRowset = $0000007E;
  1748.   {$EXTERNALSYM DBPROP_IRowset}
  1749.   DBPROP_IRowsetChange = $0000007F;
  1750.   {$EXTERNALSYM DBPROP_IRowsetChange}
  1751.   DBPROP_IRowsetIdentity = $00000080;
  1752.   {$EXTERNALSYM DBPROP_IRowsetIdentity}
  1753.   DBPROP_IRowsetIndex = $0000009F;
  1754.   {$EXTERNALSYM DBPROP_IRowsetIndex}
  1755.   DBPROP_IRowsetInfo = $00000081;
  1756.   {$EXTERNALSYM DBPROP_IRowsetInfo}
  1757.   DBPROP_IRowsetLocate = $00000082;
  1758.   {$EXTERNALSYM DBPROP_IRowsetLocate}
  1759.   DBPROP_IRowsetResynch = $00000084;
  1760.   {$EXTERNALSYM DBPROP_IRowsetResynch}
  1761.   DBPROP_IRowsetScroll = $00000085;
  1762.   {$EXTERNALSYM DBPROP_IRowsetScroll}
  1763.   DBPROP_IRowsetUpdate = $00000086;
  1764.   {$EXTERNALSYM DBPROP_IRowsetUpdate}
  1765.   DBPROP_ISupportErrorInfo = $00000087;
  1766.   {$EXTERNALSYM DBPROP_ISupportErrorInfo}
  1767.   DBPROP_ILockBytes = $00000088;
  1768.   {$EXTERNALSYM DBPROP_ILockBytes}
  1769.   DBPROP_ISequentialStream = $00000089;
  1770.   {$EXTERNALSYM DBPROP_ISequentialStream}
  1771.   DBPROP_IStorage = $0000008A;
  1772.   {$EXTERNALSYM DBPROP_IStorage}
  1773.   DBPROP_IStream = $0000008B;
  1774.   {$EXTERNALSYM DBPROP_IStream}
  1775.   DBPROP_IDENTIFIERCASE = $0000002E;
  1776.   {$EXTERNALSYM DBPROP_IDENTIFIERCASE}
  1777.   DBPROP_IMMOBILEROWS = $0000002F;
  1778.   {$EXTERNALSYM DBPROP_IMMOBILEROWS}
  1779.   DBPROP_INDEX_AUTOUPDATE = $00000030;
  1780.   {$EXTERNALSYM DBPROP_INDEX_AUTOUPDATE}
  1781.   DBPROP_INDEX_CLUSTERED = $00000031;
  1782.   {$EXTERNALSYM DBPROP_INDEX_CLUSTERED}
  1783.   DBPROP_INDEX_FILLFACTOR = $00000032;
  1784.   {$EXTERNALSYM DBPROP_INDEX_FILLFACTOR}
  1785.   DBPROP_INDEX_INITIALSIZE = $00000033;
  1786.   {$EXTERNALSYM DBPROP_INDEX_INITIALSIZE}
  1787.   DBPROP_INDEX_NULLCOLLATION = $00000034;
  1788.   {$EXTERNALSYM DBPROP_INDEX_NULLCOLLATION}
  1789.   DBPROP_INDEX_NULLS = $00000035;
  1790.   {$EXTERNALSYM DBPROP_INDEX_NULLS}
  1791.   DBPROP_INDEX_PRIMARYKEY = $00000036;
  1792.   {$EXTERNALSYM DBPROP_INDEX_PRIMARYKEY}
  1793.   DBPROP_INDEX_SORTBOOKMARKS = $00000037;
  1794.   {$EXTERNALSYM DBPROP_INDEX_SORTBOOKMARKS}
  1795.   DBPROP_INDEX_TEMPINDEX = $000000A3;
  1796.   {$EXTERNALSYM DBPROP_INDEX_TEMPINDEX}
  1797.   DBPROP_INDEX_TYPE = $00000038;
  1798.   {$EXTERNALSYM DBPROP_INDEX_TYPE}
  1799.   DBPROP_INDEX_UNIQUE = $00000039;
  1800.   {$EXTERNALSYM DBPROP_INDEX_UNIQUE}
  1801.   DBPROP_INIT_DATASOURCE = $0000003B;
  1802.   {$EXTERNALSYM DBPROP_INIT_DATASOURCE}
  1803.   DBPROP_INIT_HWND = $0000003C;
  1804.   {$EXTERNALSYM DBPROP_INIT_HWND}
  1805.   DBPROP_INIT_IMPERSONATION_LEVEL = $0000003D;
  1806.   {$EXTERNALSYM DBPROP_INIT_IMPERSONATION_LEVEL}
  1807.   DBPROP_INIT_LCID = $000000BA;
  1808.   {$EXTERNALSYM DBPROP_INIT_LCID}
  1809.   DBPROP_INIT_LOCATION = $0000003E;
  1810.   {$EXTERNALSYM DBPROP_INIT_LOCATION}
  1811.   DBPROP_INIT_MODE = $0000003F;
  1812.   {$EXTERNALSYM DBPROP_INIT_MODE}
  1813.   DBPROP_INIT_PROMPT = $00000040;
  1814.   {$EXTERNALSYM DBPROP_INIT_PROMPT}
  1815.   DBPROP_INIT_PROTECTION_LEVEL = $00000041;
  1816.   {$EXTERNALSYM DBPROP_INIT_PROTECTION_LEVEL}
  1817.   DBPROP_INIT_PROVIDERSTRING = $000000A0;
  1818.   {$EXTERNALSYM DBPROP_INIT_PROVIDERSTRING}
  1819.   DBPROP_INIT_TIMEOUT = $00000042;
  1820.   {$EXTERNALSYM DBPROP_INIT_TIMEOUT}
  1821.   DBPROP_LITERALBOOKMARKS = $00000043;
  1822.   {$EXTERNALSYM DBPROP_LITERALBOOKMARKS}
  1823.   DBPROP_LITERALIDENTITY = $00000044;
  1824.   {$EXTERNALSYM DBPROP_LITERALIDENTITY}
  1825.   DBPROP_MARSHALLABLE = $000000C5;
  1826.   {$EXTERNALSYM DBPROP_MARSHALLABLE}
  1827.   DBPROP_MAXINDEXSIZE = $00000046;
  1828.   {$EXTERNALSYM DBPROP_MAXINDEXSIZE}
  1829.   DBPROP_MAXOPENROWS = $00000047;
  1830.   {$EXTERNALSYM DBPROP_MAXOPENROWS}
  1831.   DBPROP_MAXPENDINGROWS = $00000048;
  1832.   {$EXTERNALSYM DBPROP_MAXPENDINGROWS}
  1833.   DBPROP_MAXROWS = $00000049;
  1834.   {$EXTERNALSYM DBPROP_MAXROWS}
  1835.   DBPROP_MAXROWSIZE = $0000004A;
  1836.   {$EXTERNALSYM DBPROP_MAXROWSIZE}
  1837.   DBPROP_MAXROWSIZEINCLUDESBLOB = $0000004B;
  1838.   {$EXTERNALSYM DBPROP_MAXROWSIZEINCLUDESBLOB}
  1839.   DBPROP_MAXTABLESINSELECT = $0000004C;
  1840.   {$EXTERNALSYM DBPROP_MAXTABLESINSELECT}
  1841.   DBPROP_MAYWRITECOLUMN = $0000004D;
  1842.   {$EXTERNALSYM DBPROP_MAYWRITECOLUMN}
  1843.   DBPROP_MEMORYUSAGE = $0000004E;
  1844.   {$EXTERNALSYM DBPROP_MEMORYUSAGE}
  1845.   DBPROP_MULTIPLEPARAMSETS = $000000BF;
  1846.   {$EXTERNALSYM DBPROP_MULTIPLEPARAMSETS}
  1847.   DBPROP_MULTIPLERESULTS = $000000C4;
  1848.   {$EXTERNALSYM DBPROP_MULTIPLERESULTS}
  1849.   DBPROP_MULTIPLESTORAGEOBJECTS = $00000050;
  1850.   {$EXTERNALSYM DBPROP_MULTIPLESTORAGEOBJECTS}
  1851.   DBPROP_MULTITABLEUPDATE = $00000051;
  1852.   {$EXTERNALSYM DBPROP_MULTITABLEUPDATE}
  1853.   DBPROP_NOTIFICATIONGRANULARITY = $000000C6;
  1854.   {$EXTERNALSYM DBPROP_NOTIFICATIONGRANULARITY}
  1855.   DBPROP_NOTIFICATIONPHASES = $00000052;
  1856.   {$EXTERNALSYM DBPROP_NOTIFICATIONPHASES}
  1857.   DBPROP_NOTIFYCOLUMNSET = $000000AB;
  1858.   {$EXTERNALSYM DBPROP_NOTIFYCOLUMNSET}
  1859.   DBPROP_NOTIFYROWDELETE = $000000AD;
  1860.   {$EXTERNALSYM DBPROP_NOTIFYROWDELETE}
  1861.   DBPROP_NOTIFYROWFIRSTCHANGE = $000000AE;
  1862.   {$EXTERNALSYM DBPROP_NOTIFYROWFIRSTCHANGE}
  1863.   DBPROP_NOTIFYROWINSERT = $000000AF;
  1864.   {$EXTERNALSYM DBPROP_NOTIFYROWINSERT}
  1865.   DBPROP_NOTIFYROWRESYNCH = $000000B1;
  1866.   {$EXTERNALSYM DBPROP_NOTIFYROWRESYNCH}
  1867.   DBPROP_NOTIFYROWSETCHANGED = $000000D3;
  1868.   {$EXTERNALSYM DBPROP_NOTIFYROWSETCHANGED}
  1869.   DBPROP_NOTIFYROWSETRELEASE = $000000B2;
  1870.   {$EXTERNALSYM DBPROP_NOTIFYROWSETRELEASE}
  1871.   DBPROP_NOTIFYROWSETFETCHPOSITIONCHANGE = $000000B3;
  1872.   {$EXTERNALSYM DBPROP_NOTIFYROWSETFETCHPOSITIONCHANGE}
  1873.   DBPROP_NOTIFYROWUNDOCHANGE = $000000B4;
  1874.   {$EXTERNALSYM DBPROP_NOTIFYROWUNDOCHANGE}
  1875.   DBPROP_NOTIFYROWUNDODELETE = $000000B5;
  1876.   {$EXTERNALSYM DBPROP_NOTIFYROWUNDODELETE}
  1877.   DBPROP_NOTIFYROWUNDOINSERT = $000000B6;
  1878.   {$EXTERNALSYM DBPROP_NOTIFYROWUNDOINSERT}
  1879.   DBPROP_NOTIFYROWUPDATE = $000000B7;
  1880.   {$EXTERNALSYM DBPROP_NOTIFYROWUPDATE}
  1881.   DBPROP_NULLCOLLATION = $00000053;
  1882.   {$EXTERNALSYM DBPROP_NULLCOLLATION}
  1883.   DBPROP_OLEOBJECTS = $00000054;
  1884.   {$EXTERNALSYM DBPROP_OLEOBJECTS}
  1885.   DBPROP_ORDERBYCOLUMNSINSELECT = $00000055;
  1886.   {$EXTERNALSYM DBPROP_ORDERBYCOLUMNSINSELECT}
  1887.   DBPROP_ORDEREDBOOKMARKS = $00000056;
  1888.   {$EXTERNALSYM DBPROP_ORDEREDBOOKMARKS}
  1889.   DBPROP_OTHERINSERT = $00000057;
  1890.   {$EXTERNALSYM DBPROP_OTHERINSERT}
  1891.   DBPROP_OTHERUPDATEDELETE = $00000058;
  1892.   {$EXTERNALSYM DBPROP_OTHERUPDATEDELETE}
  1893.   DBPROP_OUTPUTPARAMETERAVAILABILITY = $000000B8;
  1894.   {$EXTERNALSYM DBPROP_OUTPUTPARAMETERAVAILABILITY}
  1895.   DBPROP_OWNINSERT = $00000059;
  1896.   {$EXTERNALSYM DBPROP_OWNINSERT}
  1897.   DBPROP_OWNUPDATEDELETE = $0000005A;
  1898.   {$EXTERNALSYM DBPROP_OWNUPDATEDELETE}
  1899.   DBPROP_PERSISTENTIDTYPE = $000000B9;
  1900.   {$EXTERNALSYM DBPROP_PERSISTENTIDTYPE}
  1901.   DBPROP_PREPAREABORTBEHAVIOR = $0000005B;
  1902.   {$EXTERNALSYM DBPROP_PREPAREABORTBEHAVIOR}
  1903.   DBPROP_PREPARECOMMITBEHAVIOR = $0000005C;
  1904.   {$EXTERNALSYM DBPROP_PREPARECOMMITBEHAVIOR}
  1905.   DBPROP_PROCEDURETERM = $0000005D;
  1906.   {$EXTERNALSYM DBPROP_PROCEDURETERM}
  1907.   DBPROP_PROVIDERNAME = $00000060;
  1908.   {$EXTERNALSYM DBPROP_PROVIDERNAME}
  1909.   DBPROP_PROVIDERFILENAME = DBPROP_PROVIDERNAME;
  1910.   {$EXTERNALSYM DBPROP_PROVIDERFILENAME}
  1911.   DBPROP_PROVIDEROLEDBVER = $00000061;
  1912.   {$EXTERNALSYM DBPROP_PROVIDEROLEDBVER}
  1913.   DBPROP_PROVIDERVER = $00000062;
  1914.   {$EXTERNALSYM DBPROP_PROVIDERVER}
  1915.   DBPROP_QUICKRESTART = $00000063;
  1916.   {$EXTERNALSYM DBPROP_QUICKRESTART}
  1917.   DBPROP_QUOTEDIDENTIFIERCASE = $00000064;
  1918.   {$EXTERNALSYM DBPROP_QUOTEDIDENTIFIERCASE}
  1919.   DBPROP_REENTRANTEVENTS = $00000065;
  1920.   {$EXTERNALSYM DBPROP_REENTRANTEVENTS}
  1921.   DBPROP_REMOVEDELETED = $00000066;
  1922.   {$EXTERNALSYM DBPROP_REMOVEDELETED}
  1923.   DBPROP_REPORTMULTIPLECHANGES = $00000067;
  1924.   {$EXTERNALSYM DBPROP_REPORTMULTIPLECHANGES}
  1925.   DBPROP_RETURNPENDINGINSERTS = $000000BD;
  1926.   {$EXTERNALSYM DBPROP_RETURNPENDINGINSERTS}
  1927.   DBPROP_ROWRESTRICT = $00000068;
  1928.   {$EXTERNALSYM DBPROP_ROWRESTRICT}
  1929.   DBPROP_ROWSETCONVERSIONSONCOMMAND = $000000C0;
  1930.   {$EXTERNALSYM DBPROP_ROWSETCONVERSIONSONCOMMAND}
  1931.   DBPROP_ROWTHREADMODEL = $00000069;
  1932.   {$EXTERNALSYM DBPROP_ROWTHREADMODEL}
  1933.   DBPROP_SCHEMATERM = $0000006A;
  1934.   {$EXTERNALSYM DBPROP_SCHEMATERM}
  1935.   DBPROP_SCHEMAUSAGE = $0000006B;
  1936.   {$EXTERNALSYM DBPROP_SCHEMAUSAGE}
  1937.   DBPROP_SERVERCURSOR = $0000006C;
  1938.   {$EXTERNALSYM DBPROP_SERVERCURSOR}
  1939.   DBPROP_SESS_AUTOCOMMITISOLEVELS = $000000BE;
  1940.   {$EXTERNALSYM DBPROP_SESS_AUTOCOMMITISOLEVELS}
  1941.   DBPROP_SQLSUPPORT = $0000006D;
  1942.   {$EXTERNALSYM DBPROP_SQLSUPPORT}
  1943.   DBPROP_STRONGIDENTITY = $00000077;
  1944.   {$EXTERNALSYM DBPROP_STRONGIDENTITY}
  1945.   DBPROP_STRUCTUREDSTORAGE = $0000006F;
  1946.   {$EXTERNALSYM DBPROP_STRUCTUREDSTORAGE}
  1947.   DBPROP_SUBQUERIES = $00000070;
  1948.   {$EXTERNALSYM DBPROP_SUBQUERIES}
  1949.   DBPROP_SUPPORTEDTXNDDL = $000000A1;
  1950.   {$EXTERNALSYM DBPROP_SUPPORTEDTXNDDL}
  1951.   DBPROP_SUPPORTEDTXNISOLEVELS = $00000071;
  1952.   {$EXTERNALSYM DBPROP_SUPPORTEDTXNISOLEVELS}
  1953.   DBPROP_SUPPORTEDTXNISORETAIN = $00000072;
  1954.   {$EXTERNALSYM DBPROP_SUPPORTEDTXNISORETAIN}
  1955.   DBPROP_TABLETERM = $00000073;
  1956.   {$EXTERNALSYM DBPROP_TABLETERM}
  1957.   DBPROP_TBL_TEMPTABLE = $0000008C;
  1958.   {$EXTERNALSYM DBPROP_TBL_TEMPTABLE}
  1959.   DBPROP_TRANSACTEDOBJECT = $00000074;
  1960.   {$EXTERNALSYM DBPROP_TRANSACTEDOBJECT}
  1961.   DBPROP_UPDATABILITY = $00000075;
  1962.   {$EXTERNALSYM DBPROP_UPDATABILITY}
  1963.   DBPROP_USERNAME = $00000076;
  1964.   {$EXTERNALSYM DBPROP_USERNAME}
  1965.  
  1966. // DBPROPENUM15 constants
  1967. type
  1968.   DBPROPENUM15 = TOleEnum;
  1969.   {$EXTERNALSYM DBPROPENUM15}
  1970. const
  1971.   DBPROP_FILTEROPS = $000000D0;
  1972.   {$EXTERNALSYM DBPROP_FILTEROPS}
  1973.   DBPROP_FILTERCOMPAREOPS = $000000D1;
  1974.   {$EXTERNALSYM DBPROP_FILTERCOMPAREOPS}
  1975.   DBPROP_FINDCOMPAREOPS = $000000D2;
  1976.   {$EXTERNALSYM DBPROP_FINDCOMPAREOPS}
  1977.   DBPROP_IChapteredRowset = $000000CA;
  1978.   {$EXTERNALSYM DBPROP_IChapteredRowset}
  1979.   DBPROP_IDBAsynchStatus = $000000CB;
  1980.   {$EXTERNALSYM DBPROP_IDBAsynchStatus}
  1981.   DBPROP_IRowsetFind = $000000CC;
  1982.   {$EXTERNALSYM DBPROP_IRowsetFind}
  1983.   DBPROP_IRowsetView = $000000D4;
  1984.   {$EXTERNALSYM DBPROP_IRowsetView}
  1985.   DBPROP_IViewChapter = $000000D5;
  1986.   {$EXTERNALSYM DBPROP_IViewChapter}
  1987.   DBPROP_IViewFilter = $000000D6;
  1988.   {$EXTERNALSYM DBPROP_IViewFilter}
  1989.   DBPROP_IViewRowset = $000000D7;
  1990.   {$EXTERNALSYM DBPROP_IViewRowset}
  1991.   DBPROP_IViewSort = $000000D8;
  1992.   {$EXTERNALSYM DBPROP_IViewSort}
  1993.   DBPROP_INIT_ASYNCH = $000000C8;
  1994.   {$EXTERNALSYM DBPROP_INIT_ASYNCH}
  1995.   DBPROP_MAXOPENCHAPTERS = $000000C7;
  1996.   {$EXTERNALSYM DBPROP_MAXOPENCHAPTERS}
  1997.   DBPROP_MAXORSINFILTER = $000000CD;
  1998.   {$EXTERNALSYM DBPROP_MAXORSINFILTER}
  1999.   DBPROP_MAXSORTCOLUMNS = $000000CE;
  2000.   {$EXTERNALSYM DBPROP_MAXSORTCOLUMNS}
  2001.   DBPROP_ROWSET_ASYNCH = $000000C9;
  2002.   {$EXTERNALSYM DBPROP_ROWSET_ASYNCH}
  2003.   DBPROP_SORTONINDEX = $000000CF;
  2004.   {$EXTERNALSYM DBPROP_SORTONINDEX}
  2005.  
  2006. // DBPROPENUM20 constants
  2007. type
  2008.   DBPROPENUM20 = TOleEnum;
  2009.   {$EXTERNALSYM DBPROPENUM20}
  2010. const
  2011.   DBPROP_IMultipleResults = $000000D9;
  2012.   {$EXTERNALSYM DBPROP_IMultipleResults}
  2013.   DBPROP_DATASOURCE_TYPE = $000000FB;
  2014.   {$EXTERNALSYM DBPROP_DATASOURCE_TYPE}
  2015.   MDPROP_AXES = $000000FC;
  2016.   {$EXTERNALSYM MDPROP_AXES}
  2017.   MDPROP_FLATTENING_SUPPORT = $000000FD;
  2018.   {$EXTERNALSYM MDPROP_FLATTENING_SUPPORT}
  2019.   MDPROP_MDX_JOINCUBES = $000000FE;
  2020.   {$EXTERNALSYM MDPROP_MDX_JOINCUBES}
  2021.   MDPROP_NAMED_LEVELS = $000000FF;
  2022.   {$EXTERNALSYM MDPROP_NAMED_LEVELS}
  2023.   MDPROP_RANGEROWSET = $00000100;
  2024.   {$EXTERNALSYM MDPROP_RANGEROWSET}
  2025.   MDPROP_MDX_SLICER = $000000DA;
  2026.   {$EXTERNALSYM MDPROP_MDX_SLICER}
  2027.   MDPROP_MDX_CUBEQUALIFICATION = $000000DB;
  2028.   {$EXTERNALSYM MDPROP_MDX_CUBEQUALIFICATION}
  2029.   MDPROP_MDX_OUTERREFERENCE = $000000DC;
  2030.   {$EXTERNALSYM MDPROP_MDX_OUTERREFERENCE}
  2031.   MDPROP_MDX_QUERYBYPROPERTY = $000000DD;
  2032.   {$EXTERNALSYM MDPROP_MDX_QUERYBYPROPERTY}
  2033.   MDPROP_MDX_CASESUPPORT = $000000DE;
  2034.   {$EXTERNALSYM MDPROP_MDX_CASESUPPORT}
  2035.   MDPROP_MDX_STRING_COMPOP = $000000E0;
  2036.   {$EXTERNALSYM MDPROP_MDX_STRING_COMPOP}
  2037.   MDPROP_MDX_DESCFLAGS = $000000E1;
  2038.   {$EXTERNALSYM MDPROP_MDX_DESCFLAGS}
  2039.   MDPROP_MDX_SET_FUNCTIONS = $000000E2;
  2040.   {$EXTERNALSYM MDPROP_MDX_SET_FUNCTIONS}
  2041.   MDPROP_MDX_MEMBER_FUNCTIONS = $000000E3;
  2042.   {$EXTERNALSYM MDPROP_MDX_MEMBER_FUNCTIONS}
  2043.   MDPROP_MDX_NUMERIC_FUNCTIONS = $000000E4;
  2044.   {$EXTERNALSYM MDPROP_MDX_NUMERIC_FUNCTIONS}
  2045.   MDPROP_MDX_FORMULAS = $000000E5;
  2046.   {$EXTERNALSYM MDPROP_MDX_FORMULAS}
  2047.   MDPROP_MDX_AGGREGATECELL_UPDATE = $000000E6;
  2048.   {$EXTERNALSYM MDPROP_MDX_AGGREGATECELL_UPDATE}
  2049.   DBPROP_ACCESSORDER = $000000E7;
  2050.   {$EXTERNALSYM DBPROP_ACCESSORDER}
  2051.   DBPROP_BOOKMARKINFO = $000000E8;
  2052.   {$EXTERNALSYM DBPROP_BOOKMARKINFO}
  2053.   DBPROP_INIT_CATALOG = $000000E9;
  2054.   {$EXTERNALSYM DBPROP_INIT_CATALOG}
  2055.   DBPROP_ROW_BULKOPS = $000000EA;
  2056.   {$EXTERNALSYM DBPROP_ROW_BULKOPS}
  2057.   DBPROP_PROVIDERFRIENDLYNAME = $000000EB;
  2058.   {$EXTERNALSYM DBPROP_PROVIDERFRIENDLYNAME}
  2059.   DBPROP_LOCKMODE = $000000EC;
  2060.   {$EXTERNALSYM DBPROP_LOCKMODE}
  2061.   DBPROP_MULTIPLECONNECTIONS = $000000ED;
  2062.   {$EXTERNALSYM DBPROP_MULTIPLECONNECTIONS}
  2063.   DBPROP_UNIQUEROWS = $000000EE;
  2064.   {$EXTERNALSYM DBPROP_UNIQUEROWS}
  2065.   DBPROP_SERVERDATAONINSERT = $000000EF;
  2066.   {$EXTERNALSYM DBPROP_SERVERDATAONINSERT}
  2067.   DBPROP_STORAGEFLAGS = $000000F0;
  2068.   {$EXTERNALSYM DBPROP_STORAGEFLAGS}
  2069.   DBPROP_CONNECTIONSTATUS = $000000F4;
  2070.   {$EXTERNALSYM DBPROP_CONNECTIONSTATUS}
  2071.   DBPROP_ALTERCOLUMN = $000000F5;
  2072.   {$EXTERNALSYM DBPROP_ALTERCOLUMN}
  2073.   DBPROP_COLUMNLCID = $000000F6;
  2074.   {$EXTERNALSYM DBPROP_COLUMNLCID}
  2075.   DBPROP_RESETDATASOURCE = $000000F7;
  2076.   {$EXTERNALSYM DBPROP_RESETDATASOURCE}
  2077.   DBPROP_INIT_OLEDBSERVICES = $000000F8;
  2078.   {$EXTERNALSYM DBPROP_INIT_OLEDBSERVICES}
  2079.   DBPROP_IRowsetRefresh = $000000F9;
  2080.   {$EXTERNALSYM DBPROP_IRowsetRefresh}
  2081.   DBPROP_SERVERNAME = $000000FA;
  2082.   {$EXTERNALSYM DBPROP_SERVERNAME}
  2083.   DBPROP_IParentRowset = $00000101;
  2084.   {$EXTERNALSYM DBPROP_IParentRowset}
  2085.   DBPROP_HIDDENCOLUMNS = $00000102;
  2086.   {$EXTERNALSYM DBPROP_HIDDENCOLUMNS}
  2087.   DBPROP_PROVIDERMEMORY = $00000103;
  2088.   {$EXTERNALSYM DBPROP_PROVIDERMEMORY}
  2089.   DBPROP_CLIENTCURSOR = $00000104;
  2090.   {$EXTERNALSYM DBPROP_CLIENTCURSOR}
  2091.  
  2092. // DBPROPENUM21 constants
  2093. type
  2094.   DBPROPENUM21 = TOleEnum;
  2095.   {$EXTERNALSYM DBPROPENUM21}
  2096. const
  2097.   DBPROP_TRUSTEE_USERNAME = $000000F1;
  2098.   {$EXTERNALSYM DBPROP_TRUSTEE_USERNAME}
  2099.   DBPROP_TRUSTEE_AUTHENTICATION = $000000F2;
  2100.   {$EXTERNALSYM DBPROP_TRUSTEE_AUTHENTICATION}
  2101.   DBPROP_TRUSTEE_NEWAUTHENTICATION = $000000F3;
  2102.   {$EXTERNALSYM DBPROP_TRUSTEE_NEWAUTHENTICATION}
  2103.  
  2104. // DBPROPENUM25 constants
  2105. type
  2106.   DBPROPENUM25 = TOleEnum;
  2107.   {$EXTERNALSYM DBPROPENUM25}
  2108. const
  2109.   DBPROP_ICommandCost = $0000008D;
  2110.   {$EXTERNALSYM DBPROP_ICommandCost}
  2111.   DBPROP_ICommandTree = $0000008E;
  2112.   {$EXTERNALSYM DBPROP_ICommandTree}
  2113.   DBPROP_ICommandValidate = $0000008F;
  2114.   {$EXTERNALSYM DBPROP_ICommandValidate}
  2115.   DBPROP_IDBSchemaCommand = $00000090;
  2116.   {$EXTERNALSYM DBPROP_IDBSchemaCommand}
  2117.   DBPROP_IProvideMoniker = $0000007D;
  2118.   {$EXTERNALSYM DBPROP_IProvideMoniker}
  2119.   DBPROP_IQuery = $00000092;
  2120.   {$EXTERNALSYM DBPROP_IQuery}
  2121.   DBPROP_IReadData = $00000093;
  2122.   {$EXTERNALSYM DBPROP_IReadData}
  2123.   DBPROP_IRowsetAsynch = $00000094;
  2124.   {$EXTERNALSYM DBPROP_IRowsetAsynch}
  2125.   DBPROP_IRowsetKeys = $00000097;
  2126.   {$EXTERNALSYM DBPROP_IRowsetKeys}
  2127.   DBPROP_IRowsetNewRowAfter = $00000098;
  2128.   {$EXTERNALSYM DBPROP_IRowsetNewRowAfter}
  2129.   DBPROP_IRowsetNextRowset = $00000099;
  2130.   {$EXTERNALSYM DBPROP_IRowsetNextRowset}
  2131.   DBPROP_IRowsetWatchAll = $0000009B;
  2132.   {$EXTERNALSYM DBPROP_IRowsetWatchAll}
  2133.   DBPROP_IRowsetWatchNotify = $0000009C;
  2134.   {$EXTERNALSYM DBPROP_IRowsetWatchNotify}
  2135.   DBPROP_IRowsetWatchRegion = $0000009D;
  2136.   {$EXTERNALSYM DBPROP_IRowsetWatchRegion}
  2137.   DBPROP_IRowsetWithParameters = $0000009E;
  2138.   {$EXTERNALSYM DBPROP_IRowsetWithParameters}
  2139.  
  2140. // DBPROPENUMDEPRECATED constants
  2141. type
  2142.   DBPROPENUMDEPRECATED = TOleEnum;
  2143.   {$EXTERNALSYM DBPROPENUMDEPRECATED}
  2144. const
  2145.   DBPROP_IRowsetExactScroll = $0000009A;
  2146.   {$EXTERNALSYM DBPROP_IRowsetExactScroll}
  2147.  
  2148. // DBCOMMANDOPENUM constants
  2149. type
  2150.   DBCOMMANDOPENUM = TOleEnum;
  2151.   {$EXTERNALSYM DBCOMMANDOPENUM}
  2152. const
  2153.   DBOP_scalar_constant = $00000000;
  2154.   {$EXTERNALSYM DBOP_scalar_constant}
  2155.   DBOP_DEFAULT = $00000001;
  2156.   {$EXTERNALSYM DBOP_DEFAULT}
  2157.   DBOP_NULL = $00000002;
  2158.   {$EXTERNALSYM DBOP_NULL}
  2159.   DBOP_bookmark_name = $00000003;
  2160.   {$EXTERNALSYM DBOP_bookmark_name}
  2161.   DBOP_catalog_name = $00000004;
  2162.   {$EXTERNALSYM DBOP_catalog_name}
  2163.   DBOP_column_name = $00000005;
  2164.   {$EXTERNALSYM DBOP_column_name}
  2165.   DBOP_schema_name = $00000006;
  2166.   {$EXTERNALSYM DBOP_schema_name}
  2167.   DBOP_outall_name = $00000007;
  2168.   {$EXTERNALSYM DBOP_outall_name}
  2169.   DBOP_qualifier_name = $00000008;
  2170.   {$EXTERNALSYM DBOP_qualifier_name}
  2171.   DBOP_qualified_column_name = $00000009;
  2172.   {$EXTERNALSYM DBOP_qualified_column_name}
  2173.   DBOP_table_name = $0000000A;
  2174.   {$EXTERNALSYM DBOP_table_name}
  2175.   DBOP_nested_table_name = $0000000B;
  2176.   {$EXTERNALSYM DBOP_nested_table_name}
  2177.   DBOP_nested_column_name = $0000000C;
  2178.   {$EXTERNALSYM DBOP_nested_column_name}
  2179.   DBOP_row = $0000000D;
  2180.   {$EXTERNALSYM DBOP_row}
  2181.   DBOP_table = $0000000E;
  2182.   {$EXTERNALSYM DBOP_table}
  2183.   DBOP_sort = $0000000F;
  2184.   {$EXTERNALSYM DBOP_sort}
  2185.   DBOP_distinct = $00000010;
  2186.   {$EXTERNALSYM DBOP_distinct}
  2187.   DBOP_distinct_order_preserving = $00000011;
  2188.   {$EXTERNALSYM DBOP_distinct_order_preserving}
  2189.   DBOP_alias = $00000012;
  2190.   {$EXTERNALSYM DBOP_alias}
  2191.   DBOP_cross_join = $00000013;
  2192.   {$EXTERNALSYM DBOP_cross_join}
  2193.   DBOP_union_join = $00000014;
  2194.   {$EXTERNALSYM DBOP_union_join}
  2195.   DBOP_inner_join = $00000015;
  2196.   {$EXTERNALSYM DBOP_inner_join}
  2197.   DBOP_left_semi_join = $00000016;
  2198.   {$EXTERNALSYM DBOP_left_semi_join}
  2199.   DBOP_right_semi_join = $00000017;
  2200.   {$EXTERNALSYM DBOP_right_semi_join}
  2201.   DBOP_left_anti_semi_join = $00000018;
  2202.   {$EXTERNALSYM DBOP_left_anti_semi_join}
  2203.   DBOP_right_anti_semi_join = $00000019;
  2204.   {$EXTERNALSYM DBOP_right_anti_semi_join}
  2205.   DBOP_left_outer_join = $0000001A;
  2206.   {$EXTERNALSYM DBOP_left_outer_join}
  2207.   DBOP_right_outer_join = $0000001B;
  2208.   {$EXTERNALSYM DBOP_right_outer_join}
  2209.   DBOP_full_outer_join = $0000001C;
  2210.   {$EXTERNALSYM DBOP_full_outer_join}
  2211.   DBOP_natural_join = $0000001D;
  2212.   {$EXTERNALSYM DBOP_natural_join}
  2213.   DBOP_natural_left_outer_join = $0000001E;
  2214.   {$EXTERNALSYM DBOP_natural_left_outer_join}
  2215.   DBOP_natural_right_outer_join = $0000001F;
  2216.   {$EXTERNALSYM DBOP_natural_right_outer_join}
  2217.   DBOP_natural_full_outer_join = $00000020;
  2218.   {$EXTERNALSYM DBOP_natural_full_outer_join}
  2219.   DBOP_set_intersection = $00000021;
  2220.   {$EXTERNALSYM DBOP_set_intersection}
  2221.   DBOP_set_union = $00000022;
  2222.   {$EXTERNALSYM DBOP_set_union}
  2223.   DBOP_set_left_difference = $00000023;
  2224.   {$EXTERNALSYM DBOP_set_left_difference}
  2225.   DBOP_set_right_difference = $00000024;
  2226.   {$EXTERNALSYM DBOP_set_right_difference}
  2227.   DBOP_set_anti_difference = $00000025;
  2228.   {$EXTERNALSYM DBOP_set_anti_difference}
  2229.   DBOP_bag_intersection = $00000026;
  2230.   {$EXTERNALSYM DBOP_bag_intersection}
  2231.   DBOP_bag_union = $00000027;
  2232.   {$EXTERNALSYM DBOP_bag_union}
  2233.   DBOP_bag_left_difference = $00000028;
  2234.   {$EXTERNALSYM DBOP_bag_left_difference}
  2235.   DBOP_bag_right_difference = $00000029;
  2236.   {$EXTERNALSYM DBOP_bag_right_difference}
  2237.   DBOP_bag_anti_difference = $0000002A;
  2238.   {$EXTERNALSYM DBOP_bag_anti_difference}
  2239.   DBOP_division = $0000002B;
  2240.   {$EXTERNALSYM DBOP_division}
  2241.   DBOP_relative_sampling = $0000002C;
  2242.   {$EXTERNALSYM DBOP_relative_sampling}
  2243.   DBOP_absolute_sampling = $0000002D;
  2244.   {$EXTERNALSYM DBOP_absolute_sampling}
  2245.   DBOP_transitive_closure = $0000002E;
  2246.   {$EXTERNALSYM DBOP_transitive_closure}
  2247.   DBOP_recursive_union = $0000002F;
  2248.   {$EXTERNALSYM DBOP_recursive_union}
  2249.   DBOP_aggregate = $00000030;
  2250.   {$EXTERNALSYM DBOP_aggregate}
  2251.   DBOP_remote_table = $00000031;
  2252.   {$EXTERNALSYM DBOP_remote_table}
  2253.   DBOP_select = $00000032;
  2254.   {$EXTERNALSYM DBOP_select}
  2255.   DBOP_order_preserving_select = $00000033;
  2256.   {$EXTERNALSYM DBOP_order_preserving_select}
  2257.   DBOP_project = $00000034;
  2258.   {$EXTERNALSYM DBOP_project}
  2259.   DBOP_project_order_preserving = $00000035;
  2260.   {$EXTERNALSYM DBOP_project_order_preserving}
  2261.   DBOP_top = $00000036;
  2262.   {$EXTERNALSYM DBOP_top}
  2263.   DBOP_top_percent = $00000037;
  2264.   {$EXTERNALSYM DBOP_top_percent}
  2265.   DBOP_top_plus_ties = $00000038;
  2266.   {$EXTERNALSYM DBOP_top_plus_ties}
  2267.   DBOP_top_percent_plus_ties = $00000039;
  2268.   {$EXTERNALSYM DBOP_top_percent_plus_ties}
  2269.   DBOP_rank = $0000003A;
  2270.   {$EXTERNALSYM DBOP_rank}
  2271.   DBOP_rank_ties_equally = $0000003B;
  2272.   {$EXTERNALSYM DBOP_rank_ties_equally}
  2273.   DBOP_rank_ties_equally_and_skip = $0000003C;
  2274.   {$EXTERNALSYM DBOP_rank_ties_equally_and_skip}
  2275.   DBOP_navigate = $0000003D;
  2276.   {$EXTERNALSYM DBOP_navigate}
  2277.   DBOP_nesting = $0000003E;
  2278.   {$EXTERNALSYM DBOP_nesting}
  2279.   DBOP_unnesting = $0000003F;
  2280.   {$EXTERNALSYM DBOP_unnesting}
  2281.   DBOP_nested_apply = $00000040;
  2282.   {$EXTERNALSYM DBOP_nested_apply}
  2283.   DBOP_cross_tab = $00000041;
  2284.   {$EXTERNALSYM DBOP_cross_tab}
  2285.   DBOP_is_NULL = $00000042;
  2286.   {$EXTERNALSYM DBOP_is_NULL}
  2287.   DBOP_is_NOT_NULL = $00000043;
  2288.   {$EXTERNALSYM DBOP_is_NOT_NULL}
  2289.   DBOP_equal = $00000044;
  2290.   {$EXTERNALSYM DBOP_equal}
  2291.   DBOP_not_equal = $00000045;
  2292.   {$EXTERNALSYM DBOP_not_equal}
  2293.   DBOP_less = $00000046;
  2294.   {$EXTERNALSYM DBOP_less}
  2295.   DBOP_less_equal = $00000047;
  2296.   {$EXTERNALSYM DBOP_less_equal}
  2297.   DBOP_greater = $00000048;
  2298.   {$EXTERNALSYM DBOP_greater}
  2299.   DBOP_greater_equal = $00000049;
  2300.   {$EXTERNALSYM DBOP_greater_equal}
  2301.   DBOP_equal_all = $0000004A;
  2302.   {$EXTERNALSYM DBOP_equal_all}
  2303.   DBOP_not_equal_all = $0000004B;
  2304.   {$EXTERNALSYM DBOP_not_equal_all}
  2305.   DBOP_less_all = $0000004C;
  2306.   {$EXTERNALSYM DBOP_less_all}
  2307.   DBOP_less_equal_all = $0000004D;
  2308.   {$EXTERNALSYM DBOP_less_equal_all}
  2309.   DBOP_greater_all = $0000004E;
  2310.   {$EXTERNALSYM DBOP_greater_all}
  2311.   DBOP_greater_equal_all = $0000004F;
  2312.   {$EXTERNALSYM DBOP_greater_equal_all}
  2313.   DBOP_equal_any = $00000050;
  2314.   {$EXTERNALSYM DBOP_equal_any}
  2315.   DBOP_not_equal_any = $00000051;
  2316.   {$EXTERNALSYM DBOP_not_equal_any}
  2317.   DBOP_less_any = $00000052;
  2318.   {$EXTERNALSYM DBOP_less_any}
  2319.   DBOP_less_equal_any = $00000053;
  2320.   {$EXTERNALSYM DBOP_less_equal_any}
  2321.   DBOP_greater_any = $00000054;
  2322.   {$EXTERNALSYM DBOP_greater_any}
  2323.   DBOP_greater_equal_any = $00000055;
  2324.   {$EXTERNALSYM DBOP_greater_equal_any}
  2325.   DBOP_anybits = $00000056;
  2326.   {$EXTERNALSYM DBOP_anybits}
  2327.   DBOP_allbits = $00000057;
  2328.   {$EXTERNALSYM DBOP_allbits}
  2329.   DBOP_anybits_any = $00000058;
  2330.   {$EXTERNALSYM DBOP_anybits_any}
  2331.   DBOP_allbits_any = $00000059;
  2332.   {$EXTERNALSYM DBOP_allbits_any}
  2333.   DBOP_anybits_all = $0000005A;
  2334.   {$EXTERNALSYM DBOP_anybits_all}
  2335.   DBOP_allbits_all = $0000005B;
  2336.   {$EXTERNALSYM DBOP_allbits_all}
  2337.   DBOP_between = $0000005C;
  2338.   {$EXTERNALSYM DBOP_between}
  2339.   DBOP_between_unordered = $0000005D;
  2340.   {$EXTERNALSYM DBOP_between_unordered}
  2341.   DBOP_match = $0000005E;
  2342.   {$EXTERNALSYM DBOP_match}
  2343.   DBOP_match_unique = $0000005F;
  2344.   {$EXTERNALSYM DBOP_match_unique}
  2345.   DBOP_match_partial = $00000060;
  2346.   {$EXTERNALSYM DBOP_match_partial}
  2347.   DBOP_match_partial_unique = $00000061;
  2348.   {$EXTERNALSYM DBOP_match_partial_unique}
  2349.   DBOP_match_full = $00000062;
  2350.   {$EXTERNALSYM DBOP_match_full}
  2351.   DBOP_match_full_unique = $00000063;
  2352.   {$EXTERNALSYM DBOP_match_full_unique}
  2353.   DBOP_scalar_parameter = $00000064;
  2354.   {$EXTERNALSYM DBOP_scalar_parameter}
  2355.   DBOP_scalar_function = $00000065;
  2356.   {$EXTERNALSYM DBOP_scalar_function}
  2357.   DBOP_plus = $00000066;
  2358.   {$EXTERNALSYM DBOP_plus}
  2359.   DBOP_minus = $00000067;
  2360.   {$EXTERNALSYM DBOP_minus}
  2361.   DBOP_times = $00000068;
  2362.   {$EXTERNALSYM DBOP_times}
  2363.   DBOP_over = $00000069;
  2364.   {$EXTERNALSYM DBOP_over}
  2365.   DBOP_div = $0000006A;
  2366.   {$EXTERNALSYM DBOP_div}
  2367.   DBOP_modulo = $0000006B;
  2368.   {$EXTERNALSYM DBOP_modulo}
  2369.   DBOP_power = $0000006C;
  2370.   {$EXTERNALSYM DBOP_power}
  2371.   DBOP_like = $0000006D;
  2372.   {$EXTERNALSYM DBOP_like}
  2373.   DBOP_sounds_like = $0000006E;
  2374.   {$EXTERNALSYM DBOP_sounds_like}
  2375.   DBOP_like_any = $0000006F;
  2376.   {$EXTERNALSYM DBOP_like_any}
  2377.   DBOP_like_all = $00000070;
  2378.   {$EXTERNALSYM DBOP_like_all}
  2379.   DBOP_is_INVALID = $00000071;
  2380.   {$EXTERNALSYM DBOP_is_INVALID}
  2381.   DBOP_is_TRUE = $00000072;
  2382.   {$EXTERNALSYM DBOP_is_TRUE}
  2383.   DBOP_is_FALSE = $00000073;
  2384.   {$EXTERNALSYM DBOP_is_FALSE}
  2385.   DBOP_and = $00000074;
  2386.   {$EXTERNALSYM DBOP_and}
  2387.   DBOP_or = $00000075;
  2388.   {$EXTERNALSYM DBOP_or}
  2389.   DBOP_xor = $00000076;
  2390.   {$EXTERNALSYM DBOP_xor}
  2391.   DBOP_equivalent = $00000077;
  2392.   {$EXTERNALSYM DBOP_equivalent}
  2393.   DBOP_not = $00000078;
  2394.   {$EXTERNALSYM DBOP_not}
  2395.   DBOP_implies = $00000079;
  2396.   {$EXTERNALSYM DBOP_implies}
  2397.   DBOP_overlaps = $0000007A;
  2398.   {$EXTERNALSYM DBOP_overlaps}
  2399.   DBOP_case_condition = $0000007B;
  2400.   {$EXTERNALSYM DBOP_case_condition}
  2401.   DBOP_case_value = $0000007C;
  2402.   {$EXTERNALSYM DBOP_case_value}
  2403.   DBOP_nullif = $0000007D;
  2404.   {$EXTERNALSYM DBOP_nullif}
  2405.   DBOP_cast = $0000007E;
  2406.   {$EXTERNALSYM DBOP_cast}
  2407.   DBOP_coalesce = $0000007F;
  2408.   {$EXTERNALSYM DBOP_coalesce}
  2409.   DBOP_position = $00000080;
  2410.   {$EXTERNALSYM DBOP_position}
  2411.   DBOP_extract = $00000081;
  2412.   {$EXTERNALSYM DBOP_extract}
  2413.   DBOP_char_length = $00000082;
  2414.   {$EXTERNALSYM DBOP_char_length}
  2415.   DBOP_octet_length = $00000083;
  2416.   {$EXTERNALSYM DBOP_octet_length}
  2417.   DBOP_bit_length = $00000084;
  2418.   {$EXTERNALSYM DBOP_bit_length}
  2419.   DBOP_substring = $00000085;
  2420.   {$EXTERNALSYM DBOP_substring}
  2421.   DBOP_upper = $00000086;
  2422.   {$EXTERNALSYM DBOP_upper}
  2423.   DBOP_lower = $00000087;
  2424.   {$EXTERNALSYM DBOP_lower}
  2425.   DBOP_trim = $00000088;
  2426.   {$EXTERNALSYM DBOP_trim}
  2427.   DBOP_translate = $00000089;
  2428.   {$EXTERNALSYM DBOP_translate}
  2429.   DBOP_convert = $0000008A;
  2430.   {$EXTERNALSYM DBOP_convert}
  2431.   DBOP_string_concat = $0000008B;
  2432.   {$EXTERNALSYM DBOP_string_concat}
  2433.   DBOP_current_date = $0000008C;
  2434.   {$EXTERNALSYM DBOP_current_date}
  2435.   DBOP_current_time = $0000008D;
  2436.   {$EXTERNALSYM DBOP_current_time}
  2437.   DBOP_current_timestamp = $0000008E;
  2438.   {$EXTERNALSYM DBOP_current_timestamp}
  2439.   DBOP_content_select = $0000008F;
  2440.   {$EXTERNALSYM DBOP_content_select}
  2441.   DBOP_content = $00000090;
  2442.   {$EXTERNALSYM DBOP_content}
  2443.   DBOP_content_freetext = $00000091;
  2444.   {$EXTERNALSYM DBOP_content_freetext}
  2445.   DBOP_content_proximity = $00000092;
  2446.   {$EXTERNALSYM DBOP_content_proximity}
  2447.   DBOP_content_vector_or = $00000093;
  2448.   {$EXTERNALSYM DBOP_content_vector_or}
  2449.   DBOP_delete = $00000094;
  2450.   {$EXTERNALSYM DBOP_delete}
  2451.   DBOP_update = $00000095;
  2452.   {$EXTERNALSYM DBOP_update}
  2453.   DBOP_insert = $00000096;
  2454.   {$EXTERNALSYM DBOP_insert}
  2455.   DBOP_min = $00000097;
  2456.   {$EXTERNALSYM DBOP_min}
  2457.   DBOP_max = $00000098;
  2458.   {$EXTERNALSYM DBOP_max}
  2459.   DBOP_count = $00000099;
  2460.   {$EXTERNALSYM DBOP_count}
  2461.   DBOP_sum = $0000009A;
  2462.   {$EXTERNALSYM DBOP_sum}
  2463.   DBOP_avg = $0000009B;
  2464.   {$EXTERNALSYM DBOP_avg}
  2465.   DBOP_any_sample = $0000009C;
  2466.   {$EXTERNALSYM DBOP_any_sample}
  2467.   DBOP_stddev = $0000009D;
  2468.   {$EXTERNALSYM DBOP_stddev}
  2469.   DBOP_stddev_pop = $0000009E;
  2470.   {$EXTERNALSYM DBOP_stddev_pop}
  2471.   DBOP_var = $0000009F;
  2472.   {$EXTERNALSYM DBOP_var}
  2473.   DBOP_var_pop = $000000A0;
  2474.   {$EXTERNALSYM DBOP_var_pop}
  2475.   DBOP_first = $000000A1;
  2476.   {$EXTERNALSYM DBOP_first}
  2477.   DBOP_last = $000000A2;
  2478.   {$EXTERNALSYM DBOP_last}
  2479.   DBOP_in = $000000A3;
  2480.   {$EXTERNALSYM DBOP_in}
  2481.   DBOP_exists = $000000A4;
  2482.   {$EXTERNALSYM DBOP_exists}
  2483.   DBOP_unique = $000000A5;
  2484.   {$EXTERNALSYM DBOP_unique}
  2485.   DBOP_subset = $000000A6;
  2486.   {$EXTERNALSYM DBOP_subset}
  2487.   DBOP_proper_subset = $000000A7;
  2488.   {$EXTERNALSYM DBOP_proper_subset}
  2489.   DBOP_superset = $000000A8;
  2490.   {$EXTERNALSYM DBOP_superset}
  2491.   DBOP_proper_superset = $000000A9;
  2492.   {$EXTERNALSYM DBOP_proper_superset}
  2493.   DBOP_disjoint = $000000AA;
  2494.   {$EXTERNALSYM DBOP_disjoint}
  2495.   DBOP_pass_through = $000000AB;
  2496.   {$EXTERNALSYM DBOP_pass_through}
  2497.   DBOP_defined_by_GUID = $000000AC;
  2498.   {$EXTERNALSYM DBOP_defined_by_GUID}
  2499.   DBOP_text_command = $000000AD;
  2500.   {$EXTERNALSYM DBOP_text_command}
  2501.   DBOP_SQL_select = $000000AE;
  2502.   {$EXTERNALSYM DBOP_SQL_select}
  2503.   DBOP_prior_command_tree = $000000AF;
  2504.   {$EXTERNALSYM DBOP_prior_command_tree}
  2505.   DBOP_add_columns = $000000B0;
  2506.   {$EXTERNALSYM DBOP_add_columns}
  2507.   DBOP_column_list_anchor = $000000B1;
  2508.   {$EXTERNALSYM DBOP_column_list_anchor}
  2509.   DBOP_column_list_element = $000000B2;
  2510.   {$EXTERNALSYM DBOP_column_list_element}
  2511.   DBOP_command_list_anchor = $000000B3;
  2512.   {$EXTERNALSYM DBOP_command_list_anchor}
  2513.   DBOP_command_list_element = $000000B4;
  2514.   {$EXTERNALSYM DBOP_command_list_element}
  2515.   DBOP_from_list_anchor = $000000B5;
  2516.   {$EXTERNALSYM DBOP_from_list_anchor}
  2517.   DBOP_from_list_element = $000000B6;
  2518.   {$EXTERNALSYM DBOP_from_list_element}
  2519.   DBOP_project_list_anchor = $000000B7;
  2520.   {$EXTERNALSYM DBOP_project_list_anchor}
  2521.   DBOP_project_list_element = $000000B8;
  2522.   {$EXTERNALSYM DBOP_project_list_element}
  2523.   DBOP_row_list_anchor = $000000B9;
  2524.   {$EXTERNALSYM DBOP_row_list_anchor}
  2525.   DBOP_row_list_element = $000000BA;
  2526.   {$EXTERNALSYM DBOP_row_list_element}
  2527.   DBOP_scalar_list_anchor = $000000BB;
  2528.   {$EXTERNALSYM DBOP_scalar_list_anchor}
  2529.   DBOP_scalar_list_element = $000000BC;
  2530.   {$EXTERNALSYM DBOP_scalar_list_element}
  2531.   DBOP_set_list_anchor = $000000BD;
  2532.   {$EXTERNALSYM DBOP_set_list_anchor}
  2533.   DBOP_set_list_element = $000000BE;
  2534.   {$EXTERNALSYM DBOP_set_list_element}
  2535.   DBOP_sort_list_anchor = $000000BF;
  2536.   {$EXTERNALSYM DBOP_sort_list_anchor}
  2537.   DBOP_sort_list_element = $000000C0;
  2538.   {$EXTERNALSYM DBOP_sort_list_element}
  2539.   DBOP_alter_character_set = $000000C1;
  2540.   {$EXTERNALSYM DBOP_alter_character_set}
  2541.   DBOP_alter_collation = $000000C2;
  2542.   {$EXTERNALSYM DBOP_alter_collation}
  2543.   DBOP_alter_domain = $000000C3;
  2544.   {$EXTERNALSYM DBOP_alter_domain}
  2545.   DBOP_alter_index = $000000C4;
  2546.   {$EXTERNALSYM DBOP_alter_index}
  2547.   DBOP_alter_procedure = $000000C5;
  2548.   {$EXTERNALSYM DBOP_alter_procedure}
  2549.   DBOP_alter_schema = $000000C6;
  2550.   {$EXTERNALSYM DBOP_alter_schema}
  2551.   DBOP_alter_table = $000000C7;
  2552.   {$EXTERNALSYM DBOP_alter_table}
  2553.   DBOP_alter_trigger = $000000C8;
  2554.   {$EXTERNALSYM DBOP_alter_trigger}
  2555.   DBOP_alter_view = $000000C9;
  2556.   {$EXTERNALSYM DBOP_alter_view}
  2557.   DBOP_coldef_list_anchor = $000000CA;
  2558.   {$EXTERNALSYM DBOP_coldef_list_anchor}
  2559.   DBOP_coldef_list_element = $000000CB;
  2560.   {$EXTERNALSYM DBOP_coldef_list_element}
  2561.   DBOP_create_assertion = $000000CC;
  2562.   {$EXTERNALSYM DBOP_create_assertion}
  2563.   DBOP_create_character_set = $000000CD;
  2564.   {$EXTERNALSYM DBOP_create_character_set}
  2565.   DBOP_create_collation = $000000CE;
  2566.   {$EXTERNALSYM DBOP_create_collation}
  2567.   DBOP_create_domain = $000000CF;
  2568.   {$EXTERNALSYM DBOP_create_domain}
  2569.   DBOP_create_index = $000000D0;
  2570.   {$EXTERNALSYM DBOP_create_index}
  2571.   DBOP_create_procedure = $000000D1;
  2572.   {$EXTERNALSYM DBOP_create_procedure}
  2573.   DBOP_create_schema = $000000D2;
  2574.   {$EXTERNALSYM DBOP_create_schema}
  2575.   DBOP_create_synonym = $000000D3;
  2576.   {$EXTERNALSYM DBOP_create_synonym}
  2577.   DBOP_create_table = $000000D4;
  2578.   {$EXTERNALSYM DBOP_create_table}
  2579.   DBOP_create_temporary_table = $000000D5;
  2580.   {$EXTERNALSYM DBOP_create_temporary_table}
  2581.   DBOP_create_translation = $000000D6;
  2582.   {$EXTERNALSYM DBOP_create_translation}
  2583.   DBOP_create_trigger = $000000D7;
  2584.   {$EXTERNALSYM DBOP_create_trigger}
  2585.   DBOP_create_view = $000000D8;
  2586.   {$EXTERNALSYM DBOP_create_view}
  2587.   DBOP_drop_assertion = $000000D9;
  2588.   {$EXTERNALSYM DBOP_drop_assertion}
  2589.   DBOP_drop_character_set = $000000DA;
  2590.   {$EXTERNALSYM DBOP_drop_character_set}
  2591.   DBOP_drop_collation = $000000DB;
  2592.   {$EXTERNALSYM DBOP_drop_collation}
  2593.   DBOP_drop_domain = $000000DC;
  2594.   {$EXTERNALSYM DBOP_drop_domain}
  2595.   DBOP_drop_index = $000000DD;
  2596.   {$EXTERNALSYM DBOP_drop_index}
  2597.   DBOP_drop_procedure = $000000DE;
  2598.   {$EXTERNALSYM DBOP_drop_procedure}
  2599.   DBOP_drop_schema = $000000DF;
  2600.   {$EXTERNALSYM DBOP_drop_schema}
  2601.   DBOP_drop_synonym = $000000E0;
  2602.   {$EXTERNALSYM DBOP_drop_synonym}
  2603.   DBOP_drop_table = $000000E1;
  2604.   {$EXTERNALSYM DBOP_drop_table}
  2605.   DBOP_drop_translation = $000000E2;
  2606.   {$EXTERNALSYM DBOP_drop_translation}
  2607.   DBOP_drop_trigger = $000000E3;
  2608.   {$EXTERNALSYM DBOP_drop_trigger}
  2609.   DBOP_drop_view = $000000E4;
  2610.   {$EXTERNALSYM DBOP_drop_view}
  2611.   DBOP_foreign_key = $000000E5;
  2612.   {$EXTERNALSYM DBOP_foreign_key}
  2613.   DBOP_grant_privileges = $000000E6;
  2614.   {$EXTERNALSYM DBOP_grant_privileges}
  2615.   DBOP_index_list_anchor = $000000E7;
  2616.   {$EXTERNALSYM DBOP_index_list_anchor}
  2617.   DBOP_index_list_element = $000000E8;
  2618.   {$EXTERNALSYM DBOP_index_list_element}
  2619.   DBOP_primary_key = $000000E9;
  2620.   {$EXTERNALSYM DBOP_primary_key}
  2621.   DBOP_property_list_anchor = $000000EA;
  2622.   {$EXTERNALSYM DBOP_property_list_anchor}
  2623.   DBOP_property_list_element = $000000EB;
  2624.   {$EXTERNALSYM DBOP_property_list_element}
  2625.   DBOP_referenced_table = $000000EC;
  2626.   {$EXTERNALSYM DBOP_referenced_table}
  2627.   DBOP_rename_object = $000000ED;
  2628.   {$EXTERNALSYM DBOP_rename_object}
  2629.   DBOP_revoke_privileges = $000000EE;
  2630.   {$EXTERNALSYM DBOP_revoke_privileges}
  2631.   DBOP_schema_authorization = $000000EF;
  2632.   {$EXTERNALSYM DBOP_schema_authorization}
  2633.   DBOP_unique_key = $000000F0;
  2634.   {$EXTERNALSYM DBOP_unique_key}
  2635.  
  2636. // DBPARAMFLAGSENUM constants
  2637. type
  2638.   DBPARAMFLAGSENUM = TOleEnum;
  2639.   {$EXTERNALSYM DBPARAMFLAGSENUM}
  2640. const
  2641.   DBPARAMFLAGS_ISINPUT = $00000001;
  2642.   {$EXTERNALSYM DBPARAMFLAGS_ISINPUT}
  2643.   DBPARAMFLAGS_ISOUTPUT = $00000002;
  2644.   {$EXTERNALSYM DBPARAMFLAGS_ISOUTPUT}
  2645.   DBPARAMFLAGS_ISSIGNED = $00000010;
  2646.   {$EXTERNALSYM DBPARAMFLAGS_ISSIGNED}
  2647.   DBPARAMFLAGS_ISNULLABLE = $00000040;
  2648.   {$EXTERNALSYM DBPARAMFLAGS_ISNULLABLE}
  2649.   DBPARAMFLAGS_ISLONG = $00000080;
  2650.   {$EXTERNALSYM DBPARAMFLAGS_ISLONG}
  2651.  
  2652. // DBPARAMFLAGSENUM20 constants
  2653. type
  2654.   DBPARAMFLAGSENUM20 = TOleEnum;
  2655.   {$EXTERNALSYM DBPARAMFLAGSENUM20}
  2656. const
  2657.   DBPARAMFLAGS_SCALEISNEGATIVE = $00000100;
  2658.   {$EXTERNALSYM DBPARAMFLAGS_SCALEISNEGATIVE}
  2659.  
  2660. // DBPROPFLAGSENUM constants
  2661. type
  2662.   DBPROPFLAGSENUM = TOleEnum;
  2663.   {$EXTERNALSYM DBPROPFLAGSENUM}
  2664. const
  2665.   DBPROPFLAGS_NOTSUPPORTED = $00000000;
  2666.   {$EXTERNALSYM DBPROPFLAGS_NOTSUPPORTED}
  2667.   DBPROPFLAGS_COLUMN = $00000001;
  2668.   {$EXTERNALSYM DBPROPFLAGS_COLUMN}
  2669.   DBPROPFLAGS_DATASOURCE = $00000002;
  2670.   {$EXTERNALSYM DBPROPFLAGS_DATASOURCE}
  2671.   DBPROPFLAGS_DATASOURCECREATE = $00000004;
  2672.   {$EXTERNALSYM DBPROPFLAGS_DATASOURCECREATE}
  2673.   DBPROPFLAGS_DATASOURCEINFO = $00000008;
  2674.   {$EXTERNALSYM DBPROPFLAGS_DATASOURCEINFO}
  2675.   DBPROPFLAGS_DBINIT = $00000010;
  2676.   {$EXTERNALSYM DBPROPFLAGS_DBINIT}
  2677.   DBPROPFLAGS_INDEX = $00000020;
  2678.   {$EXTERNALSYM DBPROPFLAGS_INDEX}
  2679.   DBPROPFLAGS_ROWSET = $00000040;
  2680.   {$EXTERNALSYM DBPROPFLAGS_ROWSET}
  2681.   DBPROPFLAGS_TABLE = $00000080;
  2682.   {$EXTERNALSYM DBPROPFLAGS_TABLE}
  2683.   DBPROPFLAGS_COLUMNOK = $00000100;
  2684.   {$EXTERNALSYM DBPROPFLAGS_COLUMNOK}
  2685.   DBPROPFLAGS_READ = $00000200;
  2686.   {$EXTERNALSYM DBPROPFLAGS_READ}
  2687.   DBPROPFLAGS_WRITE = $00000400;
  2688.   {$EXTERNALSYM DBPROPFLAGS_WRITE}
  2689.   DBPROPFLAGS_REQUIRED = $00000800;
  2690.   {$EXTERNALSYM DBPROPFLAGS_REQUIRED}
  2691.   DBPROPFLAGS_SESSION = $00001000;
  2692.   {$EXTERNALSYM DBPROPFLAGS_SESSION}
  2693.  
  2694. // DBPROPFLAGSENUM21 constants
  2695. type
  2696.   DBPROPFLAGSENUM21 = TOleEnum;
  2697.   {$EXTERNALSYM DBPROPFLAGSENUM21}
  2698. const
  2699.   DBPROPFLAGS_TRUSTEE = $00002000;
  2700.   {$EXTERNALSYM DBPROPFLAGS_TRUSTEE}
  2701.  
  2702. // DBPROPOPTIONSENUM constants
  2703. type
  2704.   DBPROPOPTIONSENUM = TOleEnum;
  2705.   {$EXTERNALSYM DBPROPOPTIONSENUM}
  2706. const
  2707.   DBPROPOPTIONS_REQUIRED = $00000000;
  2708.   {$EXTERNALSYM DBPROPOPTIONS_REQUIRED}
  2709.   DBPROPOPTIONS_SETIFCHEAP = $00000001;
  2710.   {$EXTERNALSYM DBPROPOPTIONS_SETIFCHEAP}
  2711.   DBPROPOPTIONS_OPTIONAL = $00000001;
  2712.   {$EXTERNALSYM DBPROPOPTIONS_OPTIONAL}
  2713.  
  2714. // DBPROPSTATUSENUM constants
  2715. type
  2716.   DBPROPSTATUSENUM = TOleEnum;
  2717.   {$EXTERNALSYM DBPROPSTATUSENUM}
  2718. const
  2719.   DBPROPSTATUS_OK = $00000000;
  2720.   {$EXTERNALSYM DBPROPSTATUS_OK}
  2721.   DBPROPSTATUS_NOTSUPPORTED = $00000001;
  2722.   {$EXTERNALSYM DBPROPSTATUS_NOTSUPPORTED}
  2723.   DBPROPSTATUS_BADVALUE = $00000002;
  2724.   {$EXTERNALSYM DBPROPSTATUS_BADVALUE}
  2725.   DBPROPSTATUS_BADOPTION = $00000003;
  2726.   {$EXTERNALSYM DBPROPSTATUS_BADOPTION}
  2727.   DBPROPSTATUS_BADCOLUMN = $00000004;
  2728.   {$EXTERNALSYM DBPROPSTATUS_BADCOLUMN}
  2729.   DBPROPSTATUS_NOTALLSETTABLE = $00000005;
  2730.   {$EXTERNALSYM DBPROPSTATUS_NOTALLSETTABLE}
  2731.   DBPROPSTATUS_NOTSETTABLE = $00000006;
  2732.   {$EXTERNALSYM DBPROPSTATUS_NOTSETTABLE}
  2733.   DBPROPSTATUS_NOTSET = $00000007;
  2734.   {$EXTERNALSYM DBPROPSTATUS_NOTSET}
  2735.   DBPROPSTATUS_CONFLICTING = $00000008;
  2736.   {$EXTERNALSYM DBPROPSTATUS_CONFLICTING}
  2737.  
  2738. // DBPROPSTATUSENUM21 constants
  2739. type
  2740.   DBPROPSTATUSENUM21 = TOleEnum;
  2741.   {$EXTERNALSYM DBPROPSTATUSENUM21}
  2742. const
  2743.   DBPROPSTATUS_NOTAVAILAVLE = $00000009;
  2744.   {$EXTERNALSYM DBPROPSTATUS_NOTAVAILAVLE}
  2745.  
  2746. // DBINDEX_COL_ORDERENUM constants
  2747. type
  2748.   DBINDEX_COL_ORDERENUM = TOleEnum;
  2749.   {$EXTERNALSYM DBINDEX_COL_ORDERENUM}
  2750. const
  2751.   DBINDEX_COL_ORDER_ASC = $00000000;
  2752.   {$EXTERNALSYM DBINDEX_COL_ORDER_ASC}
  2753.   DBINDEX_COL_ORDER_DESC = $00000001;
  2754.   {$EXTERNALSYM DBINDEX_COL_ORDER_DESC}
  2755.  
  2756. // DBCOLUMNDESCFLAGSENUM constants
  2757. type
  2758.   DBCOLUMNDESCFLAGSENUM = TOleEnum;
  2759.   {$EXTERNALSYM DBCOLUMNDESCFLAGSENUM}
  2760. const
  2761.   DBCOLUMNDESCFLAGS_TYPENAME = $00000001;
  2762.   {$EXTERNALSYM DBCOLUMNDESCFLAGS_TYPENAME}
  2763.   DBCOLUMNDESCFLAGS_ITYPEINFO = $00000002;
  2764.   {$EXTERNALSYM DBCOLUMNDESCFLAGS_ITYPEINFO}
  2765.   DBCOLUMNDESCFLAGS_PROPERTIES = $00000004;
  2766.   {$EXTERNALSYM DBCOLUMNDESCFLAGS_PROPERTIES}
  2767.   DBCOLUMNDESCFLAGS_CLSID = $00000008;
  2768.   {$EXTERNALSYM DBCOLUMNDESCFLAGS_CLSID}
  2769.   DBCOLUMNDESCFLAGS_COLSIZE = $00000010;
  2770.   {$EXTERNALSYM DBCOLUMNDESCFLAGS_COLSIZE}
  2771.   DBCOLUMNDESCFLAGS_DBCID = $00000020;
  2772.   {$EXTERNALSYM DBCOLUMNDESCFLAGS_DBCID}
  2773.   DBCOLUMNDESCFLAGS_WTYPE = $00000040;
  2774.   {$EXTERNALSYM DBCOLUMNDESCFLAGS_WTYPE}
  2775.   DBCOLUMNDESCFLAGS_PRECISION = $00000080;
  2776.   {$EXTERNALSYM DBCOLUMNDESCFLAGS_PRECISION}
  2777.   DBCOLUMNDESCFLAGS_SCALE = $00000100;
  2778.   {$EXTERNALSYM DBCOLUMNDESCFLAGS_SCALE}
  2779.  
  2780. // DBEVENTPHASEENUM constants
  2781. type
  2782.   DBEVENTPHASEENUM = TOleEnum;
  2783.   {$EXTERNALSYM DBEVENTPHASEENUM}
  2784. const
  2785.   DBEVENTPHASE_OKTODO = $00000000;
  2786.   {$EXTERNALSYM DBEVENTPHASE_OKTODO}
  2787.   DBEVENTPHASE_ABOUTTODO = $00000001;
  2788.   {$EXTERNALSYM DBEVENTPHASE_ABOUTTODO}
  2789.   DBEVENTPHASE_SYNCHAFTER = $00000002;
  2790.   {$EXTERNALSYM DBEVENTPHASE_SYNCHAFTER}
  2791.   DBEVENTPHASE_FAILEDTODO = $00000003;
  2792.   {$EXTERNALSYM DBEVENTPHASE_FAILEDTODO}
  2793.   DBEVENTPHASE_DIDEVENT = $00000004;
  2794.   {$EXTERNALSYM DBEVENTPHASE_DIDEVENT}
  2795.  
  2796. // DBREASONENUM constants
  2797. type
  2798.   DBREASONENUM = TOleEnum;
  2799.   {$EXTERNALSYM DBREASONENUM}
  2800. const
  2801.   DBREASON_ROWSET_FETCHPOSITIONCHANGE = $00000000;
  2802.   {$EXTERNALSYM DBREASON_ROWSET_FETCHPOSITIONCHANGE}
  2803.   DBREASON_ROWSET_RELEASE = $00000001;
  2804.   {$EXTERNALSYM DBREASON_ROWSET_RELEASE}
  2805.   DBREASON_COLUMN_SET = $00000002;
  2806.   {$EXTERNALSYM DBREASON_COLUMN_SET}
  2807.   DBREASON_COLUMN_RECALCULATED = $00000003;
  2808.   {$EXTERNALSYM DBREASON_COLUMN_RECALCULATED}
  2809.   DBREASON_ROW_ACTIVATE = $00000004;
  2810.   {$EXTERNALSYM DBREASON_ROW_ACTIVATE}
  2811.   DBREASON_ROW_RELEASE = $00000005;
  2812.   {$EXTERNALSYM DBREASON_ROW_RELEASE}
  2813.   DBREASON_ROW_DELETE = $00000006;
  2814.   {$EXTERNALSYM DBREASON_ROW_DELETE}
  2815.   DBREASON_ROW_FIRSTCHANGE = $00000007;
  2816.   {$EXTERNALSYM DBREASON_ROW_FIRSTCHANGE}
  2817.   DBREASON_ROW_INSERT = $00000008;
  2818.   {$EXTERNALSYM DBREASON_ROW_INSERT}
  2819.   DBREASON_ROW_RESYNCH = $00000009;
  2820.   {$EXTERNALSYM DBREASON_ROW_RESYNCH}
  2821.   DBREASON_ROW_UNDOCHANGE = $0000000A;
  2822.   {$EXTERNALSYM DBREASON_ROW_UNDOCHANGE}
  2823.   DBREASON_ROW_UNDOINSERT = $0000000B;
  2824.   {$EXTERNALSYM DBREASON_ROW_UNDOINSERT}
  2825.   DBREASON_ROW_UNDODELETE = $0000000C;
  2826.   {$EXTERNALSYM DBREASON_ROW_UNDODELETE}
  2827.   DBREASON_ROW_UPDATE = $0000000D;
  2828.   {$EXTERNALSYM DBREASON_ROW_UPDATE}
  2829.   DBREASON_ROWSET_CHANGED = $0000000E;
  2830.   {$EXTERNALSYM DBREASON_ROWSET_CHANGED}
  2831.  
  2832. // DBREASONENUM15 constants
  2833. type
  2834.   DBREASONENUM15 = TOleEnum;
  2835.   {$EXTERNALSYM DBREASONENUM15}
  2836. const
  2837.   DBREASON_ROWPOSITION_CHANGED = $0000000F;
  2838.   {$EXTERNALSYM DBREASON_ROWPOSITION_CHANGED}
  2839.   DBREASON_ROWPOSITION_CHAPTERCHANGED = $00000010;
  2840.   {$EXTERNALSYM DBREASON_ROWPOSITION_CHAPTERCHANGED}
  2841.   DBREASON_ROWPOSITION_CLEARED = $00000011;
  2842.   {$EXTERNALSYM DBREASON_ROWPOSITION_CLEARED}
  2843.   DBREASON_ROW_ASYNCHINSERT = $00000012;
  2844.   {$EXTERNALSYM DBREASON_ROW_ASYNCHINSERT}
  2845.  
  2846. // DBREASONENUM25 constants
  2847. type
  2848.   DBREASONENUM25 = TOleEnum;
  2849.   {$EXTERNALSYM DBREASONENUM25}
  2850. const
  2851.   DBREASON_ROWSET_ROWSADDED = $00000013;
  2852.   {$EXTERNALSYM DBREASON_ROWSET_ROWSADDED}
  2853.   DBREASON_ROWSET_POPULATIONCOMPLETE = $00000014;
  2854.   {$EXTERNALSYM DBREASON_ROWSET_POPULATIONCOMPLETE}
  2855.   DBREASON_ROWSET_POPULATIONSTOPPED = $00000015;
  2856.   {$EXTERNALSYM DBREASON_ROWSET_POPULATIONSTOPPED}
  2857.  
  2858. // DBCOMPAREOPSENUM constants
  2859. type
  2860.   DBCOMPAREOPSENUM = TOleEnum;
  2861.   {$EXTERNALSYM DBCOMPAREOPSENUM}
  2862. const
  2863.   DBCOMPAREOPS_LT = $00000000;
  2864.   {$EXTERNALSYM DBCOMPAREOPS_LT}
  2865.   DBCOMPAREOPS_LE = $00000001;
  2866.   {$EXTERNALSYM DBCOMPAREOPS_LE}
  2867.   DBCOMPAREOPS_EQ = $00000002;
  2868.   {$EXTERNALSYM DBCOMPAREOPS_EQ}
  2869.   DBCOMPAREOPS_GE = $00000003;
  2870.   {$EXTERNALSYM DBCOMPAREOPS_GE}
  2871.   DBCOMPAREOPS_GT = $00000004;
  2872.   {$EXTERNALSYM DBCOMPAREOPS_GT}
  2873.   DBCOMPAREOPS_BEGINSWITH = $00000005;
  2874.   {$EXTERNALSYM DBCOMPAREOPS_BEGINSWITH}
  2875.   DBCOMPAREOPS_CONTAINS = $00000006;
  2876.   {$EXTERNALSYM DBCOMPAREOPS_CONTAINS}
  2877.   DBCOMPAREOPS_NE = $00000007;
  2878.   {$EXTERNALSYM DBCOMPAREOPS_NE}
  2879.   DBCOMPAREOPS_IGNORE = $00000008;
  2880.   {$EXTERNALSYM DBCOMPAREOPS_IGNORE}
  2881.   DBCOMPAREOPS_CASESENSITIVE = $00001000;
  2882.   {$EXTERNALSYM DBCOMPAREOPS_CASESENSITIVE}
  2883.   DBCOMPAREOPS_CASEINSENSITIVE = $00002000;
  2884.   {$EXTERNALSYM DBCOMPAREOPS_CASEINSENSITIVE}
  2885.  
  2886. // DBCOMPAREOPSENUM20 constants
  2887. type
  2888.   DBCOMPAREOPSENUM20 = TOleEnum;
  2889.   {$EXTERNALSYM DBCOMPAREOPSENUM20}
  2890. const
  2891.   DBCOMPAREOPS_NOTBEGINSWITH = $00000009;
  2892.   {$EXTERNALSYM DBCOMPAREOPS_NOTBEGINSWITH}
  2893.   DBCOMPAREOPS_NOTCONTAINS = $0000000A;
  2894.   {$EXTERNALSYM DBCOMPAREOPS_NOTCONTAINS}
  2895.  
  2896. // DBASYNCHOPENUM constants
  2897. type
  2898.   DBASYNCHOPENUM = TOleEnum;
  2899.   {$EXTERNALSYM DBASYNCHOPENUM}
  2900. const
  2901.   DBASYNCHOP_OPEN = $00000000;
  2902.   {$EXTERNALSYM DBASYNCHOP_OPEN}
  2903.  
  2904. // DBASYNCHPHASEENUM constants
  2905. type
  2906.   DBASYNCHPHASEENUM = TOleEnum;
  2907.   {$EXTERNALSYM DBASYNCHPHASEENUM}
  2908. const
  2909.   DBASYNCHPHASE_INITIALIZATION = $00000000;
  2910.   {$EXTERNALSYM DBASYNCHPHASE_INITIALIZATION}
  2911.   DBASYNCHPHASE_POPULATION = $00000001;
  2912.   {$EXTERNALSYM DBASYNCHPHASE_POPULATION}
  2913.   DBASYNCHPHASE_COMPLETE = $00000002;
  2914.   {$EXTERNALSYM DBASYNCHPHASE_COMPLETE}
  2915.   DBASYNCHPHASE_CANCELED = $00000003;
  2916.   {$EXTERNALSYM DBASYNCHPHASE_CANCELED}
  2917.  
  2918. // DBSORTENUM constants
  2919. type
  2920.   DBSORTENUM = TOleEnum;
  2921.   {$EXTERNALSYM DBSORTENUM}
  2922. const
  2923.   DBSORT_ASCENDING = $00000000;
  2924.   {$EXTERNALSYM DBSORT_ASCENDING}
  2925.   DBSORT_DESCENDING = $00000001;
  2926.   {$EXTERNALSYM DBSORT_DESCENDING}
  2927.  
  2928. // DBACCESSORFLAGSENUM constants
  2929. type
  2930.   DBACCESSORFLAGSENUM = TOleEnum;
  2931.   {$EXTERNALSYM DBACCESSORFLAGSENUM}
  2932. const
  2933.   DBACCESSOR_INVALID = $00000000;
  2934.   {$EXTERNALSYM DBACCESSOR_INVALID}
  2935.   DBACCESSOR_PASSBYREF = $00000001;
  2936.   {$EXTERNALSYM DBACCESSOR_PASSBYREF}
  2937.   DBACCESSOR_ROWDATA = $00000002;
  2938.   {$EXTERNALSYM DBACCESSOR_ROWDATA}
  2939.   DBACCESSOR_PARAMETERDATA = $00000004;
  2940.   {$EXTERNALSYM DBACCESSOR_PARAMETERDATA}
  2941.   DBACCESSOR_OPTIMIZED = $00000008;
  2942.   {$EXTERNALSYM DBACCESSOR_OPTIMIZED}
  2943.  
  2944. // DBACCESSORFLAGSENUM25 constants
  2945. type
  2946.   DBACCESSORFLAGSENUM25 = TOleEnum;
  2947.   {$EXTERNALSYM DBACCESSORFLAGSENUM25}
  2948. const
  2949.   DBACCESSOR_INHERITED = $00000010;
  2950.   {$EXTERNALSYM DBACCESSOR_INHERITED}
  2951.  
  2952. // DBBINDSTATUSENUM constants
  2953. type
  2954.   DBBINDSTATUSENUM = TOleEnum;
  2955.   {$EXTERNALSYM DBBINDSTATUSENUM}
  2956. const
  2957.   DBBINDSTATUS_OK = $00000000;
  2958.   {$EXTERNALSYM DBBINDSTATUS_OK}
  2959.   DBBINDSTATUS_BADORDINAL = $00000001;
  2960.   {$EXTERNALSYM DBBINDSTATUS_BADORDINAL}
  2961.   DBBINDSTATUS_UNSUPPORTEDCONVERSION = $00000002;
  2962.   {$EXTERNALSYM DBBINDSTATUS_UNSUPPORTEDCONVERSION}
  2963.   DBBINDSTATUS_BADBINDINFO = $00000003;
  2964.   {$EXTERNALSYM DBBINDSTATUS_BADBINDINFO}
  2965.   DBBINDSTATUS_BADSTORAGEFLAGS = $00000004;
  2966.   {$EXTERNALSYM DBBINDSTATUS_BADSTORAGEFLAGS}
  2967.   DBBINDSTATUS_NOINTERFACE = $00000005;
  2968.   {$EXTERNALSYM DBBINDSTATUS_NOINTERFACE}
  2969.   DBBINDSTATUS_MULTIPLESTORAGE = $00000006;
  2970.   {$EXTERNALSYM DBBINDSTATUS_MULTIPLESTORAGE}
  2971.  
  2972. // DBCOMPAREENUM constants
  2973. type
  2974.   DBCOMPAREENUM = TOleEnum;
  2975.   {$EXTERNALSYM DBCOMPAREENUM}
  2976. const
  2977.   DBCOMPARE_LT = $00000000;
  2978.   {$EXTERNALSYM DBCOMPARE_LT}
  2979.   DBCOMPARE_EQ = $00000001;
  2980.   {$EXTERNALSYM DBCOMPARE_EQ}
  2981.   DBCOMPARE_GT = $00000002;
  2982.   {$EXTERNALSYM DBCOMPARE_GT}
  2983.   DBCOMPARE_NE = $00000003;
  2984.   {$EXTERNALSYM DBCOMPARE_NE}
  2985.   DBCOMPARE_NOTCOMPARABLE = $00000004;
  2986.   {$EXTERNALSYM DBCOMPARE_NOTCOMPARABLE}
  2987.  
  2988. // DBPOSITIONFLAGSENUM constants
  2989. type
  2990.   DBPOSITIONFLAGSENUM = TOleEnum;
  2991.   {$EXTERNALSYM DBPOSITIONFLAGSENUM}
  2992. const
  2993.   DBPOSITION_OK = $00000000;
  2994.   {$EXTERNALSYM DBPOSITION_OK}
  2995.   DBPOSITION_NOROW = $00000001;
  2996.   {$EXTERNALSYM DBPOSITION_NOROW}
  2997.   DBPOSITION_BOF = $00000002;
  2998.   {$EXTERNALSYM DBPOSITION_BOF}
  2999.   DBPOSITION_EOF = $00000003;
  3000.   {$EXTERNALSYM DBPOSITION_EOF}
  3001.  
  3002. // DBPENDINGSTATUSENUM constants
  3003. type
  3004.   DBPENDINGSTATUSENUM = TOleEnum;
  3005.   {$EXTERNALSYM DBPENDINGSTATUSENUM}
  3006. const
  3007.   DBPENDINGSTATUS_NEW = $00000001;
  3008.   {$EXTERNALSYM DBPENDINGSTATUS_NEW}
  3009.   DBPENDINGSTATUS_CHANGED = $00000002;
  3010.   {$EXTERNALSYM DBPENDINGSTATUS_CHANGED}
  3011.   DBPENDINGSTATUS_DELETED = $00000004;
  3012.   {$EXTERNALSYM DBPENDINGSTATUS_DELETED}
  3013.   DBPENDINGSTATUS_UNCHANGED = $00000008;
  3014.   {$EXTERNALSYM DBPENDINGSTATUS_UNCHANGED}
  3015.   DBPENDINGSTATUS_INVALIDROW = $00000010;
  3016.   {$EXTERNALSYM DBPENDINGSTATUS_INVALIDROW}
  3017.  
  3018. // DBSEEKENUM constants
  3019. type
  3020.   DBSEEKENUM = TOleEnum;
  3021.   {$EXTERNALSYM DBSEEKENUM}
  3022. const
  3023.   DBSEEK_INVALID = $00000000;
  3024.   {$EXTERNALSYM DBSEEK_INVALID}
  3025.   DBSEEK_FIRSTEQ = $00000001;
  3026.   {$EXTERNALSYM DBSEEK_FIRSTEQ}
  3027.   DBSEEK_LASTEQ = $00000002;
  3028.   {$EXTERNALSYM DBSEEK_LASTEQ}
  3029.   DBSEEK_GE = $00000004;
  3030.   {$EXTERNALSYM DBSEEK_GE}
  3031.   DBSEEK_GT = $00000008;
  3032.   {$EXTERNALSYM DBSEEK_GT}
  3033.   DBSEEK_LE = $00000010;
  3034.   {$EXTERNALSYM DBSEEK_LE}
  3035.   DBSEEK_LT = $00000020;
  3036.   {$EXTERNALSYM DBSEEK_LT}
  3037.  
  3038. // DBRANGEENUM constants
  3039. type
  3040.   DBRANGEENUM = TOleEnum;
  3041.   {$EXTERNALSYM DBRANGEENUM}
  3042. const
  3043.   DBRANGE_INCLUSIVESTART = $00000000;
  3044.   {$EXTERNALSYM DBRANGE_INCLUSIVESTART}
  3045.   DBRANGE_INCLUSIVEEND = $00000000;
  3046.   {$EXTERNALSYM DBRANGE_INCLUSIVEEND}
  3047.   DBRANGE_EXCLUSIVESTART = $00000001;
  3048.   {$EXTERNALSYM DBRANGE_EXCLUSIVESTART}
  3049.   DBRANGE_EXCLUSIVEEND = $00000002;
  3050.   {$EXTERNALSYM DBRANGE_EXCLUSIVEEND}
  3051.   DBRANGE_EXCLUDENULLS = $00000004;
  3052.   {$EXTERNALSYM DBRANGE_EXCLUDENULLS}
  3053.   DBRANGE_PREFIX = $00000008;
  3054.   {$EXTERNALSYM DBRANGE_PREFIX}
  3055.   DBRANGE_MATCH = $00000010;
  3056.   {$EXTERNALSYM DBRANGE_MATCH}
  3057.  
  3058. // DBRANGEENUM20 constants
  3059. type
  3060.   DBRANGEENUM20 = TOleEnum;
  3061.   {$EXTERNALSYM DBRANGEENUM20}
  3062. const
  3063.   DBRANGE_MATCH_N_SHIFT = $00000018;
  3064.   {$EXTERNALSYM DBRANGE_MATCH_N_SHIFT}
  3065.   DBRANGE_MATCH_N_MASK = $000000FF;
  3066.   {$EXTERNALSYM DBRANGE_MATCH_N_MASK}
  3067.  
  3068. // DBWATCHNOTIFYENUM constants
  3069. type
  3070.   DBWATCHNOTIFYENUM = TOleEnum;
  3071.   {$EXTERNALSYM DBWATCHNOTIFYENUM}
  3072. const
  3073.   DBWATCHNOTIFY_ROWSCHANGED = $00000001;
  3074.   {$EXTERNALSYM DBWATCHNOTIFY_ROWSCHANGED}
  3075.   DBWATCHNOTIFY_QUERYDONE = $00000002;
  3076.   {$EXTERNALSYM DBWATCHNOTIFY_QUERYDONE}
  3077.   DBWATCHNOTIFY_QUERYREEXECUTED = $00000003;
  3078.   {$EXTERNALSYM DBWATCHNOTIFY_QUERYREEXECUTED}
  3079.  
  3080. // DBWATCHMODEENUM constants
  3081. type
  3082.   DBWATCHMODEENUM = TOleEnum;
  3083.   {$EXTERNALSYM DBWATCHMODEENUM}
  3084. const
  3085.   DBWATCHMODE_ALL = $00000001;
  3086.   {$EXTERNALSYM DBWATCHMODE_ALL}
  3087.   DBWATCHMODE_EXTEND = $00000002;
  3088.   {$EXTERNALSYM DBWATCHMODE_EXTEND}
  3089.   DBWATCHMODE_MOVE = $00000004;
  3090.   {$EXTERNALSYM DBWATCHMODE_MOVE}
  3091.   DBWATCHMODE_COUNT = $00000008;
  3092.   {$EXTERNALSYM DBWATCHMODE_COUNT}
  3093.  
  3094. // DBROWCHANGEKINDENUM constants
  3095. type
  3096.   DBROWCHANGEKINDENUM = TOleEnum;
  3097.   {$EXTERNALSYM DBROWCHANGEKINDENUM}
  3098. const
  3099.   DBROWCHANGEKIND_INSERT = $00000000;
  3100.   {$EXTERNALSYM DBROWCHANGEKIND_INSERT}
  3101.   DBROWCHANGEKIND_DELETE = $00000001;
  3102.   {$EXTERNALSYM DBROWCHANGEKIND_DELETE}
  3103.   DBROWCHANGEKIND_UPDATE = $00000002;
  3104.   {$EXTERNALSYM DBROWCHANGEKIND_UPDATE}
  3105.   DBROWCHANGEKIND_COUNT = $00000003;
  3106.   {$EXTERNALSYM DBROWCHANGEKIND_COUNT}
  3107.  
  3108. // DBCONVERTFLAGSENUM constants
  3109. type
  3110.   DBCONVERTFLAGSENUM = TOleEnum;
  3111.   {$EXTERNALSYM DBCONVERTFLAGSENUM}
  3112. const
  3113.   DBCONVERTFLAGS_COLUMN = $00000000;
  3114.   {$EXTERNALSYM DBCONVERTFLAGS_COLUMN}
  3115.   DBCONVERTFLAGS_PARAMETER = $00000001;
  3116.   {$EXTERNALSYM DBCONVERTFLAGS_PARAMETER}
  3117.  
  3118. // DBCONVERTFLAGSENUM20 constants
  3119. type
  3120.   DBCONVERTFLAGSENUM20 = TOleEnum;
  3121.   {$EXTERNALSYM DBCONVERTFLAGSENUM20}
  3122. const
  3123.   DBCONVERTFLAGS_ISLONG = $00000002;
  3124.   {$EXTERNALSYM DBCONVERTFLAGS_ISLONG}
  3125.   DBCONVERTFLAGS_ISFIXEDLENGTH = $00000004;
  3126.   {$EXTERNALSYM DBCONVERTFLAGS_ISFIXEDLENGTH}
  3127.   DBCONVERTFLAGS_FROMVARIANT = $00000008;
  3128.   {$EXTERNALSYM DBCONVERTFLAGS_FROMVARIANT}
  3129.  
  3130. // DBRESOURCEKINDENUM constants
  3131. type
  3132.   DBRESOURCEKINDENUM = TOleEnum;
  3133.   {$EXTERNALSYM DBRESOURCEKINDENUM}
  3134. const
  3135.   DBRESOURCE_INVALID = $00000000;
  3136.   {$EXTERNALSYM DBRESOURCE_INVALID}
  3137.   DBRESOURCE_TOTAL = $00000001;
  3138.   {$EXTERNALSYM DBRESOURCE_TOTAL}
  3139.   DBRESOURCE_CPU = $00000002;
  3140.   {$EXTERNALSYM DBRESOURCE_CPU}
  3141.   DBRESOURCE_MEMORY = $00000003;
  3142.   {$EXTERNALSYM DBRESOURCE_MEMORY}
  3143.   DBRESOURCE_DISK = $00000004;
  3144.   {$EXTERNALSYM DBRESOURCE_DISK}
  3145.   DBRESOURCE_NETWORK = $00000005;
  3146.   {$EXTERNALSYM DBRESOURCE_NETWORK}
  3147.   DBRESOURCE_RESPONSE = $00000006;
  3148.   {$EXTERNALSYM DBRESOURCE_RESPONSE}
  3149.   DBRESOURCE_ROWS = $00000007;
  3150.   {$EXTERNALSYM DBRESOURCE_ROWS}
  3151.   DBRESOURCE_OTHER = $00000008;
  3152.   {$EXTERNALSYM DBRESOURCE_OTHER}
  3153.  
  3154. // DBCOSTUNITENUM constants
  3155. type
  3156.   DBCOSTUNITENUM = TOleEnum;
  3157.   {$EXTERNALSYM DBCOSTUNITENUM}
  3158. const
  3159.   DBUNIT_INVALID = $00000000;
  3160.   {$EXTERNALSYM DBUNIT_INVALID}
  3161.   DBUNIT_WEIGHT = $00000001;
  3162.   {$EXTERNALSYM DBUNIT_WEIGHT}
  3163.   DBUNIT_PERCENT = $00000002;
  3164.   {$EXTERNALSYM DBUNIT_PERCENT}
  3165.   DBUNIT_MAXIMUM = $00000004;
  3166.   {$EXTERNALSYM DBUNIT_MAXIMUM}
  3167.   DBUNIT_MINIMUM = $00000008;
  3168.   {$EXTERNALSYM DBUNIT_MINIMUM}
  3169.   DBUNIT_MICRO_SECOND = $00000010;
  3170.   {$EXTERNALSYM DBUNIT_MICRO_SECOND}
  3171.   DBUNIT_MILLI_SECOND = $00000020;
  3172.   {$EXTERNALSYM DBUNIT_MILLI_SECOND}
  3173.   DBUNIT_SECOND = $00000040;
  3174.   {$EXTERNALSYM DBUNIT_SECOND}
  3175.   DBUNIT_MINUTE = $00000080;
  3176.   {$EXTERNALSYM DBUNIT_MINUTE}
  3177.   DBUNIT_HOUR = $00000100;
  3178.   {$EXTERNALSYM DBUNIT_HOUR}
  3179.   DBUNIT_BYTE = $00000200;
  3180.   {$EXTERNALSYM DBUNIT_BYTE}
  3181.   DBUNIT_KILO_BYTE = $00000400;
  3182.   {$EXTERNALSYM DBUNIT_KILO_BYTE}
  3183.   DBUNIT_MEGA_BYTE = $00000800;
  3184.   {$EXTERNALSYM DBUNIT_MEGA_BYTE}
  3185.   DBUNIT_GIGA_BYTE = $00001000;
  3186.   {$EXTERNALSYM DBUNIT_GIGA_BYTE}
  3187.   DBUNIT_NUM_MSGS = $00002000;
  3188.   {$EXTERNALSYM DBUNIT_NUM_MSGS}
  3189.   DBUNIT_NUM_LOCKS = $00004000;
  3190.   {$EXTERNALSYM DBUNIT_NUM_LOCKS}
  3191.   DBUNIT_NUM_ROWS = $00008000;
  3192.   {$EXTERNALSYM DBUNIT_NUM_ROWS}
  3193.   DBUNIT_OTHER = $00010000;
  3194.   {$EXTERNALSYM DBUNIT_OTHER}
  3195.  
  3196. // DBEXECLIMITSENUM constants
  3197. type
  3198.   DBEXECLIMITSENUM = TOleEnum;
  3199.   {$EXTERNALSYM DBEXECLIMITSENUM}
  3200. const
  3201.   DBEXECLIMITS_ABORT = $00000001;
  3202.   {$EXTERNALSYM DBEXECLIMITS_ABORT}
  3203.   DBEXECLIMITS_STOP = $00000002;
  3204.   {$EXTERNALSYM DBEXECLIMITS_STOP}
  3205.   DBEXECLIMITS_SUSPEND = $00000003;
  3206.   {$EXTERNALSYM DBEXECLIMITS_SUSPEND}
  3207.  
  3208. // DBCOMMANDREUSEENUM constants
  3209. type
  3210.   DBCOMMANDREUSEENUM = TOleEnum;
  3211.   {$EXTERNALSYM DBCOMMANDREUSEENUM}
  3212. const
  3213.   DBCOMMANDREUSE_NONE = $00000000;
  3214.   {$EXTERNALSYM DBCOMMANDREUSE_NONE}
  3215.   DBCOMMANDREUSE_PROPERTIES = $00000001;
  3216.   {$EXTERNALSYM DBCOMMANDREUSE_PROPERTIES}
  3217.   DBCOMMANDREUSE_PARAMETERS = $00000002;
  3218.   {$EXTERNALSYM DBCOMMANDREUSE_PARAMETERS}
  3219.  
  3220. // DBVALUEKINDENUM constants
  3221. type
  3222.   DBVALUEKINDENUM = TOleEnum;
  3223.   {$EXTERNALSYM DBVALUEKINDENUM}
  3224. const
  3225.   DBVALUEKIND_BYGUID = $00000100;
  3226.   {$EXTERNALSYM DBVALUEKIND_BYGUID}
  3227.   DBVALUEKIND_COLDESC = $00000101;
  3228.   {$EXTERNALSYM DBVALUEKIND_COLDESC}
  3229.   DBVALUEKIND_ID = $00000102;
  3230.   {$EXTERNALSYM DBVALUEKIND_ID}
  3231.   DBVALUEKIND_CONTENT = $00000103;
  3232.   {$EXTERNALSYM DBVALUEKIND_CONTENT}
  3233.   DBVALUEKIND_CONTENTVECTOR = $00000104;
  3234.   {$EXTERNALSYM DBVALUEKIND_CONTENTVECTOR}
  3235.   DBVALUEKIND_GROUPINFO = $00000105;
  3236.   {$EXTERNALSYM DBVALUEKIND_GROUPINFO}
  3237.   DBVALUEKIND_PARAMETER = $00000106;
  3238.   {$EXTERNALSYM DBVALUEKIND_PARAMETER}
  3239.   DBVALUEKIND_PROPERTY = $00000107;
  3240.   {$EXTERNALSYM DBVALUEKIND_PROPERTY}
  3241.   DBVALUEKIND_SETFUNC = $00000108;
  3242.   {$EXTERNALSYM DBVALUEKIND_SETFUNC}
  3243.   DBVALUEKIND_SORTINFO = $00000109;
  3244.   {$EXTERNALSYM DBVALUEKIND_SORTINFO}
  3245.   DBVALUEKIND_TEXT = $0000010A;
  3246.   {$EXTERNALSYM DBVALUEKIND_TEXT}
  3247.   DBVALUEKIND_COMMAND = $0000010B;
  3248.   {$EXTERNALSYM DBVALUEKIND_COMMAND}
  3249.   DBVALUEKIND_MONIKER = $0000010C;
  3250.   {$EXTERNALSYM DBVALUEKIND_MONIKER}
  3251.   DBVALUEKIND_ROWSET = $0000010D;
  3252.   {$EXTERNALSYM DBVALUEKIND_ROWSET}
  3253.   DBVALUEKIND_LIKE = $0000010E;
  3254.   {$EXTERNALSYM DBVALUEKIND_LIKE}
  3255.   DBVALUEKIND_CONTENTPROXIMITY = $0000010F;
  3256.   {$EXTERNALSYM DBVALUEKIND_CONTENTPROXIMITY}
  3257.   DBVALUEKIND_IDISPATCH = $00000009;
  3258.   {$EXTERNALSYM DBVALUEKIND_IDISPATCH}
  3259.   DBVALUEKIND_IUNKNOWN = $0000000D;
  3260.   {$EXTERNALSYM DBVALUEKIND_IUNKNOWN}
  3261.   DBVALUEKIND_EMPTY = $00000000;
  3262.   {$EXTERNALSYM DBVALUEKIND_EMPTY}
  3263.   DBVALUEKIND_NULL = $00000001;
  3264.   {$EXTERNALSYM DBVALUEKIND_NULL}
  3265.   DBVALUEKIND_I2 = $00000002;
  3266.   {$EXTERNALSYM DBVALUEKIND_I2}
  3267.   DBVALUEKIND_I4 = $00000003;
  3268.   {$EXTERNALSYM DBVALUEKIND_I4}
  3269.   DBVALUEKIND_R4 = $00000004;
  3270.   {$EXTERNALSYM DBVALUEKIND_R4}
  3271.   DBVALUEKIND_R8 = $00000005;
  3272.   {$EXTERNALSYM DBVALUEKIND_R8}
  3273.   DBVALUEKIND_CY = $00000006;
  3274.   {$EXTERNALSYM DBVALUEKIND_CY}
  3275.   DBVALUEKIND_DATE = $00000007;
  3276.   {$EXTERNALSYM DBVALUEKIND_DATE}
  3277.   DBVALUEKIND_BSTR = $00000008;
  3278.   {$EXTERNALSYM DBVALUEKIND_BSTR}
  3279.   DBVALUEKIND_ERROR = $0000000A;
  3280.   {$EXTERNALSYM DBVALUEKIND_ERROR}
  3281.   DBVALUEKIND_BOOL = $0000000B;
  3282.   {$EXTERNALSYM DBVALUEKIND_BOOL}
  3283.   DBVALUEKIND_VARIANT = $0000000C;
  3284.   {$EXTERNALSYM DBVALUEKIND_VARIANT}
  3285.   DBVALUEKIND_VECTOR = $00001000;
  3286.   {$EXTERNALSYM DBVALUEKIND_VECTOR}
  3287.   DBVALUEKIND_ARRAY = $00002000;
  3288.   {$EXTERNALSYM DBVALUEKIND_ARRAY}
  3289.   DBVALUEKIND_BYREF = $00004000;
  3290.   {$EXTERNALSYM DBVALUEKIND_BYREF}
  3291.   DBVALUEKIND_I1 = $00000010;
  3292.   {$EXTERNALSYM DBVALUEKIND_I1}
  3293.   DBVALUEKIND_UI1 = $00000011;
  3294.   {$EXTERNALSYM DBVALUEKIND_UI1}
  3295.   DBVALUEKIND_UI2 = $00000012;
  3296.   {$EXTERNALSYM DBVALUEKIND_UI2}
  3297.   DBVALUEKIND_UI4 = $00000013;
  3298.   {$EXTERNALSYM DBVALUEKIND_UI4}
  3299.   DBVALUEKIND_I8 = $00000014;
  3300.   {$EXTERNALSYM DBVALUEKIND_I8}
  3301.   DBVALUEKIND_UI8 = $00000015;
  3302.   {$EXTERNALSYM DBVALUEKIND_UI8}
  3303.   DBVALUEKIND_GUID = $00000048;
  3304.   {$EXTERNALSYM DBVALUEKIND_GUID}
  3305.   DBVALUEKIND_BYTES = $00000080;
  3306.   {$EXTERNALSYM DBVALUEKIND_BYTES}
  3307.   DBVALUEKIND_STR = $00000081;
  3308.   {$EXTERNALSYM DBVALUEKIND_STR}
  3309.   DBVALUEKIND_WSTR = $00000082;
  3310.   {$EXTERNALSYM DBVALUEKIND_WSTR}
  3311.   DBVALUEKIND_NUMERIC = $00000083;
  3312.   {$EXTERNALSYM DBVALUEKIND_NUMERIC}
  3313.   DBVALUEKIND_DBDATE = $00000085;
  3314.   {$EXTERNALSYM DBVALUEKIND_DBDATE}
  3315.   DBVALUEKIND_DBTIME = $00000086;
  3316.   {$EXTERNALSYM DBVALUEKIND_DBTIME}
  3317.   DBVALUEKIND_DBTIMESTAMP = $00000087;
  3318.   {$EXTERNALSYM DBVALUEKIND_DBTIMESTAMP}
  3319.  
  3320. // DBSOURCETYPEENUM constants
  3321. type
  3322.   DBSOURCETYPEENUM = TOleEnum;
  3323.   {$EXTERNALSYM DBSOURCETYPEENUM}
  3324. const
  3325.   DBSOURCETYPE_DATASOURCE = $00000001;
  3326.   {$EXTERNALSYM DBSOURCETYPE_DATASOURCE}
  3327.   DBSOURCETYPE_ENUMERATOR = $00000002;
  3328.   {$EXTERNALSYM DBSOURCETYPE_ENUMERATOR}
  3329.  
  3330. // DBSOURCETYPEENUM20 constants
  3331. type
  3332.   DBSOURCETYPEENUM20 = TOleEnum;
  3333.   {$EXTERNALSYM DBSOURCETYPEENUM20}
  3334. const
  3335.   DBSOURCETYPE_DATASOURCE_TDP = $00000001;
  3336.   {$EXTERNALSYM DBSOURCETYPE_DATASOURCE_TDP}
  3337.   DBSOURCETYPE_DATASOURCE_MDP = $00000003;
  3338.   {$EXTERNALSYM DBSOURCETYPE_DATASOURCE_MDP}
  3339.  
  3340. // DBLITERALENUM constants
  3341. type
  3342.   DBLITERALENUM = TOleEnum;
  3343.   {$EXTERNALSYM DBLITERALENUM}
  3344. const
  3345.   DBLITERAL_INVALID = $00000000;
  3346.   {$EXTERNALSYM DBLITERAL_INVALID}
  3347.   DBLITERAL_BINARY_LITERAL = $00000001;
  3348.   {$EXTERNALSYM DBLITERAL_BINARY_LITERAL}
  3349.   DBLITERAL_CATALOG_NAME = $00000002;
  3350.   {$EXTERNALSYM DBLITERAL_CATALOG_NAME}
  3351.   DBLITERAL_CATALOG_SEPARATOR = $00000003;
  3352.   {$EXTERNALSYM DBLITERAL_CATALOG_SEPARATOR}
  3353.   DBLITERAL_CHAR_LITERAL = $00000004;
  3354.   {$EXTERNALSYM DBLITERAL_CHAR_LITERAL}
  3355.   DBLITERAL_COLUMN_ALIAS = $00000005;
  3356.   {$EXTERNALSYM DBLITERAL_COLUMN_ALIAS}
  3357.   DBLITERAL_COLUMN_NAME = $00000006;
  3358.   {$EXTERNALSYM DBLITERAL_COLUMN_NAME}
  3359.   DBLITERAL_CORRELATION_NAME = $00000007;
  3360.   {$EXTERNALSYM DBLITERAL_CORRELATION_NAME}
  3361.   DBLITERAL_CURSOR_NAME = $00000008;
  3362.   {$EXTERNALSYM DBLITERAL_CURSOR_NAME}
  3363.   DBLITERAL_ESCAPE_PERCENT = $00000009;
  3364.   {$EXTERNALSYM DBLITERAL_ESCAPE_PERCENT}
  3365.   DBLITERAL_ESCAPE_UNDERSCORE = $0000000A;
  3366.   {$EXTERNALSYM DBLITERAL_ESCAPE_UNDERSCORE}
  3367.   DBLITERAL_INDEX_NAME = $0000000B;
  3368.   {$EXTERNALSYM DBLITERAL_INDEX_NAME}
  3369.   DBLITERAL_LIKE_PERCENT = $0000000C;
  3370.   {$EXTERNALSYM DBLITERAL_LIKE_PERCENT}
  3371.   DBLITERAL_LIKE_UNDERSCORE = $0000000D;
  3372.   {$EXTERNALSYM DBLITERAL_LIKE_UNDERSCORE}
  3373.   DBLITERAL_PROCEDURE_NAME = $0000000E;
  3374.   {$EXTERNALSYM DBLITERAL_PROCEDURE_NAME}
  3375.   DBLITERAL_QUOTE = $0000000F;
  3376.   {$EXTERNALSYM DBLITERAL_QUOTE}
  3377.   DBLITERAL_SCHEMA_NAME = $00000010;
  3378.   {$EXTERNALSYM DBLITERAL_SCHEMA_NAME}
  3379.   DBLITERAL_TABLE_NAME = $00000011;
  3380.   {$EXTERNALSYM DBLITERAL_TABLE_NAME}
  3381.   DBLITERAL_TEXT_COMMAND = $00000012;
  3382.   {$EXTERNALSYM DBLITERAL_TEXT_COMMAND}
  3383.   DBLITERAL_USER_NAME = $00000013;
  3384.   {$EXTERNALSYM DBLITERAL_USER_NAME}
  3385.   DBLITERAL_VIEW_NAME = $00000014;
  3386.   {$EXTERNALSYM DBLITERAL_VIEW_NAME}
  3387.  
  3388. // DBLITERALENUM20 constants
  3389. type
  3390.   DBLITERALENUM20 = TOleEnum;
  3391.   {$EXTERNALSYM DBLITERALENUM20}
  3392. const
  3393.   DBLITERAL_CUBE_NAME = $00000015;
  3394.   {$EXTERNALSYM DBLITERAL_CUBE_NAME}
  3395.   DBLITERAL_DIMENSION_NAME = $00000016;
  3396.   {$EXTERNALSYM DBLITERAL_DIMENSION_NAME}
  3397.   DBLITERAL_HIERARCHY_NAME = $00000017;
  3398.   {$EXTERNALSYM DBLITERAL_HIERARCHY_NAME}
  3399.   DBLITERAL_LEVEL_NAME = $00000018;
  3400.   {$EXTERNALSYM DBLITERAL_LEVEL_NAME}
  3401.   DBLITERAL_MEMBER_NAME = $00000019;
  3402.   {$EXTERNALSYM DBLITERAL_MEMBER_NAME}
  3403.   DBLITERAL_PROPERTY_NAME = $0000001A;
  3404.   {$EXTERNALSYM DBLITERAL_PROPERTY_NAME}
  3405.   DBLITERAL_SCHEMA_SEPARATOR = $0000001B;
  3406.   {$EXTERNALSYM DBLITERAL_SCHEMA_SEPARATOR}
  3407.   DBLITERAL_QUOTE_SUFFIX = $0000001C;
  3408.   {$EXTERNALSYM DBLITERAL_QUOTE_SUFFIX}
  3409.  
  3410. // ACCESS_MASKENUM constants
  3411. type
  3412.   ACCESS_MASKENUM = TOleEnum;
  3413.   {$EXTERNALSYM ACCESS_MASKENUM}
  3414. const
  3415.   PERM_EXCLUSIVE = $00000200;
  3416.   {$EXTERNALSYM PERM_EXCLUSIVE}
  3417.   PERM_READDESIGN = $00000400;
  3418.   {$EXTERNALSYM PERM_READDESIGN}
  3419.   PERM_WRITEDESIGN = $00000800;
  3420.   {$EXTERNALSYM PERM_WRITEDESIGN}
  3421.   PERM_WITHGRANT = $00001000;
  3422.   {$EXTERNALSYM PERM_WITHGRANT}
  3423.   PERM_REFERENCE = $00002000;
  3424.   {$EXTERNALSYM PERM_REFERENCE}
  3425.   PERM_CREATE = $00004000;
  3426.   {$EXTERNALSYM PERM_CREATE}
  3427.   PERM_INSERT = $00008000;
  3428.   {$EXTERNALSYM PERM_INSERT}
  3429.   PERM_DELETE = $00010000;
  3430.   {$EXTERNALSYM PERM_DELETE}
  3431.   PERM_READCONTROL = $00020000;
  3432.   {$EXTERNALSYM PERM_READCONTROL}
  3433.   PERM_WRITEPERMISSIONS = $00040000;
  3434.   {$EXTERNALSYM PERM_WRITEPERMISSIONS}
  3435.   PERM_WRITEOWNER = $00080000;
  3436.   {$EXTERNALSYM PERM_WRITEOWNER}
  3437.   PERM_MAXIMUM_ALLOWED = $02000000;
  3438.   {$EXTERNALSYM PERM_MAXIMUM_ALLOWED}
  3439.   PERM_ALL = $10000000;
  3440.   {$EXTERNALSYM PERM_ALL}
  3441.   PERM_EXECUTE = $20000000;
  3442.   {$EXTERNALSYM PERM_EXECUTE}
  3443.   PERM_READ = $80000000;
  3444.   {$EXTERNALSYM PERM_READ}
  3445.   PERM_UPDATE = $40000000;
  3446.   {$EXTERNALSYM PERM_UPDATE}
  3447.   PERM_DROP = $00000100;
  3448.   {$EXTERNALSYM PERM_DROP}
  3449.  
  3450. //MULTIPLE_TRUSTEE_OPERATION constants
  3451. type
  3452.   MULTIPLE_TRUSTEE_OPERATION = TOleEnum;
  3453.   {$EXTERNALSYM MULTIPLE_TRUSTEE_OPERATION}
  3454. const
  3455.   NO_MULTIPLE_TRUSTEE = $00000000;
  3456.   {$EXTERNALSYM NO_MULTIPLE_TRUSTEE}
  3457.   TRUSTEE_IS_IMPERSONATE = $00000001;
  3458.   {$EXTERNALSYM TRUSTEE_IS_IMPERSONATE}
  3459.  
  3460. // TRUSTEE_FORM constants
  3461. type
  3462.   TRUSTEE_FORM = TOleEnum;
  3463.   {$EXTERNALSYM TRUSTEE_FORM}
  3464. const
  3465.   TRUSTEE_IS_SID = $00000000;
  3466.   {$EXTERNALSYM TRUSTEE_IS_SID}
  3467.   TRUSTEE_IS_NAME = $00000001;
  3468.   {$EXTERNALSYM TRUSTEE_IS_NAME}
  3469.   TRUSTEE_BAD_FORM = $00000002;
  3470.   {$EXTERNALSYM TRUSTEE_BAD_FORM}
  3471.  
  3472. // TRUSTEE_TYPE constants
  3473. type
  3474.   TRUSTEE_TYPE = TOleEnum;
  3475.   {$EXTERNALSYM TRUSTEE_TYPE}
  3476. const
  3477.   TRUSTEE_IS_UNKNOWN = $00000000;
  3478.   {$EXTERNALSYM TRUSTEE_IS_UNKNOWN}
  3479.   TRUSTEE_IS_USER = $00000001;
  3480.   {$EXTERNALSYM TRUSTEE_IS_USER}
  3481.   TRUSTEE_IS_GROUP = $00000002;
  3482.   {$EXTERNALSYM TRUSTEE_IS_GROUP}
  3483.   TRUSTEE_IS_DOMAIN = $00000003;
  3484.   {$EXTERNALSYM TRUSTEE_IS_DOMAIN}
  3485.   TRUSTEE_IS_ALIAS = $00000004;
  3486.   {$EXTERNALSYM TRUSTEE_IS_ALIAS}
  3487.   TRUSTEE_IS_WELL_KNOWN_GROUP = $00000005;
  3488.   {$EXTERNALSYM TRUSTEE_IS_WELL_KNOWN_GROUP}
  3489.   TRUSTEE_IS_DELETED = $00000006;
  3490.   {$EXTERNALSYM TRUSTEE_IS_DELETED}
  3491.   TRUSTEE_IS_INVALID = $00000007;
  3492.   {$EXTERNALSYM TRUSTEE_IS_INVALID}
  3493.  
  3494. // ACCESS_MODE constants
  3495. type
  3496.   ACCESS_MODE = TOleEnum;
  3497.   {$EXTERNALSYM ACCESS_MODE}
  3498. const
  3499.   NOT_USED_ACCESS = $00000000;
  3500.   {$EXTERNALSYM NOT_USED_ACCESS}
  3501.   GRANT_ACCESS = $00000001;
  3502.   {$EXTERNALSYM GRANT_ACCESS}
  3503.   SET_ACCESS = $00000002;
  3504.   {$EXTERNALSYM SET_ACCESS}
  3505.   DENY_ACCESS = $00000003;
  3506.   {$EXTERNALSYM DENY_ACCESS}
  3507.   REVOKE_ACCESS = $00000004;
  3508.   {$EXTERNALSYM REVOKE_ACCESS}
  3509.   SET_AUDIT_SUCCESS = $00000005;
  3510.   {$EXTERNALSYM SET_AUDIT_SUCCESS}
  3511.   SET_AUDIT_FAILURE = $00000006;
  3512.   {$EXTERNALSYM SET_AUDIT_FAILURE}
  3513.  
  3514. // DBPROPTOPTIONS constants
  3515. type
  3516.   DBPROMPTOPTIONS = TOleEnum;
  3517.   {$EXTERNALSYM DBPROMPTOPTIONS}
  3518. const
  3519.   DBPROMPTOPTIONS_NONE = 0;
  3520.   {$EXTERNALSYM DBPROMPTOPTIONS_NONE}
  3521.   DBPROMPTOPTIONS_WIZARDSHEET = $1;
  3522.   {$EXTERNALSYM DBPROMPTOPTIONS_WIZARDSHEET}
  3523.   DBPROMPTOPTIONS_PROPERTYSHEET = $2;
  3524.   {$EXTERNALSYM DBPROMPTOPTIONS_PROPERTYSHEET}
  3525.   DBPROMPTOPTIONS_BROWSEONLY = $8;
  3526.   {$EXTERNALSYM DBPROMPTOPTIONS_BROWSEONLY}
  3527.   DBPROMPTOPTIONS_DISABLE_PROVIDER_SELECTION = $10;
  3528.   {$EXTERNALSYM DBPROMPTOPTIONS_DISABLE_PROVIDER_SELECTION}
  3529.  
  3530. type
  3531.  
  3532. // *********************************************************************//
  3533. // Declaration of structures, unions and aliases.                       //
  3534. // *********************************************************************//
  3535.  
  3536.   PIUnknown = ^IUnknown;
  3537.   SBYTE = Shortint;
  3538.   PUintArray = ^TUintArray;
  3539.   TUintArray = array[0..MAXBOUND] of UINT;
  3540.   PPByte = ^PByte;
  3541.   PPByteArray = ^TPByteArray;
  3542.   TPByteArray = array[0..MAXBOUND] of PByte;
  3543.  
  3544.   DBSTATUS = DWORD;
  3545.   {$EXTERNALSYM DBSTATUS}
  3546.   DBTYPE = Word;
  3547.   {$EXTERNALSYM DBTYPE}
  3548.   DBKIND = UINT;
  3549.   {$EXTERNALSYM DBKIND}
  3550.   DBPARAMIO = UINT;
  3551.   {$EXTERNALSYM DBPARAMIO}
  3552.   DBMEMOWNER = UINT;
  3553.   {$EXTERNALSYM DBMEMOWNER}
  3554.   DBPART = UINT;
  3555.   {$EXTERNALSYM DBPART}
  3556.   DBPROPSTATUS = UINT;
  3557.   {$EXTERNALSYM DBPROPSTATUS}
  3558.   DBPROPOPTIONS = UINT;
  3559.   {$EXTERNALSYM DBPROPOPTIONS}
  3560.   DBPROPFLAGS = UINT;
  3561.   {$EXTERNALSYM DBPROPFLAGS}
  3562.   DBBINDSTATUS = UINT;
  3563.   {$EXTERNALSYM DBBINDSTATUS}
  3564.   HWATCHREGION = UINT;
  3565.   {$EXTERNALSYM HWATCHREGION}
  3566.   DBINDEX_COL_ORDER = UINT;
  3567.   {$EXTERNALSYM DBINDEX_COL_ORDER}
  3568.   DBCOLUMNFLAGS = UINT;
  3569.   {$EXTERNALSYM DBCOLUMNFLAGS}
  3570.   DBCOMMANDOP = Word;
  3571.   {$EXTERNALSYM DBCOMMANDOP}
  3572.   DBASYNCHOP = UINT;
  3573.   {$EXTERNALSYM DBASYNCHOP}
  3574.   DBREASON = UINT;
  3575.   {$EXTERNALSYM DBREASON}
  3576.   DBEVENTPHASE = UINT;
  3577.   {$EXTERNALSYM DBEVENTPHASE}
  3578.   DBCOLUMNDESCFLAGS = UINT;
  3579.   {$EXTERNALSYM DBCOLUMNDESCFLAGS}
  3580.   DBPARAMFLAGS = UINT;
  3581.   {$EXTERNALSYM DBPARAMFLAGS}
  3582.  
  3583.   DBASYNCHPHASE = UINT;
  3584.   PDBASYNCHPHASE = ^DBASYNCHPHASE;
  3585.   {$EXTERNALSYM DBASYNCHPHASE}
  3586.  
  3587.   DBSORT = UINT;
  3588.   PDBSORT = ^DBSORT;
  3589.   {$EXTERNALSYM DBSORT}
  3590.  
  3591.   DBCOMPAREOP = UINT;
  3592.   PDBCOMPAREOP = ^DBCOMPAREOP;
  3593.   {$EXTERNALSYM DBCOMPAREOP}
  3594.  
  3595.   HACCESSOR = UINT;
  3596.   PHACCESSOR = ^HACCESSOR;
  3597.   {$EXTERNALSYM HACCESSOR}
  3598.  
  3599.   HSOURCE = Word;
  3600.   PHSOURCE = ^HSOURCE;
  3601.   {$EXTERNALSYM HSOURCE}
  3602.  
  3603.   HCHAPTER = UINT;
  3604.   PHCHAPTER = HCHAPTER;
  3605.   {$EXTERNALSYM HCHAPTER}
  3606.  
  3607.   HROW = UINT;
  3608.   PHROW = ^HROW;
  3609.   PPHROW = ^PHROW;
  3610.   {$EXTERNALSYM HROW}
  3611.  
  3612.   DBROWSTATUS = UINT;
  3613.   PDBROWSTATUS = ^DBROWSTATUS;
  3614.   PPDBROWSTATUS = ^PDBROWSTATUS;
  3615.   {$EXTERNALSYM DBROWSTATUS}
  3616.  
  3617.   DBPENDINGSTATUS = DWORD;
  3618.   PDBPENDINGSTATUS = ^DBPENDINGSTATUS;
  3619.   PPDBPENDINGSTATUS = ^PDBPENDINGSTATUS;
  3620.   {$EXTERNALSYM DBPENDINGSTATUS}
  3621.  
  3622.   DBROWOPTIONS = UINT;
  3623.   PDBROWOPTIONS = ^DBROWOPTIONS;
  3624.   {$EXTERNALSYM DBROWOPTIONS}
  3625.  
  3626.   DBSOURCETYPE = DWORD;
  3627.   PDBSOURCETYPE = ^DBSOURCETYPE;
  3628.   {$EXTERNALSYM DBSOURCETYPE}
  3629.  
  3630.   PBoid = ^TBoid;
  3631.   BOID = packed record
  3632.     rgb_: array[0..15] of Byte;
  3633.   end;
  3634.   TBoid = BOID;
  3635.   {$EXTERNALSYM BOID}
  3636.  
  3637.   PXactTransInfo = ^TXactTransInfo;
  3638.   XACTTRANSINFO = packed record
  3639.     uow: BOID;
  3640.     isoLevel: Integer;
  3641.     isoFlags: UINT;
  3642.     grfTCSupported: UINT;
  3643.     grfRMSupported: UINT;
  3644.     grfTCSupportedRetaining: UINT;
  3645.     grfRMSupportedRetaining: UINT;
  3646.   end;
  3647.   TXactTransInfo = XACTTRANSINFO;
  3648.   {$EXTERNALSYM XACTTRANSINFO}
  3649.  
  3650.   PXactOpt = ^TXactOpt;
  3651.   XACTOPT = packed record
  3652.     ulTimeout: UINT;
  3653.     szDescription: array[0..39] of Shortint;
  3654.   end;
  3655.   TXActOpt = XACTOPT;
  3656.   {$EXTERNALSYM XACTOPT}
  3657.  
  3658.   PXactStats = ^TXactStats;
  3659.   XACTSTATS = packed record
  3660.     cOpen: UINT;
  3661.     cCommitting: UINT;
  3662.     cCommitted: UINT;
  3663.     cAborting: UINT;
  3664.     cAborted: UINT;
  3665.     cInDoubt: UINT;
  3666.     cHeuristicDecision: UINT;
  3667.     timeTransactionsUp: FILETIME;
  3668.   end;
  3669.   TXactStats = XACTSTATS;
  3670.   {$EXTERNALSYM XACTSTATS}
  3671.  
  3672.   PDBBindExt = ^TDBBindExt;
  3673.   DBBINDEXT = packed record
  3674.     pExtension: PByte;
  3675.     ulExtension: UINT;
  3676.   end;
  3677.   TDBBindExt = DBBINDEXT;
  3678.   {$EXTERNALSYM DBBINDEXT}
  3679.  
  3680.   PDBObject = ^TDBObject;
  3681.   DBOBJECT = packed record
  3682.     dwFlags: UINT;
  3683.     iid: TGUID;
  3684.   end;
  3685.   TDBObject = DBOBJECT;
  3686.   {$EXTERNALSYM DBOBJECT}
  3687.  
  3688.   PDBBinding = ^TDBBinding;
  3689.   DBBINDING = packed record
  3690.     iOrdinal: UINT;
  3691.     obValue: UINT;
  3692.     obLength: UINT;
  3693.     obStatus: UINT;
  3694.     pTypeInfo: ITypeInfo;
  3695.     pObject: PDBObject;
  3696.     pBindExt: PDBBindExt;
  3697.     dwPart: DBPART;
  3698.     dwMemOwner: DBMEMOWNER;
  3699.     eParamIO: DBPARAMIO;
  3700.     cbMaxLen: UINT;
  3701.     dwFlags: UINT;
  3702.     wType: DBTYPE;
  3703.     bPrecision: Byte;
  3704.     bScale: Byte;
  3705.   end;
  3706.   TDBBinding = DBBINDING;
  3707.   {$EXTERNALSYM DBBINDING}
  3708.  
  3709.   PDBBindingArray = ^TDBBindingArray;
  3710.   TDBBindingArray = array[0..MAXBOUND] of TDBBinding;
  3711.  
  3712.   PDBIDName = ^TDBIDName;
  3713.   DBIDNAME = record
  3714.     case Integer of
  3715.       0: (pwszName: PWideChar);
  3716.       1: (ulPropid: UINT);
  3717.   end;
  3718.   TDBIDName = DBIDNAME;
  3719.   {$EXTERNALSYM DBIDNAME}
  3720.  
  3721.   PDBIDGuid = ^TDBIDGuid;
  3722.   DBIDGUID = record
  3723.     case Integer of
  3724.       0: (guid: TGUID);
  3725.       1: (pguid: ^TGUID);
  3726.   end;
  3727.   TDBIDGuid = DBIDGUID;
  3728.   {$EXTERNALSYM DBIDGUID}
  3729.  
  3730.   DBPROPID = UINT;
  3731.   {$EXTERNALSYM DBPROPID}
  3732.   PDBPROPID = ^DBPROPID;
  3733.   PDBPropIDArray = ^TDBPropIDArray;
  3734.   TDBPropIDArray = array[0..MAXBOUND] of DBPROPID;
  3735.  
  3736.   PPDBID = ^PDBID;
  3737.   PDBID = ^DBID;
  3738.   DBID = packed record
  3739.     uGuid: DBIDGUID;
  3740.     eKind: DBKIND;
  3741.     uName: DBIDNAME;
  3742.   end;
  3743.   TDBID = DBID;
  3744.   {$EXTERNALSYM DBID}
  3745.  
  3746.   PDBIDArray = ^TDBIDArray;
  3747.   TDBIDArray = array[0..MAXBOUND] of TDBID;
  3748.  
  3749.   PDBPropIDSet = ^TDBPropIDSet;
  3750.   DBPROPIDSET = packed record
  3751.     rgPropertyIDs: PDBPropIDArray;
  3752.     cPropertyIDs: UINT;
  3753.     guidPropertySet: TGUID;
  3754.   end;
  3755.   TDBPropIDSet = DBPROPIDSET;
  3756.   {$EXTERNALSYM DBPROPIDSET}
  3757.  
  3758.   PDBPropIDSetArray = ^TDBPropIDSetArray;
  3759.   TDBPropIDSetArray = array[0..MAXBOUND] of TDBPropIDSet;
  3760.  
  3761.   PDBProp = ^TDBProp;
  3762.   DBPROP = packed record
  3763.     dwPropertyID: DBPROPID;
  3764.     dwOptions: DBPROPOPTIONS;
  3765.     dwStatus: DBPROPSTATUS;
  3766.     colid: DBID;
  3767.     vValue: OleVariant;
  3768.   end;
  3769.   TDBProp = DBPROP;
  3770.   {$EXTERNALSYM DBPROP}
  3771.  
  3772.   PDBPropArray = ^TDBPropArray;
  3773.   TDBPropArray = array[0..MAXBOUND] of TDBProp;
  3774.  
  3775.  
  3776.   PPDBPropSet = ^PDBPropSet;
  3777.   PDBPropSet = ^TDBPropSet;
  3778.   DBPROPSET = packed record
  3779.     rgProperties: PDBPropArray;
  3780.     cProperties: UINT;
  3781.     guidPropertySet: TGUID;
  3782.   end;
  3783.   TDBPropSet = DBPROPSET;
  3784.   {$EXTERNALSYM DBPROPSET}
  3785.  
  3786.   PDBPropSetArray = ^TDBPropSetArray;
  3787.   TDBPropSetArray = array[0..MAXBOUND] of TDBPropSet;
  3788.  
  3789.   PDBPropInfo = ^TDBPropInfo;
  3790.   DBPROPINFO = packed record
  3791.     pwszDescription: PWideChar;
  3792.     dwPropertyID: DBPROPID;
  3793.     dwFlags: DBPROPFLAGS;
  3794.     vtType: Word;
  3795.     vValues: OleVariant;
  3796.   end;
  3797.   TDBPropInfo = DBPROPINFO;
  3798.   {$EXTERNALSYM DBPROPINFO}
  3799.  
  3800.   PDBPropInfoArray = ^TDBPropInfoArray;
  3801.   TDBPropInfoArray = array[0..MAXBOUND] of TDBPropInfo;
  3802.  
  3803.   PDBPropInfoSet = ^TDBPropInfoSet;
  3804.   DBPROPINFOSET = packed record
  3805.     rgPropertyInfos: PDBPropInfoArray;
  3806.     cPropertyInfos: UINT;
  3807.     guidPropertySet: TGUID;
  3808.   end;
  3809.   TDBPropInfoSet = DBPROPINFOSET;
  3810.   {$EXTERNALSYM DBPROPINFOSET}
  3811.  
  3812.   PDBPropInfoSetArray = ^TDBPropInfoSetArray;
  3813.   TDBPropInfoSetArray = array[0..MAXBOUND] of TDBPropInfoSet;
  3814.  
  3815.   PDBIndexColumnDesc = ^TDBIndexColumnDesc;
  3816.   DBINDEXCOLUMNDESC = packed record
  3817.     pColumnID: ^DBID;
  3818.     eIndexColOrder: DBINDEX_COL_ORDER;
  3819.   end;
  3820.   TDBIndexColumnDesc = DBINDEXCOLUMNDESC;
  3821.   {$EXTERNALSYM DBINDEXCOLUMNDESC}
  3822.  
  3823.   PDBIndexColumnDescArray = ^TDBIndexColumnDescArray;
  3824.   TDBIndexColumnDescArray = array[0..MAXBOUND] of TDBIndexColumnDesc;
  3825.  
  3826.   PDBParams = ^TDBPARAMS;
  3827.   DBPARAMS = packed record
  3828.     pData: Pointer;
  3829.     cParamSets: UINT;
  3830.     HACCESSOR: HACCESSOR;
  3831.   end;
  3832.   TDBParams = DBPARAMS;
  3833.   {$EXTERNALSYM DBPARAMS}
  3834.  
  3835.   PDBColumnInfo = ^TDBColumnInfo;
  3836.   DBCOLUMNINFO = packed record
  3837.     pwszName: PWideChar;
  3838.     pTypeInfo: ITypeInfo;
  3839.     iOrdinal: UINT;
  3840.     dwFlags: DBCOLUMNFLAGS;
  3841.     ulColumnSize: UINT;
  3842.     wType: DBTYPE;
  3843.     bPrecision: Byte;
  3844.     bScale: Byte;
  3845.     columnid: DBID;
  3846.   end;
  3847.   TDBColumnInfo = DBCOLUMNINFO;
  3848.   {$EXTERNALSYM DBCOLUMNINFO}
  3849.  
  3850.   PDBColumnInfoArray = ^TDBColumnInfoArray;
  3851.   TDBColumnInfoArray = array[0..MAXCOLS] of TDBColumnInfo;
  3852.  
  3853.   PDBLiteralInfo = ^DBLiteralInfo;
  3854.   DBLITERALINFO = packed record
  3855.     pwszLiteralValue: PWideChar;
  3856.     pwszInvalidChars: PWideChar;
  3857.     pwszInvalidStartingChars: PWideChar;
  3858.     lt: UINT;
  3859.     fSupported: BOOL;
  3860.     cchMaxLen: UINT;
  3861.   end;
  3862.   TDBLiteralInfo = DBLITERALINFO;
  3863.   {$EXTERNALSYM DBLITERALINFO}
  3864.  
  3865.   PDBLiteralInfoArray = ^TDBLiteralInfoArray;
  3866.   TDBLiteralInfoArray = array[0..MAXBOUND] of TDBLiteralInfo;
  3867.  
  3868.   PDBColumnDesc = ^TDBColumnDesc;
  3869.   DBCOLUMNDESC = packed record
  3870.     pwszTypeName: PWideChar;
  3871.     pTypeInfo: ITypeInfo;
  3872.     rgPropertySets: ^DBPROPSET;
  3873.     pclsid: ^TGUID;
  3874.     cPropertySets: UINT;
  3875.     ulColumnSize: UINT;
  3876.     dbcid: DBID;
  3877.     wType: DBTYPE;
  3878.     bPrecision: Byte;
  3879.     bScale: Byte;
  3880.   end;
  3881.   TDBColumnDesc = DBCOLUMNDESC;
  3882.   {$EXTERNALSYM DBCOLUMNDESC}
  3883.  
  3884.   PDBColumnDescArray = ^TDBColumnDescArray;
  3885.   TDBColumnDescArray = array[0..MAXBOUND] of TDBColumnDesc;
  3886.  
  3887.   PSecObjectElement = ^TSecObjectElement;
  3888.   SEC_OBJECT_ELEMENT = packed record
  3889.     guidObjectType: TGUID;
  3890.     ObjectID: DBID;
  3891.   end;
  3892.   TSecObjectElement = SEC_OBJECT_ELEMENT;
  3893.   {$EXTERNALSYM SEC_OBJECT_ELEMENT}
  3894.  
  3895.   PSecObjectElementArray = ^TSecObjectElementArray;
  3896.   TSecObjectElementArray = array[0..MAXBOUND] of TSecObjectElement;
  3897.  
  3898.   PSecObject = ^TSecObject;
  3899.   SEC_OBJECT = packed record
  3900.     cObjects: UINT;
  3901.     prgObjects: PSecObjectElementArray;
  3902.   end;
  3903.   TSecObject = SEC_OBJECT;
  3904.   {$EXTERNALSYM SEC_OBJECT}
  3905.  
  3906.   PPTrusteeW = ^PTrusteeW;
  3907.   PTrusteeW = ^TTrusteeW;
  3908.   TRUSTEE_W = packed record
  3909.     pMultipleTrustee: PTrusteeW;
  3910.     MultipleTrusteeOperation: MULTIPLE_TRUSTEE_OPERATION;
  3911.     TrusteeForm: TRUSTEE_FORM;
  3912.     TrusteeType: TRUSTEE_TYPE;
  3913.     ptstrName: PWideChar;
  3914.   end;
  3915.   TTrusteeW = ^TRUSTEE_W;
  3916.   {$EXTERNALSYM TRUSTEE_W}
  3917.  
  3918.   PDBParamInfo = ^TDBParamInfo;
  3919.   DBPARAMINFO = packed record
  3920.     dwFlags: DBPARAMFLAGS;
  3921.     iOrdinal: UINT;
  3922.     pwszName: PWideChar;
  3923.     pTypeInfo: ITypeInfo;
  3924.     ulParamSize: UINT;
  3925.     wType: DBTYPE;
  3926.     bPrecision: Byte;
  3927.     bScale: Byte;
  3928.   end;
  3929.   TDBParamInfo = DBPARAMINFO;
  3930.   {$EXTERNALSYM DBPARAMINFO}
  3931.  
  3932.   PDBParamInfoArray = ^TDBParamInfoArray;
  3933.   TDBParamInfoArray = array[0..MAXBOUND] of DBPARAMINFO;
  3934.  
  3935.   PDBNumeric = ^TDBNumeric;
  3936.   DB_NUMERIC = packed record
  3937.     precision: Byte;
  3938.     scale: Byte;
  3939.     sign: Byte;
  3940.     val: array[0..15] of Byte;
  3941.   end;
  3942.   TDBNumeric = DB_NUMERIC;
  3943.   {$EXTERNALSYM DB_NUMERIC}
  3944.  
  3945.   PDBVector = ^TDBVector;
  3946.   DBVECTOR = packed record
  3947.     size: UINT;
  3948.     ptr: Pointer;
  3949.   end;
  3950.   TDBVector = DBVECTOR;
  3951.   {$EXTERNALSYM DBVECTOR}
  3952.  
  3953.   PDBDate = ^TDBDate;
  3954.   DBDATE = packed record
  3955.     year: Smallint;
  3956.     month: Word;
  3957.     day: Word;
  3958.   end;
  3959.   TDBDate = DBDATE;
  3960.   {$EXTERNALSYM DBDATE}
  3961.  
  3962.   PDBTime = ^TDBTime;
  3963.   DBTIME = packed record
  3964.     hour: Word;
  3965.     minute: Word;
  3966.     second: Word;
  3967.   end;
  3968.   TDBTime = DBTIME;
  3969.   {$EXTERNALSYM DBTIME}
  3970.  
  3971.   PDBTimeStamp = ^TDBTimeStamp;
  3972.   DBTIMESTAMP = packed record
  3973.     year: Smallint;
  3974.     month: Word;
  3975.     day: Word;
  3976.     hour: Word;
  3977.     minute: Word;
  3978.     second: Word;
  3979.     fraction: UINT;
  3980.   end;
  3981.   TDBTimeStamp = DBTIMESTAMP;
  3982.   {$EXTERNALSYM DBTIMESTAMP}
  3983.  
  3984.   PDBFileTime = ^TDBFileTime;
  3985.   DBFILETIME = packed record
  3986.     dwLowDateTime: UINT;
  3987.     dwHighDateTime: UINT;
  3988.   end;
  3989.   TDBFileTime = DBFILETIME;
  3990.   {$EXTERNALSYM DBFILETIME}
  3991.  
  3992.   PDBVarNumeric = ^TDBVarNumeric;
  3993.   DB_VARNUMERIC = packed record
  3994.     precision: Byte;
  3995.     scale: SBYTE;
  3996.     sign: Byte;
  3997.     val: ^Byte;
  3998.   end;
  3999.   TDBVarNumeric = DB_VARNUMERIC;
  4000.   {$EXTERNALSYM DB_VARNUMERIC}
  4001.  
  4002.   PDBFailureInfo = ^TDBFailureInfo;
  4003.   DBFAILUREINFO = packed record
  4004.     HROW: HROW;
  4005.     iColumn: UINT;
  4006.     failure: HResult;
  4007.   end;
  4008.   TDBFailureInfo = DBFAILUREINFO;
  4009.   {$EXTERNALSYM DBFAILUREINFO}
  4010.  
  4011.   PMDAxisInfo = ^TMDAxisInfo;
  4012.   MDAXISINFO = packed record
  4013.     cbSize: UINT;
  4014.     iAxis: UINT;
  4015.     cDimensions: UINT;
  4016.     cCoordinates: UINT;
  4017.     rgcColumns: ^UINT;
  4018.     rgpwszDimensionNames: ^PWideChar;
  4019.   end;
  4020.   TMDAxisInfo = MDAXISINFO;
  4021.   {$EXTERNALSYM MDAXISINFO}
  4022.  
  4023.   PDBParamBindInfo = ^TDBParamBindInfo;
  4024.   DBPARAMBINDINFO = packed record
  4025.     pwszDataSourceType: PWideChar;
  4026.     pwszName: PWideChar;
  4027.     ulParamSize: UINT;
  4028.     dwFlags: DBPARAMFLAGS;
  4029.     bPrecision: Byte;
  4030.     bScale: Byte;
  4031.   end;
  4032.   TDBParamBindInfo = DBPARAMBINDINFO;
  4033.   {$EXTERNALSYM DBPARAMBINDINFO}
  4034.  
  4035.   PDBParamBindInfoArray = ^TDBParamBindInfoArray;
  4036.   TDBParamBindInfoArray = array[0..MAXBOUND] of TDBParamBindInfo;
  4037.  
  4038.   PErrorInfo = ^TErrorInfo;
  4039.   ERRORINFO = packed record
  4040.     hrError: HResult;
  4041.     dwMinor: UINT;
  4042.     clsid: TGUID;
  4043.     iid: TGUID;
  4044.     dispid: Integer;
  4045.   end;
  4046.   TErrorInfo = ERRORINFO;
  4047.   {$EXTERNALSYM ERRORINFO}
  4048.  
  4049.   PPExplicitAccessW = ^PExplicitAccessW;
  4050.   PExplicitAccessW = ^TExplicitAccessW;
  4051.   EXPLICIT_ACCESS_W = packed record
  4052.     grfAccessPermissions: UINT;
  4053.     grfAccessMode: ACCESS_MODE;
  4054.     grfInheritance: UINT;
  4055.     Trustee: TRUSTEE_W;
  4056.   end;
  4057.   TExplicitAccessW = EXPLICIT_ACCESS_W;
  4058.   {$EXTERNALSYM EXPLICIT_ACCESS_W}
  4059.  
  4060. // *********************************************************************//
  4061. //  DBID Values
  4062. // *********************************************************************//
  4063. const
  4064.   DB_NULLID: DBID = (uguid: (guid: (D1: 0; D2: 0; D3:0; D4: (0, 0, 0, 0, 0, 0, 0, 0))); ekind: DBKIND_GUID_PROPID; uname: (ulpropid:0));
  4065.   {$EXTERNALSYM DB_NULLID}
  4066.   DBCOLUMN_IDNAME: DBID = (uguid: (guid: (D1: $0C733A81; D2: $2A1C; D3:$11CE; D4: ($AD,$E5,$00,$AA,$00,$44,$77,$3D))); ekind: DBKIND_GUID_PROPID; uname: (ulpropid: 2));
  4067.   {$EXTERNALSYM DBCOLUMN_IDNAME}
  4068.   DBCOLUMN_NAME: DBID = (uguid: (guid: (D1: $0C733A81; D2: $2A1C; D3:$11CE; D4: ($AD,$E5,$00,$AA,$00,$44,$77,$3D))); ekind: DBKIND_GUID_PROPID; uname: (ulpropid: 3));
  4069.   {$EXTERNALSYM DBCOLUMN_NAME}
  4070.   DBCOLUMN_NUMBER: DBID = (uguid: (guid: (D1: $0C733A81; D2: $2A1C; D3:$11CE; D4: ($AD,$E5,$00,$AA,$00,$44,$77,$3D))); ekind: DBKIND_GUID_PROPID; uname: (ulpropid: 4));
  4071.   {$EXTERNALSYM DBCOLUMN_NUMBER}
  4072.   DBCOLUMN_TYPE: DBID = (uguid: (guid: (D1: $0C733A81; D2: $2A1C; D3:$11CE; D4: ($AD,$E5,$00,$AA,$00,$44,$77,$3D))); ekind: DBKIND_GUID_PROPID; uname: (ulpropid: 5));
  4073.   {$EXTERNALSYM DBCOLUMN_TYPE}
  4074.   DBCOLUMN_PRECISION: DBID = (uguid: (guid: (D1: $0C733A81; D2: $2A1C; D3:$11CE; D4: ($AD,$E5,$00,$AA,$00,$44,$77,$3D))); ekind: DBKIND_GUID_PROPID; uname: (ulpropid: 7));
  4075.   {$EXTERNALSYM DBCOLUMN_PRECISION}
  4076.   DBCOLUMN_SCALE: DBID = (uguid: (guid: (D1: $0C733A81; D2: $2A1C; D3:$11CE; D4: ($AD,$E5,$00,$AA,$00,$44,$77,$3D))); ekind: DBKIND_GUID_PROPID; uname: (ulpropid: 8));
  4077.   {$EXTERNALSYM DBCOLUMN_SCALE}
  4078.   DBCOLUMN_FLAGS: DBID = (uguid: (guid: (D1: $0C733A81; D2: $2A1C; D3:$11CE; D4: ($AD,$E5,$00,$AA,$00,$44,$77,$3D))); ekind: DBKIND_GUID_PROPID; uname: (ulpropid: 9));
  4079.   {$EXTERNALSYM DBCOLUMN_FLAGS}
  4080.   DBCOLUMN_BASECOLUMNNAME: DBID = (uguid: (guid: (D1: $0C733A81; D2: $2A1C; D3:$11CE; D4: ($AD,$E5,$00,$AA,$00,$44,$77,$3D))); ekind: DBKIND_GUID_PROPID; uname: (ulpropid: 10));
  4081.   {$EXTERNALSYM DBCOLUMN_BASECOLUMNNAME}
  4082.   DBCOLUMN_BASETABLENAME: DBID = (uguid: (guid: (D1: $0C733A81; D2: $2A1C; D3:$11CE; D4: ($AD,$E5,$00,$AA,$00,$44,$77,$3D))); ekind: DBKIND_GUID_PROPID; uname: (ulpropid: 11));
  4083.   {$EXTERNALSYM DBCOLUMN_BASETABLENAME}
  4084.   DBCOLUMN_COLLATINGSEQUENCE: DBID = (uguid: (guid: (D1: $0C733A81; D2: $2A1C; D3:$11CE; D4: ($AD,$E5,$00,$AA,$00,$44,$77,$3D))); ekind: DBKIND_GUID_PROPID; uname: (ulpropid: 12));
  4085.   {$EXTERNALSYM DBCOLUMN_COLLATINGSEQUENCE}
  4086.   DBCOLUMN_COMPUTEMODE: DBID = (uguid: (guid: (D1: $0C733A81; D2: $2A1C; D3:$11CE; D4: ($AD,$E5,$00,$AA,$00,$44,$77,$3D))); ekind: DBKIND_GUID_PROPID; uname: (ulpropid: 13));
  4087.   {$EXTERNALSYM DBCOLUMN_COMPUTEMODE}
  4088.   DBCOLUMN_DEFAULTVALUE: DBID = (uguid: (guid: (D1: $0C733A81; D2: $2A1C; D3:$11CE; D4: ($AD,$E5,$00,$AA,$00,$44,$77,$3D))); ekind: DBKIND_GUID_PROPID; uname: (ulpropid: 14));
  4089.   {$EXTERNALSYM DBCOLUMN_DEFAULTVALUE}
  4090.   DBCOLUMN_DOMAINNAME: DBID = (uguid: (guid: (D1: $0C733A81; D2: $2A1C; D3:$11CE; D4: ($AD,$E5,$00,$AA,$00,$44,$77,$3D))); ekind: DBKIND_GUID_PROPID; uname: (ulpropid: 15));
  4091.   {$EXTERNALSYM DBCOLUMN_DOMAINNAME}
  4092.   DBCOLUMN_HASDEFAULT: DBID = (uguid: (guid: (D1: $0C733A81; D2: $2A1C; D3:$11CE; D4: ($AD,$E5,$00,$AA,$00,$44,$77,$3D))); ekind: DBKIND_GUID_PROPID; uname: (ulpropid: 16));
  4093.   {$EXTERNALSYM DBCOLUMN_HASDEFAULT}
  4094.   DBCOLUMN_ISAUTOINCREMENT: DBID = (uguid: (guid: (D1: $0C733A81; D2: $2A1C; D3:$11CE; D4: ($AD,$E5,$00,$AA,$00,$44,$77,$3D))); ekind: DBKIND_GUID_PROPID; uname: (ulpropid: 17));
  4095.   {$EXTERNALSYM DBCOLUMN_ISAUTOINCREMENT}
  4096.   DBCOLUMN_ISCASESENSITIVE: DBID = (uguid: (guid: (D1: $0C733A81; D2: $2A1C; D3:$11CE; D4: ($AD,$E5,$00,$AA,$00,$44,$77,$3D))); ekind: DBKIND_GUID_PROPID; uname: (ulpropid: 18));
  4097.   {$EXTERNALSYM DBCOLUMN_ISCASESENSITIVE}
  4098.   DBCOLUMN_ISSEARCHABLE: DBID = (uguid: (guid: (D1: $0C733A81; D2: $2A1C; D3:$11CE; D4: ($AD,$E5,$00,$AA,$00,$44,$77,$3D))); ekind: DBKIND_GUID_PROPID; uname: (ulpropid: 20));
  4099.   {$EXTERNALSYM DBCOLUMN_ISSEARCHABLE}
  4100.   DBCOLUMN_ISUNIQUE: DBID = (uguid: (guid: (D1: $0C733A81; D2: $2A1C; D3:$11CE; D4: ($AD,$E5,$00,$AA,$00,$44,$77,$3D))); ekind: DBKIND_GUID_PROPID; uname: (ulpropid: 21));
  4101.   {$EXTERNALSYM DBCOLUMN_ISUNIQUE}
  4102.   DBCOLUMN_BASECATALOGNAME: DBID = (uguid: (guid: (D1: $0C733A81; D2: $2A1C; D3:$11CE; D4: ($AD,$E5,$00,$AA,$00,$44,$77,$3D))); ekind: DBKIND_GUID_PROPID; uname: (ulpropid: 223));
  4103.   {$EXTERNALSYM DBCOLUMN_BASECATALOGNAME}
  4104.   DBCOLUMN_BASESCHEMANAME: DBID = (uguid: (guid: (D1: $0C733A81; D2: $2A1C; D3:$11CE; D4: ($AD,$E5,$00,$AA,$00,$44,$77,$3D))); ekind: DBKIND_GUID_PROPID; uname: (ulpropid: 24));
  4105.   {$EXTERNALSYM DBCOLUMN_BASESCHEMANAME}
  4106.   DBCOLUMN_GUID: DBID = (uguid: (guid: (D1: $0C733A81; D2: $2A1C; D3:$11CE; D4: ($AD,$E5,$00,$AA,$00,$44,$77,$3D))); ekind: DBKIND_GUID_PROPID; uname: (ulpropid: 29));
  4107.   {$EXTERNALSYM DBCOLUMN_GUID}
  4108.   DBCOLUMN_PROPID: DBID = (uguid: (guid: (D1: $0C733A81; D2: $2A1C; D3:$11CE; D4: ($AD,$E5,$00,$AA,$00,$44,$77,$3D))); ekind: DBKIND_GUID_PROPID; uname: (ulpropid: 30));
  4109.   {$EXTERNALSYM DBCOLUMN_PROPID}
  4110.   DBCOLUMN_TYPEINFO: DBID = (uguid: (guid: (D1: $0C733A81; D2: $2A1C; D3:$11CE; D4: ($AD,$E5,$00,$AA,$00,$44,$77,$3D))); ekind: DBKIND_GUID_PROPID; uname: (ulpropid: 31));
  4111.   {$EXTERNALSYM DBCOLUMN_TYPEINFO}
  4112.   DBCOLUMN_DOMAINCATALOG: DBID = (uguid: (guid: (D1: $0C733A81; D2: $2A1C; D3:$11CE; D4: ($AD,$E5,$00,$AA,$00,$44,$77,$3D))); ekind: DBKIND_GUID_PROPID; uname: (ulpropid: 32));
  4113.   {$EXTERNALSYM DBCOLUMN_DOMAINCATALOG}
  4114.   DBCOLUMN_DOMAINSCHEMA: DBID = (uguid: (guid: (D1: $0C733A81; D2: $2A1C; D3:$11CE; D4: ($AD,$E5,$00,$AA,$00,$44,$77,$3D))); ekind: DBKIND_GUID_PROPID; uname: (ulpropid: 33));
  4115.   {$EXTERNALSYM DBCOLUMN_DOMAINSCHEMA}
  4116.   DBCOLUMN_DATETIMEPRECISION: DBID = (uguid: (guid: (D1: $0C733A81; D2: $2A1C; D3:$11CE; D4: ($AD,$E5,$00,$AA,$00,$44,$77,$3D))); ekind: DBKIND_GUID_PROPID; uname: (ulpropid: 34));
  4117.   {$EXTERNALSYM DBCOLUMN_DATETIMEPRECISION}
  4118.   DBCOLUMN_NUMERICPRECISIONRADIX: DBID = (uguid: (guid: (D1: $0C733A81; D2: $2A1C; D3:$11CE; D4: ($AD,$E5,$00,$AA,$00,$44,$77,$3D))); ekind: DBKIND_GUID_PROPID; uname: (ulpropid: 35));
  4119.   {$EXTERNALSYM DBCOLUMN_NUMERICPRECISIONRADIX}
  4120.   DBCOLUMN_OCTETLENGTH: DBID = (uguid: (guid: (D1: $0C733A81; D2: $2A1C; D3:$11CE; D4: ($AD,$E5,$00,$AA,$00,$44,$77,$3D))); ekind: DBKIND_GUID_PROPID; uname: (ulpropid: 36));
  4121.   {$EXTERNALSYM DBCOLUMN_OCTETLENGTH}
  4122.   DBCOLUMN_COLUMNSIZE: DBID = (uguid: (guid: (D1: $0C733A81; D2: $2A1C; D3:$11CE; D4: ($AD,$E5,$00,$AA,$00,$44,$77,$3D))); ekind: DBKIND_GUID_PROPID; uname: (ulpropid: 37));
  4123.   {$EXTERNALSYM DBCOLUMN_COLUMNSIZE}
  4124.   DBCOLUMN_CLSID: DBID = (uguid: (guid: (D1: $0C733A81; D2: $2A1C; D3:$11CE; D4: ($AD,$E5,$00,$AA,$00,$44,$77,$3D))); ekind: DBKIND_GUID_PROPID; uname: (ulpropid: 38));
  4125.   {$EXTERNALSYM DBCOLUMN_CLSID}
  4126.   DBCOLUMN_BASETABLEVERSION: DBID = (uguid: (guid: (D1: $0C733A81; D2: $2A1C; D3:$11CE; D4: ($AD,$E5,$00,$AA,$00,$44,$77,$3D))); ekind: DBKIND_GUID_PROPID; uname: (ulpropid: 40));
  4127.   {$EXTERNALSYM DBCOLUMN_BASETABLEVERSION}
  4128.   DBCOLUMN_KEYCOLUMN: DBID = (uguid: (guid: (D1: $0C733A81; D2: $2A1C; D3:$11CE; D4: ($AD,$E5,$00,$AA,$00,$44,$77,$3D))); ekind: DBKIND_GUID_PROPID; uname: (ulpropid: 41));
  4129.   {$EXTERNALSYM DBCOLUMN_KEYCOLUMN}
  4130.   DBCOLUMN_MAYSORT: DBID = (uguid: (guid: (D1: $0C733A81; D2: $2A1C; D3:$11CE; D4: ($AD,$E5,$00,$AA,$00,$44,$77,$3D))); ekind: DBKIND_GUID_PROPID; uname: (ulpropid: 39));
  4131.   {$EXTERNALSYM DBCOLUMN_MAYSORT}
  4132.  
  4133. type
  4134.  
  4135. // *********************************************************************//
  4136. // Interface: ITransaction
  4137. // GUID:      {0FB15084-AF41-11CE-BD2B-204C4F4F5020}
  4138. // *********************************************************************//
  4139.   ITransaction = interface(IUnknown)
  4140.     ['{0FB15084-AF41-11CE-BD2B-204C4F4F5020}']
  4141.     function Commit(fRetaining: BOOL; grfTC: UINT; grfRM: UINT): HResult; stdcall;
  4142.     function Abort(pboidReason: PBOID; fRetaining: BOOL; fAsync: BOOL): HResult; stdcall;
  4143.     function GetTransactionInfo(out pinfo: XACTTRANSINFO): HResult; stdcall;
  4144.   end;
  4145.  
  4146.   { Safecall Version }
  4147.   ITransactionSC = interface(IUnknown)
  4148.     ['{0FB15084-AF41-11CE-BD2B-204C4F4F5020}']
  4149.     procedure Commit(fRetaining: BOOL; grfTC: UINT; grfRM: UINT); safecall;
  4150.     procedure Abort(pboidReason: PBOID; fRetaining: BOOL; fAsync: BOOL); safecall;
  4151.     procedure GetTransactionInfo(out pinfo: XACTTRANSINFO); safecall;
  4152.   end;
  4153.   {$EXTERNALSYM ITransaction}
  4154.  
  4155. // *********************************************************************//
  4156. // Interface: ITransactionOptions
  4157. // GUID:      {3A6AD9E0-23B9-11CF-AD60-00AA00A74CCD}
  4158. // *********************************************************************//
  4159.   ITransactionOptions = interface(IUnknown)
  4160.     ['{3A6AD9E0-23B9-11CF-AD60-00AA00A74CCD}']
  4161.     function SetOptions(var pOptions: XACTOPT): HResult; stdcall;
  4162.     function GetOptions(var pOptions: XACTOPT): HResult; stdcall;
  4163.   end;
  4164.  
  4165.   { Safecall Version }
  4166.   ITransactionOptionsSC = interface(IUnknown)
  4167.     ['{3A6AD9E0-23B9-11CF-AD60-00AA00A74CCD}']
  4168.     procedure SetOptions(var pOptions: XACTOPT); safecall;
  4169.     procedure GetOptions(var pOptions: XACTOPT); safecall;
  4170.   end;
  4171.   {$EXTERNALSYM ITransactionOptions}
  4172.  
  4173. // *********************************************************************//
  4174. // Interface: ITransactionDispenser
  4175. // GUID:      {3A6AD9E1-23B9-11CF-AD60-00AA00A74CCD}
  4176. // *********************************************************************//
  4177.   ITransactionDispenser = interface(IUnknown)
  4178.     ['{3A6AD9E1-23B9-11CF-AD60-00AA00A74CCD}']
  4179.     function GetOptionsObject(out ppOptions: ITransactionOptions): HResult; stdcall;
  4180.     function BeginTransaction(const punkOuter: IUnknown; isoLevel: Integer; isoFlags: UINT;
  4181.       const pOptions: ITransactionOptions; out ppTransaction: ITransaction): HResult; stdcall;
  4182.   end;
  4183.  
  4184.   { Safecall Version }
  4185.   ITransactionDispenserSC = interface(IUnknown)
  4186.     ['{3A6AD9E1-23B9-11CF-AD60-00AA00A74CCD}']
  4187.     procedure GetOptionsObject(out ppOptions: ITransactionOptions); safecall;
  4188.     procedure BeginTransaction(const punkOuter: IUnknown; isoLevel: Integer; isoFlags: UINT;
  4189.       const pOptions: ITransactionOptions; out ppTransaction: ITransaction); safecall;
  4190.   end;
  4191.   {$EXTERNALSYM ITransactionDispenser}
  4192.  
  4193. // *********************************************************************//
  4194. // Interface: ITransactionOutcomeEvents
  4195. // GUID:      {3A6AD9E2-23B9-11CF-AD60-00AA00A74CCD}
  4196. // *********************************************************************//
  4197.   ITransactionOutcomeEvents = interface(IUnknown)
  4198.     ['{3A6AD9E2-23B9-11CF-AD60-00AA00A74CCD}']
  4199.     function Committed(fRetaining: BOOL; pNewUOW: PBOID; hr: HResult): HResult; stdcall;
  4200.     function Aborted(pboidReason: PBOID; fRetaining: BOOL; pNewUOW: PBOID;
  4201.       hr: HResult): HResult; stdcall;
  4202.     function HeuristicDecision(dwDecision: UINT; pboidReason: PBOID;
  4203.       hr: HResult): HResult; stdcall;
  4204.     function Indoubt: HResult; stdcall;
  4205.   end;
  4206.  
  4207.   { Safecall Version }
  4208.   ITransactionOutcomeEventsSC = interface(IUnknown)
  4209.     ['{3A6AD9E2-23B9-11CF-AD60-00AA00A74CCD}']
  4210.     procedure Committed(fRetaining: BOOL; pNewUOW: PBOID; hr: HResult); safecall;
  4211.     procedure Aborted(pboidReason: PBOID; fRetaining: BOOL; pNewUOW: PBOID;
  4212.       hr: HResult); safecall;
  4213.     procedure HeuristicDecision(dwDecision: UINT; pboidReason: PBOID;
  4214.       hr: HResult); safecall;
  4215.     function Indoubt: HResult; stdcall;
  4216.   end;
  4217.   {$EXTERNALSYM ITransactionOutcomeEvents}
  4218.  
  4219. // *********************************************************************//
  4220. // Interface: IAccessor
  4221. // GUID:      {0C733A8C-2A1C-11CE-ADE5-00AA0044773D}
  4222. // *********************************************************************//
  4223.   IAccessor = interface(IUnknown)
  4224.     ['{0C733A8C-2A1C-11CE-ADE5-00AA0044773D}']
  4225.     function AddRefAccessor(HACCESSOR: HACCESSOR; pcRefCount: PUINT): HResult; stdcall;
  4226.     function CreateAccessor(dwAccessorFlags: UINT; cBindings: UINT; rgBindings: PDBBindingArray;
  4227.       cbRowSize: UINT; var phAccessor: HACCESSOR; rgStatus: PUintArray): HResult; stdcall;
  4228.     function GetBindings(HACCESSOR: HACCESSOR; pdwAccessorFlags: PUINT; var pcBindings: UINT;
  4229.       out prgBindings: PDBBinding): HResult; stdcall;
  4230.     function ReleaseAccessor(HACCESSOR: HACCESSOR; pcRefCount: PUINT): HResult; stdcall;
  4231.   end;
  4232.  
  4233.   { Safecall Version }
  4234.   IAccessorSC = interface(IUnknown)
  4235.     ['{0C733A8C-2A1C-11CE-ADE5-00AA0044773D}']
  4236.     procedure AddRefAccessor(HACCESSOR: HACCESSOR; pcRefCount: PUINT); safecall;
  4237.     procedure CreateAccessor(dwAccessorFlags: UINT; cBindings: UINT; rgBindings: PDBBindingArray;
  4238.       cbRowSize: UINT; var phAccessor: HACCESSOR; rgStatus: PUintArray); safecall;
  4239.     procedure GetBindings(HACCESSOR: HACCESSOR; pdwAccessorFlags: PUINT; var pcBindings: UINT;
  4240.       out prgBindings: PDBBinding); safecall;
  4241.     procedure ReleaseAccessor(HACCESSOR: HACCESSOR; pcRefCount: PUINT); safecall;
  4242.   end;
  4243.   {$EXTERNALSYM IAccessor}
  4244.  
  4245. // *********************************************************************//
  4246. // Interface: IRowset
  4247. // GUID:      {0C733A7C-2A1C-11CE-ADE5-00AA0044773D}
  4248. // *********************************************************************//
  4249.   IRowset = interface(IUnknown)
  4250.     ['{0C733A7C-2A1C-11CE-ADE5-00AA0044773D}']
  4251.     function AddRefRows(cRows: UINT; rghRows: PUintArray; rgRefCounts: PUintArray;
  4252.       rgRowStatus: PUintArray): HResult; stdcall;
  4253.     function GetData(HROW: HROW; HACCESSOR: HACCESSOR; pData: Pointer): HResult; stdcall;
  4254.     function GetNextRows(hReserved: HCHAPTER; lRowsOffset: Integer; cRows: Integer;
  4255.       out pcRowsObtained: UINT; var prghRows: PUintArray): HResult; stdcall;
  4256.     function ReleaseRows(cRows: UINT; rghRows: PUintArray; rgRowOptions,
  4257.       rgRefCounts, rgRowStatus: PUintArray): HResult; stdcall;
  4258.     function RestartPosition(hReserved: HCHAPTER): HResult; stdcall;
  4259.   end;
  4260.  
  4261.   { Safecall Version }
  4262.   IRowsetSC = interface(IUnknown)
  4263.     ['{0C733A7C-2A1C-11CE-ADE5-00AA0044773D}']
  4264.     procedure AddRefRows(cRows: UINT; rghRows: PUintArray; rgRefCounts: PUintArray;
  4265.       rgRowStatus: PUintArray); safecall;
  4266.     procedure GetData(HROW: HROW; HACCESSOR: HACCESSOR; pData: Pointer); safecall;
  4267.     procedure GetNextRows(hReserved: HCHAPTER; lRowsOffset: Integer; cRows: Integer;
  4268.       out pcRowsObtained: UINT; var prghRows: PUintArray); safecall;
  4269.     procedure ReleaseRows(cRows: UINT; rghRows: PUintArray; rgRowOptions,
  4270.       rgRefCounts, rgRowStatus: PUintArray); safecall;
  4271.     procedure RestartPosition(hReserved: HCHAPTER); safecall;
  4272.   end;
  4273.   {$EXTERNALSYM IRowset}
  4274.  
  4275. // *********************************************************************//
  4276. // Interface: IRowsetInfo
  4277. // GUID:      {0C733A55-2A1C-11CE-ADE5-00AA0044773D}
  4278. // *********************************************************************//
  4279.   IRowsetInfo = interface(IUnknown)
  4280.     ['{0C733A55-2A1C-11CE-ADE5-00AA0044773D}']
  4281.     function GetProperties(cPropertyIDSets: UINT; rgPropertyIDSets: PDBPropIDSetArray;
  4282.       out pcPropertySets: UINT; out prgPropertySets: PDBPropSet): HResult; stdcall;
  4283.     function GetReferencedRowset(iOrdinal: UINT; const riid: TGUID;
  4284.       out ppReferencedRowset: IUnknown): HResult; stdcall;
  4285.     function GetSpecification(const riid: TGUID; out ppSpecification: IUnknown): HResult; stdcall;
  4286.   end;
  4287.  
  4288.   { Safecall Version }
  4289.   IRowsetInfoSC = interface(IUnknown)
  4290.     ['{0C733A55-2A1C-11CE-ADE5-00AA0044773D}']
  4291.     procedure GetProperties(cPropertyIDSets: UINT; rgPropertyIDSets: PDBPropIDSetArray;
  4292.       out pcPropertySets: UINT; out prgPropertySets: PDBPropSet); safecall;
  4293.     procedure GetReferencedRowset(iOrdinal: UINT; const riid: TGUID;
  4294.       out ppReferencedRowset: IUnknown); safecall;
  4295.     procedure GetSpecification(const riid: TGUID; out ppSpecification: IUnknown); safecall;
  4296.   end;
  4297.   {$EXTERNALSYM IRowsetInfo}
  4298.  
  4299. // *********************************************************************//
  4300. // Interface: IRowsetLocate
  4301. // GUID:      {0C733A7D-2A1C-11CE-ADE5-00AA0044773D}
  4302. // *********************************************************************//
  4303.   IRowsetLocate = interface(IRowset)
  4304.     ['{0C733A7D-2A1C-11CE-ADE5-00AA0044773D}']
  4305.     function Compare(hReserved: HCHAPTER; cbBookmark1: UINT; pBookmark1: PByte;
  4306.       cbBookmark2: UINT; pBookmark2: PByte; out pComparison: UINT): HResult; stdcall;
  4307.     function GetRowsAt(hReserved1: HWATCHREGION; hReserved2: HCHAPTER; cbBookmark: UINT;
  4308.       pBookmark: PByte; lRowsOffset: Integer; cRows: Integer;
  4309.       out pcRowsObtained: UINT; out prghRows: PHROW): HResult; stdcall;
  4310.     function GetRowsByBookmark(hReserved: HCHAPTER; cRows: UINT; rgcbBookmarks: PUintArray;
  4311.       rgpBookmarks: PPByteArray; rghRows, rgRowStatus: PUintArray): HResult; stdcall;
  4312.     function Hash(hReserved: HCHAPTER; cBookmarks: UINT; rgcbBookmarks: PUintArray;
  4313.       rgpBookmarks: PPByteArray; rgHashedValues,
  4314.         rgBookmarkStatus: PUintArray): HResult; stdcall;
  4315.   end;
  4316.  
  4317.   { Safecall Version }
  4318.   IRowsetLocateSC = interface(IRowset)
  4319.     ['{0C733A7D-2A1C-11CE-ADE5-00AA0044773D}']
  4320.     procedure Compare(hReserved: HCHAPTER; cbBookmark1: UINT; pBookmark1: PByte;
  4321.       cbBookmark2: UINT; pBookmark2: PByte; out pComparison: UINT); safecall;
  4322.     procedure GetRowsAt(hReserved1: HWATCHREGION; hReserved2: HCHAPTER; cbBookmark: UINT;
  4323.       pBookmark: PByte; lRowsOffset: Integer; cRows: Integer;
  4324.       out pcRowsObtained: UINT; out prghRows: PHROW); safecall;
  4325.     procedure GetRowsByBookmark(hReserved: HCHAPTER; cRows: UINT; rgcbBookmarks: PUintArray;
  4326.       rgpBookmarks: PPByteArray; rghRows, rgRowStatus: PUintArray); safecall;
  4327.     procedure Hash(hReserved: HCHAPTER; cBookmarks: UINT; rgcbBookmarks: PUintArray;
  4328.       rgpBookmarks: PPByteArray; rgHashedValues,
  4329.         rgBookmarkStatus: PUintArray); safecall;
  4330.   end;
  4331.   {$EXTERNALSYM IRowsetLocate}
  4332.  
  4333. // *********************************************************************//
  4334. // Interface: IRowsetResynch
  4335. // GUID:      {0C733A84-2A1C-11CE-ADE5-00AA0044773D}
  4336. // *********************************************************************//
  4337.   IRowsetResynch = interface(IUnknown)
  4338.     ['{0C733A84-2A1C-11CE-ADE5-00AA0044773D}']
  4339.     function GetVisibleData(HROW: HROW; HACCESSOR: HACCESSOR;
  4340.       out pData: Pointer): HResult; stdcall;
  4341.     function ResynchRows(cRows: UINT; rghRows: PUintArray; pcRowsResynched: PUINT;
  4342.       out prghRowsResynched: PHROW; prgRowStatus: PPDBROWSTATUS): HResult; stdcall;
  4343.   end;
  4344.  
  4345.   { Safecall Version }
  4346.   IRowsetResynchSC = interface(IUnknown)
  4347.     ['{0C733A84-2A1C-11CE-ADE5-00AA0044773D}']
  4348.     procedure GetVisibleData(HROW: HROW; HACCESSOR: HACCESSOR;
  4349.       out pData: Pointer); safecall;
  4350.     procedure ResynchRows(cRows: UINT; rghRows: PUintArray; pcRowsResynched: PUINT;
  4351.       out prghRowsResynched: PHROW; prgRowStatus: PPDBROWSTATUS); safecall;
  4352.   end;
  4353.   {$EXTERNALSYM IRowsetResynch}
  4354.  
  4355. // *********************************************************************//
  4356. // Interface: IRowsetScroll
  4357. // GUID:      {0C733A7E-2A1C-11CE-ADE5-00AA0044773D}
  4358. // *********************************************************************//
  4359.   IRowsetScroll = interface(IRowsetLocate)
  4360.     ['{0C733A7E-2A1C-11CE-ADE5-00AA0044773D}']
  4361.     function GetApproximatePosition(hReserved: HCHAPTER; cbBookmark: UINT; pBookmark: PByte;
  4362.       pulPosition: PUINT; pcRows: PUINT): HResult; stdcall;
  4363.     function GetRowsAtRatio(hReserved1: HWATCHREGION; hReserved2: HCHAPTER; ulNumerator: UINT;
  4364.       ulDenominator: UINT; cRows: Integer; out pcRowsObtained: UINT;
  4365.       var prghRows: PHROW): HResult; stdcall;
  4366.   end;
  4367.  
  4368.   { Safecall Version }
  4369.   IRowsetScrollSC = interface(IRowsetLocate)
  4370.     ['{0C733A7E-2A1C-11CE-ADE5-00AA0044773D}']
  4371.     procedure GetApproximatePosition(hReserved: HCHAPTER; cbBookmark: UINT; pBookmark: PByte;
  4372.       pulPosition: PUINT; pcRows: PUINT); safecall;
  4373.     procedure GetRowsAtRatio(hReserved1: HWATCHREGION; hReserved2: HCHAPTER; ulNumerator: UINT;
  4374.       ulDenominator: UINT; cRows: Integer; out pcRowsObtained: UINT;
  4375.       var prghRows: PHROW); safecall;
  4376.   end;
  4377.   {$EXTERNALSYM IRowsetScroll}
  4378.  
  4379. // *********************************************************************//
  4380. // Interface: IRowsetChange
  4381. // GUID:      {0C733A05-2A1C-11CE-ADE5-00AA0044773D}
  4382. // *********************************************************************//
  4383.   IRowsetChange = interface(IUnknown)
  4384.     ['{0C733A05-2A1C-11CE-ADE5-00AA0044773D}']
  4385.     function DeleteRows(hReserved: HCHAPTER; cRows: UINT; rghRows: PUintArray;
  4386.       rgRowStatus: PUintArray): HResult; stdcall;
  4387.     function SetData(HROW: HROW; HACCESSOR: HACCESSOR; pData: Pointer): HResult; stdcall;
  4388.     function InsertRow(hReserved: HCHAPTER; HACCESSOR: HACCESSOR; pData: Pointer;
  4389.       phRow: PHROW): HResult; stdcall;
  4390.   end;
  4391.  
  4392.   { Safecall Version }
  4393.   IRowsetChangeSC = interface(IUnknown)
  4394.     ['{0C733A05-2A1C-11CE-ADE5-00AA0044773D}']
  4395.     procedure DeleteRows(hReserved: HCHAPTER; cRows: UINT; rghRows: PUintArray;
  4396.       rgRowStatus: PUintArray); safecall;
  4397.     procedure SetData(HROW: HROW; HACCESSOR: HACCESSOR; pData: Pointer); safecall;
  4398.     procedure InsertRow(hReserved: HCHAPTER; HACCESSOR: HACCESSOR; pData: Pointer;
  4399.       phRow: PHROW); safecall;
  4400.   end;
  4401.   {$EXTERNALSYM IRowsetChange}
  4402.  
  4403. // *********************************************************************//
  4404. // Interface: IRowsetUpdate
  4405. // GUID:      {0C733A6D-2A1C-11CE-ADE5-00AA0044773D}
  4406. // *********************************************************************//
  4407.   IRowsetUpdate = interface(IRowsetChange)
  4408.     ['{0C733A6D-2A1C-11CE-ADE5-00AA0044773D}']
  4409.     function GetOriginalData(HROW: HROW; HACCESSOR: HACCESSOR; pData: Pointer): HResult; stdcall;
  4410.     function GetPendingRows(hReserved: HCHAPTER; dwRowStatus: DBPENDINGSTATUS; pcPendingRows: PUINT;
  4411.       prgPendingRows: PPHROW; prgPendingStatus: PPDBPENDINGSTATUS): HResult; stdcall;
  4412.     function GetRowStatus(hReserved: HCHAPTER; cRows: UINT; rghRows: PUintArray;
  4413.       rgPendingStatus: PUintArray): HResult; stdcall;
  4414.     function Undo(hReserved: HCHAPTER; cRows: UINT; rghRows: PUintArray; pcRowsUndone: PUINT;
  4415.       prgRowsUndone: PPHROW; prgRowStatus: PPDBROWSTATUS): HResult; stdcall;
  4416.     function Update(hReserved: HCHAPTER; cRows: UINT; rghRows: PUintArray; pcRows: PUINT;
  4417.       prgRows: PPHROW; prgRowStatus: PPDBROWSTATUS): HResult; stdcall;
  4418.   end;
  4419.  
  4420.   { Safecall Version }
  4421.   IRowsetUpdateSC = interface(IRowsetChange)
  4422.     ['{0C733A6D-2A1C-11CE-ADE5-00AA0044773D}']
  4423.     procedure GetOriginalData(HROW: HROW; HACCESSOR: HACCESSOR; pData: Pointer); safecall;
  4424.     procedure GetPendingRows(hReserved: HCHAPTER; dwRowStatus: DBPENDINGSTATUS; pcPendingRows: PUINT;
  4425.       prgPendingRows: PPHROW; prgPendingStatus: PPDBPENDINGSTATUS); safecall;
  4426.     procedure GetRowStatus(hReserved: HCHAPTER; cRows: UINT; rghRows: PUintArray;
  4427.       rgPendingStatus: PUintArray); safecall;
  4428.     procedure Undo(hReserved: HCHAPTER; cRows: UINT; rghRows: PUintArray; pcRowsUndone: PUINT;
  4429.       prgRowsUndone: PPHROW; prgRowStatus: PPDBROWSTATUS); safecall;
  4430.     procedure Update(hReserved: HCHAPTER; cRows: UINT; rghRows: PUintArray; pcRows: PUINT;
  4431.       prgRows: PPHROW; prgRowStatus: PPDBROWSTATUS); safecall;
  4432.   end;
  4433.   {$EXTERNALSYM IRowsetUpdate}
  4434.  
  4435. // *********************************************************************//
  4436. // Interface: IRowsetIndex
  4437. // GUID:      {0C733A82-2A1C-11CE-ADE5-00AA0044773D}
  4438. // *********************************************************************//
  4439.   IRowsetIndex = interface(IUnknown)
  4440.     ['{0C733A82-2A1C-11CE-ADE5-00AA0044773D}']
  4441.     function GetIndexInfo(var pcKeyColumns: UINT; out prgIndexColumnDesc: PDBINDEXCOLUMNDESC;
  4442.       var pcIndexProperties: UINT; out prgIndexProperties: PDBPropSet): HResult; stdcall;
  4443.     function Seek(HACCESSOR: HACCESSOR; cKeyValues: UINT; pData: Pointer;
  4444.       dwSeekOptions: UINT): HResult; stdcall;
  4445.     function SetRange(HACCESSOR: HACCESSOR; cStartKeyColumns: UINT; pStartData: Pointer;
  4446.       cEndKeyColumns: UINT; pEndData: Pointer; dwRangeOptions: UINT): HResult; stdcall;
  4447.   end;
  4448.  
  4449.   { Safecall Version }
  4450.   IRowsetIndexSC = interface(IUnknown)
  4451.     ['{0C733A82-2A1C-11CE-ADE5-00AA0044773D}']
  4452.     procedure GetIndexInfo(var pcKeyColumns: UINT; out prgIndexColumnDesc: PDBINDEXCOLUMNDESC;
  4453.       var pcIndexProperties: UINT; out prgIndexProperties: PDBPropSet); safecall;
  4454.     procedure Seek(HACCESSOR: HACCESSOR; cKeyValues: UINT; pData: Pointer;
  4455.       dwSeekOptions: UINT); safecall;
  4456.     procedure SetRange(HACCESSOR: HACCESSOR; cStartKeyColumns: UINT; pStartData: Pointer;
  4457.       cEndKeyColumns: UINT; pEndData: Pointer; dwRangeOptions: UINT); safecall;
  4458.   end;
  4459.   {$EXTERNALSYM IRowsetIndex}
  4460.  
  4461. // *********************************************************************//
  4462. // Interface: IMultipleResults
  4463. // GUID:      {0C733A90-2A1C-11CE-ADE5-00AA0044773D}
  4464. // *********************************************************************//
  4465.   IMultipleResults = interface(IUnknown)
  4466.     ['{0C733A90-2A1C-11CE-ADE5-00AA0044773D}']
  4467.     function GetResult(const punkOuter: IUnknown; reserved: Integer; const riid: TGUID;
  4468.       pcRowsAffected: PInteger; ppRowset: PIUnknown): HResult; stdcall;
  4469.   end;
  4470.  
  4471.   { Safecall Version }
  4472.   IMultipleResultsSC = interface(IUnknown)
  4473.     ['{0C733A90-2A1C-11CE-ADE5-00AA0044773D}']
  4474.     procedure GetResult(const punkOuter: IUnknown; reserved: Integer; const riid: TGUID;
  4475.       pcRowsAffected: PInteger; ppRowset: PIUnknown); safecall;
  4476.   end;
  4477.   {$EXTERNALSYM IMultipleResults}
  4478.  
  4479. // *********************************************************************//
  4480. // Interface: IConvertType
  4481. // GUID:      {0C733A88-2A1C-11CE-ADE5-00AA0044773D}
  4482. // *********************************************************************//
  4483.   IConvertType = interface(IUnknown)
  4484.     ['{0C733A88-2A1C-11CE-ADE5-00AA0044773D}']
  4485.     function CanConvert(wFromType: DBTYPE; wToType: DBTYPE;
  4486.       dwConvertFlags: UINT): HResult; stdcall;
  4487.   end;
  4488.  
  4489.   { Safecall Version }
  4490.   IConvertTypeSC = interface(IUnknown)
  4491.     ['{0C733A88-2A1C-11CE-ADE5-00AA0044773D}']
  4492.     procedure CanConvert(wFromType: DBTYPE; wToType: DBTYPE;
  4493.       dwConvertFlags: UINT); safecall;
  4494.   end;
  4495.   {$EXTERNALSYM IConvertType}
  4496.  
  4497. // *********************************************************************//
  4498. // Interface: ICommandPrepare
  4499. // GUID:      {0C733A26-2A1C-11CE-ADE5-00AA0044773D}
  4500. // *********************************************************************//
  4501.   ICommandPrepare = interface(IUnknown)
  4502.     ['{0C733A26-2A1C-11CE-ADE5-00AA0044773D}']
  4503.     function Prepare(cExpectedRuns: UINT): HResult; stdcall;
  4504.     function Unprepare: HResult; stdcall;
  4505.   end;
  4506.  
  4507.   { Safecall Version }
  4508.   ICommandPrepareSC = interface(IUnknown)
  4509.     ['{0C733A26-2A1C-11CE-ADE5-00AA0044773D}']
  4510.     procedure Prepare(cExpectedRuns: UINT); safecall;
  4511.     procedure Unprepare; safecall;
  4512.   end;
  4513.   {$EXTERNALSYM ICommandPrepare}
  4514.  
  4515. // *********************************************************************//
  4516. // Interface: ICommandProperties
  4517. // GUID:      {0C733A79-2A1C-11CE-ADE5-00AA0044773D}
  4518. // *********************************************************************//
  4519.  
  4520.   ICommandProperties = interface(IUnknown)
  4521.     ['{0C733A79-2A1C-11CE-ADE5-00AA0044773D}']
  4522.     function GetProperties(cPropertyIDSets: UINT; rgPropertyIDSets: PDBPropIDSetArray;
  4523.       var pcPropertySets: UINT; out prgPropertySets: PDBPropSet): HResult; stdcall;
  4524.     function SetProperties(cPropertySets: UINT; rgPropertySets: PDBPropSetArray): HResult; stdcall;
  4525.   end;
  4526.  
  4527.   { Safecall Version }
  4528.   ICommandPropertiesSC = interface(IUnknown)
  4529.     ['{0C733A79-2A1C-11CE-ADE5-00AA0044773D}']
  4530.     procedure GetProperties(cPropertyIDSets: UINT; rgPropertyIDSets: PDBPropIDSetArray;
  4531.       var pcPropertySets: UINT; out prgPropertySets: PDBPropSet); safecall;
  4532.     procedure SetProperties(cPropertySets: UINT; rgPropertySets: PDBPropSetArray); safecall;
  4533.   end;
  4534.   {$EXTERNALSYM ICommandProperties}
  4535.  
  4536. // *********************************************************************//
  4537. // Interface: ICommand
  4538. // GUID:      {0C733A63-2A1C-11CE-ADE5-00AA0044773D}
  4539. // *********************************************************************//
  4540.   ICommand = interface(IUnknown)
  4541.     ['{0C733A63-2A1C-11CE-ADE5-00AA0044773D}']
  4542.     function Cancel: HResult; stdcall;
  4543.     function Execute(const punkOuter: IUnknown; const riid: TGUID; var pParams: DBPARAMS;
  4544.       pcRowsAffected: PInteger; ppRowset: PIUnknown): HResult; stdcall;
  4545.     function GetDBSession(const riid: TGUID; out ppSession: IUnknown): HResult; stdcall;
  4546.   end;
  4547.  
  4548.   { Safecall Version }
  4549.   ICommandSC = interface(IUnknown)
  4550.     ['{0C733A63-2A1C-11CE-ADE5-00AA0044773D}']
  4551.     procedure Cancel; safecall;
  4552.     procedure Execute(const punkOuter: IUnknown; const riid: TGUID; var pParams: DBPARAMS;
  4553.       pcRowsAffected: PInteger; ppRowset: PIUnknown); safecall;
  4554.     procedure GetDBSession(const riid: TGUID; out ppSession: IUnknown); safecall;
  4555.   end;
  4556.   {$EXTERNALSYM ICommand}
  4557.  
  4558. // *********************************************************************//
  4559. // Interface: ICommandWithParameters
  4560. // GUID:      {0C733A64-2A1C-11CE-ADE5-00AA0044773D}
  4561. // *********************************************************************//
  4562.   ICommandWithParameters = interface(IUnknown)
  4563.     ['{0C733A64-2A1C-11CE-ADE5-00AA0044773D}']
  4564.     function GetParameterInfo(var pcParams: UINT; out prgParamInfo: PDBPARAMINFO;
  4565.       ppNamesBuffer: PPOleStr): HResult; stdcall;
  4566.     function MapParameterNames(cParamNames: UINT; rgParamNames: POleStrList;
  4567.       rgParamOrdinals: PUintArray): HResult; stdcall;
  4568.     function SetParameterInfo(cParams: UINT; rgParamOrdinals: PUintArray;
  4569.       rgParamBindInfo: PDBParamBindInfoArray): HResult; stdcall;
  4570.   end;
  4571.  
  4572.   { Safecall Version }
  4573.   ICommandWithParametersSC = interface(IUnknown)
  4574.     ['{0C733A64-2A1C-11CE-ADE5-00AA0044773D}']
  4575.     procedure GetParameterInfo(var pcParams: UINT; out prgParamInfo: PDBPARAMINFO;
  4576.       ppNamesBuffer: PPOleStr); safecall;
  4577.     procedure MapParameterNames(cParamNames: UINT; rgParamNames: POleStrList;
  4578.       rgParamOrdinals: PUintArray); safecall;
  4579.     procedure SetParameterInfo(cParams: UINT; rgParamOrdinals: PUintArray;
  4580.       rgParamBindInfo: PDBParamBindInfoArray); safecall;
  4581.   end;
  4582.   {$EXTERNALSYM ICommandWithParameters}
  4583.  
  4584. // *********************************************************************//
  4585. // Interface: ICommandText
  4586. // GUID:      {0C733A27-2A1C-11CE-ADE5-00AA0044773D}
  4587. // *********************************************************************//
  4588.   ICommandText = interface(ICommand)
  4589.     ['{0C733A27-2A1C-11CE-ADE5-00AA0044773D}']
  4590.     function GetCommandText(var pguidDialect: TGUID;
  4591.       out ppwszCommand: PWideChar): HResult; stdcall;
  4592.     function SetCommandText(rguidDialect: PGUID;
  4593.       pwszCommand: PWideChar): HResult; stdcall;
  4594.   end;
  4595.  
  4596.   { Safecall Version }
  4597.   ICommandTextSC = interface(ICommand)
  4598.     ['{0C733A27-2A1C-11CE-ADE5-00AA0044773D}']
  4599.     procedure GetCommandText(var pguidDialect: TGUID;
  4600.       out ppwszCommand: PWideChar); safecall;
  4601.     procedure SetCommandText(rguidDialect: PGUID;
  4602.       pwszCommand: PWideChar); safecall;
  4603.   end;
  4604.   {$EXTERNALSYM ICommandText}
  4605.  
  4606. // *********************************************************************//
  4607. // Interface: IColumnsRowset
  4608. // GUID:      {0C733A10-2A1C-11CE-ADE5-00AA0044773D}
  4609. // *********************************************************************//
  4610.   IColumnsRowset = interface(IUnknown)
  4611.     ['{0C733A10-2A1C-11CE-ADE5-00AA0044773D}']
  4612.     function GetAvailableColumns(var pcOptColumns: UINT;
  4613.       var prgOptColumns: PDBID): HResult; stdcall;
  4614.     function GetColumnsRowset(const punkOuter: IUnknown; cOptColumns: UINT;
  4615.       rgOptColumns: PDBIDArray; const riid: TGUID; cPropertySets: UINT;
  4616.       rgPropertySets: PDBPropSetArray; out pColRowset: IUnknown): HResult; stdcall;
  4617.   end;
  4618.  
  4619.   { Safecall Version }
  4620.   IColumnsRowsetSC = interface(IUnknown)
  4621.     ['{0C733A10-2A1C-11CE-ADE5-00AA0044773D}']
  4622.     procedure GetAvailableColumns(var pcOptColumns: UINT;
  4623.       var prgOptColumns: PDBID); safecall;
  4624.     procedure GetColumnsRowset(const punkOuter: IUnknown; cOptColumns: UINT;
  4625.       rgOptColumns: PDBIDArray; const riid: TGUID; cPropertySets: UINT;
  4626.       rgPropertySets: PDBPropSetArray; out pColRowset: IUnknown); safecall;
  4627.   end;
  4628.   {$EXTERNALSYM IColumnsRowset}
  4629.  
  4630. // *********************************************************************//
  4631. // Interface: IColumnsInfo
  4632. // GUID:      {0C733A11-2A1C-11CE-ADE5-00AA0044773D}
  4633. // *********************************************************************//
  4634.   IColumnsInfo = interface(IUnknown)
  4635.     ['{0C733A11-2A1C-11CE-ADE5-00AA0044773D}']
  4636.     function GetColumnInfo(var pcColumns: UINT; out prgInfo: PDBColumnInfo;
  4637.       out ppStringsBuffer: PWideChar): HResult; stdcall;
  4638.     function MapColumnIDs(cColumnIDs: UINT; rgColumnIDs: PDBIDArray;
  4639.       rgColumns: PUintArray): HResult; stdcall;
  4640.   end;
  4641.  
  4642.   { Safecall Version }
  4643.   IColumnsInfoSC = interface(IUnknown)
  4644.     ['{0C733A11-2A1C-11CE-ADE5-00AA0044773D}']
  4645.     procedure GetColumnInfo(var pcColumns: UINT; out prgInfo: PDBColumnInfo;
  4646.       out ppStringsBuffer: PWideChar); safecall;
  4647.     procedure MapColumnIDs(cColumnIDs: UINT; rgColumnIDs: PDBIDArray;
  4648.       rgColumns: PUINTArray); safecall;
  4649.   end;
  4650.   {$EXTERNALSYM IColumnsInfo}
  4651.  
  4652. // *********************************************************************//
  4653. // Interface: IDBCreateCommand
  4654. // GUID:      {0C733A1D-2A1C-11CE-ADE5-00AA0044773D}
  4655. // *********************************************************************//
  4656.   IDBCreateCommand = interface(IUnknown)
  4657.     ['{0C733A1D-2A1C-11CE-ADE5-00AA0044773D}']
  4658.     function CreateCommand(const punkOuter: IUnknown; const riid: TGUID;
  4659.       out ppCommand: IUnknown): HResult; stdcall;
  4660.   end;
  4661.  
  4662.   { Safecall Version }
  4663.   IDBCreateCommandSC = interface(IUnknown)
  4664.     ['{0C733A1D-2A1C-11CE-ADE5-00AA0044773D}']
  4665.     procedure CreateCommand(const punkOuter: IUnknown; const riid: TGUID;
  4666.       out ppCommand: IUnknown); safecall;
  4667.   end;
  4668.   {$EXTERNALSYM IDBCreateCommand}
  4669.  
  4670. // *********************************************************************//
  4671. // Interface: IDBCreateSession
  4672. // GUID:      {0C733A5D-2A1C-11CE-ADE5-00AA0044773D}
  4673. // *********************************************************************//
  4674.   IDBCreateSession = interface(IUnknown)
  4675.     ['{0C733A5D-2A1C-11CE-ADE5-00AA0044773D}']
  4676.     function CreateSession(const punkOuter: IUnknown; const riid: TGUID;
  4677.       out ppDBSession: IUnknown): HResult; stdcall;
  4678.   end;
  4679.  
  4680.   { Safecall Version }
  4681.   IDBCreateSessionSC = interface(IUnknown)
  4682.     ['{0C733A5D-2A1C-11CE-ADE5-00AA0044773D}']
  4683.     procedure CreateSession(const punkOuter: IUnknown; const riid: TGUID;
  4684.       out ppDBSession: IUnknown); safecall;
  4685.   end;
  4686.   {$EXTERNALSYM IDBCreateSession}
  4687.  
  4688. // *********************************************************************//
  4689. // Interface: ISourcesRowset
  4690. // GUID:      {0C733A1E-2A1C-11CE-ADE5-00AA0044773D}
  4691. // *********************************************************************//
  4692.   ISourcesRowset = interface(IUnknown)
  4693.     ['{0C733A1E-2A1C-11CE-ADE5-00AA0044773D}']
  4694.     function GetSourcesRowset(const punkOuter: IUnknown; const riid: TGUID; cPropertySets: UINT;
  4695.       rgProperties: PDBPropSetArray; out ppSourcesRowset: IUnknown): HResult; stdcall;
  4696.   end;
  4697.  
  4698.   { Safecall Version }
  4699.   ISourcesRowsetSC = interface(IUnknown)
  4700.     ['{0C733A1E-2A1C-11CE-ADE5-00AA0044773D}']
  4701.     procedure GetSourcesRowset(const punkOuter: IUnknown; const riid: TGUID; cPropertySets: UINT;
  4702.       rgProperties: PDBPropSetArray; out ppSourcesRowset: IUnknown); safecall;
  4703.   end;
  4704.   {$EXTERNALSYM ISourcesRowset}
  4705.  
  4706. // *********************************************************************//
  4707. // Interface: IDBProperties
  4708. // GUID:      {0C733A8A-2A1C-11CE-ADE5-00AA0044773D}
  4709. // *********************************************************************//
  4710.   IDBProperties = interface(IUnknown)
  4711.     ['{0C733A8A-2A1C-11CE-ADE5-00AA0044773D}']
  4712.     function GetProperties(cPropertyIDSets: UINT; rgPropertyIDSets: PDBPropIDSetArray;
  4713.       var pcPropertySets: UINT; out prgPropertySets: PDBPropSet): HResult; stdcall;
  4714.     function GetPropertyInfo(cPropertyIDSets: UINT; rgPropertyIDSets: PDBPropIDSetArray;
  4715.       var pcPropertyInfoSets: UINT; out prgPropertyInfoSets: PDBPropInfoSet;
  4716.       ppDescBuffer: PPOleStr): HResult; stdcall;
  4717.     function SetProperties(cPropertySets: UINT; rgPropertySets: PDBPropSetArray): HResult; stdcall;
  4718.   end;
  4719.  
  4720.   { Safecall Version }
  4721.   IDBPropertiesSC = interface(IUnknown)
  4722.     ['{0C733A8A-2A1C-11CE-ADE5-00AA0044773D}']
  4723.     procedure GetProperties(cPropertyIDSets: UINT; rgPropertyIDSets: PDBPropIDSetArray;
  4724.       var pcPropertySets: UINT; out prgPropertySets: PDBPropSet); safecall;
  4725.     procedure GetPropertyInfo(cPropertyIDSets: UINT; rgPropertyIDSets: PDBPropIDSetArray;
  4726.       var pcPropertyInfoSets: UINT; out prgPropertyInfoSets: PDBPropInfoSet;
  4727.       ppDescBuffer: PPOleStr); safecall;
  4728.     procedure SetProperties(cPropertySets: UINT; rgPropertySets: PDBPropSet); safecall;
  4729.   end;
  4730.   {$EXTERNALSYM IDBProperties}
  4731.  
  4732. // *********************************************************************//
  4733. // Interface: IDBInitialize
  4734. // GUID:      {0C733A8B-2A1C-11CE-ADE5-00AA0044773D}
  4735. // *********************************************************************//
  4736.   IDBInitialize = interface(IUnknown)
  4737.     ['{0C733A8B-2A1C-11CE-ADE5-00AA0044773D}']
  4738.     function Initialize: HResult; stdcall;
  4739.     function Uninitialize: HResult; stdcall;
  4740.   end;
  4741.  
  4742.   { SafeCall version }
  4743.   IDBInitializeSC = interface(IUnknown)
  4744.     ['{0C733A8B-2A1C-11CE-ADE5-00AA0044773D}']
  4745.     procedure Initialize; safecall;
  4746.     procedure Uninitialize; safecall;
  4747.   end;
  4748.  
  4749.   {$EXTERNALSYM IDBInitialize}
  4750.  
  4751. // *********************************************************************//
  4752. // Interface: IDBInfo
  4753. // GUID:      {0C733A89-2A1C-11CE-ADE5-00AA0044773D}
  4754. // *********************************************************************//
  4755.   IDBInfo = interface(IUnknown)
  4756.     ['{0C733A89-2A1C-11CE-ADE5-00AA0044773D}']
  4757.     function GetKeywords(out ppwszKeywords: PWideChar): HResult; stdcall;
  4758.     function GetLiteralInfo(cLiterals: UINT; rgLiterals: PUintArray;
  4759.       var pcLiteralInfo: UINT; out prgLiteralInfo: PDBLiteralInfo;
  4760.       out ppCharBuffer: PWideChar): HResult; stdcall;
  4761.   end;
  4762.  
  4763.   { SafeCall Version }
  4764.   IDBInfoSC = interface(IUnknown)
  4765.     ['{0C733A89-2A1C-11CE-ADE5-00AA0044773D}']
  4766.     procedure GetKeywords(out ppwszKeywords: PWideChar); safecall;
  4767.     procedure GetLiteralInfo(cLiterals: UINT; rgLiterals: PUintArray;
  4768.       var pcLiteralInfo: UINT;  out prgLiteralInfo: PDBLiteralInfo;
  4769.       out ppCharBuffer: PWideChar); safecall;
  4770.   end;
  4771.   {$EXTERNALSYM IDBInfo}
  4772.  
  4773. // *********************************************************************//
  4774. // Interface: IDBDataSourceAdmin
  4775. // GUID:      {0C733A7A-2A1C-11CE-ADE5-00AA0044773D}
  4776. // *********************************************************************//
  4777.   IDBDataSourceAdmin = interface(IUnknown)
  4778.     ['{0C733A7A-2A1C-11CE-ADE5-00AA0044773D}']
  4779.     function CreateDataSource(cPropertySets: UINT; rgPropertySets: PDBPropSetArray;
  4780.       const punkOuter: IUnknown; const riid: TGUID; out ppDBSession: IUnknown): HResult; stdcall;
  4781.     function DestroyDataSource: HResult; stdcall;
  4782.     function GetCreationProperties(cPropertyIDSets: UINT; rgPropertyIDSets: PDBPropIDSetArray;
  4783.       pcPropertyInfoSets: PUINT; out prgPropertyInfoSets: PDBPropInfoSet;
  4784.       ppDescBuffer: PPOleStr): HResult; stdcall;
  4785.     function ModifyDataSource(cPropertySets: UINT; rgPropertySets: PDBPropSetArray): HResult; stdcall;
  4786.   end;
  4787.  
  4788.   { Safecall Version }
  4789.   IDBDataSourceAdminSC = interface(IUnknown)
  4790.     ['{0C733A7A-2A1C-11CE-ADE5-00AA0044773D}']
  4791.     procedure CreateDataSource(cPropertySets: UINT; rgPropertySets: PDBPropSetArray;
  4792.       const punkOuter: IUnknown; const riid: TGUID; out ppDBSession: IUnknown); safecall;
  4793.     procedure DestroyDataSource; safecall;
  4794.     procedure GetCreationProperties(cPropertyIDSets: UINT; rgPropertyIDSets: PDBPropIDSetArray;
  4795.       pcPropertyInfoSets: PUINT; out prgPropertyInfoSets: PDBPropInfoSet;
  4796.       ppDescBuffer: PPOleStr); safecall;
  4797.     procedure ModifyDataSource(cPropertySets: UINT; rgPropertySets: PDBPropSetArray); safecall;
  4798.   end;
  4799.   {$EXTERNALSYM IDBDataSourceAdmin}
  4800.  
  4801. // *********************************************************************//
  4802. // Interface: ISessionProperties
  4803. // GUID:      {0C733A85-2A1C-11CE-ADE5-00AA0044773d}
  4804. // *********************************************************************//
  4805.   ISessionProperties = interface(IUnknown)
  4806.     ['{0C733A85-2A1C-11CE-ADE5-00AA0044773d}']
  4807.     function GetProperties(cPropertyIDSets: UINT; rgPropertyIDSets: PDBPropIDSetArray;
  4808.       var pcPropertySets: UINT; out prgPropertySets: PDBPropSet): HResult; stdcall;
  4809.     function SetProperties(cPropertySets: UINT; rgPropertySets: PDBPropSetArray): HResult; stdcall;
  4810.   end;
  4811.  
  4812.   { Safecall Version }
  4813.   ISessionPropertiesSC = interface(IUnknown)
  4814.     ['{0C733A85-2A1C-11CE-ADE5-00AA0044773d}']
  4815.     procedure GetProperties(cPropertyIDSets: UINT; rgPropertyIDSets: PDBPropIDSetArray;
  4816.       var pcPropertySets: UINT; out prgPropertySets: PDBPropSet); safecall;
  4817.     procedure SetProperties(cPropertySets: UINT; rgPropertySets: PDBPropSetArray); safecall;
  4818.   end;
  4819.   {$EXTERNALSYM ISessionProperties}
  4820.  
  4821. // *********************************************************************//
  4822. // Interface: IIndexDefinition
  4823. // GUID:      {0C733A68-2A1C-11CE-ADE5-00AA0044773D}
  4824. // *********************************************************************//
  4825.   IIndexDefinition = interface(IUnknown)
  4826.     ['{0C733A68-2A1C-11CE-ADE5-00AA0044773D}']
  4827.     function CreateIndex(var pTableID: DBID; pIndexID: PDBID; cIndexColumnDescs: UINT;
  4828.       rgIndexColumnDescs: PDBIndexColumnDescArray; cPropertySets: UINT;
  4829.       rgPropertySets: PDBPropSetArray; ppIndexID: PPDBID): HResult; stdcall;
  4830.     function DropIndex(var TableID: DBID; pIndexID: PDBID): HResult; stdcall;
  4831.   end;
  4832.  
  4833.   { Safecall Version }
  4834.   IIndexDefinitionSC = interface(IUnknown)
  4835.     ['{0C733A68-2A1C-11CE-ADE5-00AA0044773D}']
  4836.     procedure CreateIndex(var pTableID: DBID; pIndexID: PDBID; cIndexColumnDescs: UINT;
  4837.       rgIndexColumnDescs: PDBIndexColumnDescArray; cPropertySets: UINT;
  4838.       rgPropertySets: PDBPropSetArray; ppIndexID: PPDBID); safecall;
  4839.     procedure DropIndex(var TableID: DBID; pIndexID: PDBID); safecall;
  4840.   end;
  4841.   {$EXTERNALSYM IIndexDefinition}
  4842.  
  4843. // *********************************************************************//
  4844. // Interface: ITableDefinition
  4845. // GUID:      {0C733A86-2A1C-11CE-ADE5-00AA0044773D}
  4846. // *********************************************************************//
  4847.   ITableDefinition = interface(IUnknown)
  4848.     ['{0C733A86-2A1C-11CE-ADE5-00AA0044773D}']
  4849.     function CreateTable(const punkOuter: IUnknown; pTableID: PDBID; cColumnDescs: UINT;
  4850.       rgColumnDescs: PDBColumnDescArray; const riid: TGUID; cPropertySets: UINT;
  4851.       rgPropertySets: PDBPropSetArray; ppTableID: PPDBID; ppRowset: PIUnknown): HResult; stdcall;
  4852.     function DropTable(var pTableID: DBID): HResult; stdcall;
  4853.     function AddColumn(var pTableID: DBID; var pColumnDesc: DBCOLUMNDESC;
  4854.       ppColumnID: PPDBID): HResult; stdcall;
  4855.     function DropColumn(var pTableID: DBID; var pColumnID: DBID): HResult; stdcall;
  4856.   end;
  4857.  
  4858.   { Safecall Version }
  4859.   ITableDefinitionSC = interface(IUnknown)
  4860.     ['{0C733A86-2A1C-11CE-ADE5-00AA0044773D}']
  4861.     procedure CreateTable(const punkOuter: IUnknown; pTableID: PDBID; cColumnDescs: UINT;
  4862.       rgColumnDescs: PDBColumnDescArray; const riid: TGUID; cPropertySets: UINT;
  4863.       rgPropertySets: PDBPropSetArray; ppTableID: PPDBID; ppRowset: PIUnknown); safecall;
  4864.     procedure DropTable(var pTableID: DBID); safecall;
  4865.     procedure AddColumn(var pTableID: DBID; var pColumnDesc: DBCOLUMNDESC;
  4866.       ppColumnID: PPDBID); safecall;
  4867.     procedure DropColumn(var pTableID: DBID; var pColumnID: DBID); safecall;
  4868.   end;
  4869.   {$EXTERNALSYM ITableDefinition}
  4870.  
  4871. // *********************************************************************//
  4872. // Interface: IOpenRowset
  4873. // GUID:      {0C733A69-2A1C-11CE-ADE5-00AA0044773D}
  4874. // *********************************************************************//
  4875.   IOpenRowset = interface(IUnknown)
  4876.     ['{0C733A69-2A1C-11CE-ADE5-00AA0044773D}']
  4877.     function OpenRowset(const punkOuter: IUnknown; pTableID: PDBID; pIndexID: PDBID;
  4878.       const riid: TGUID; cPropertySets: UINT; rgPropertySets: PDBPropSetArray;
  4879.       ppRowset: PIUnknown): HResult; stdcall;
  4880.   end;
  4881.  
  4882.   { Safecall Version }
  4883.   IOpenRowsetSC = interface(IUnknown)
  4884.     ['{0C733A69-2A1C-11CE-ADE5-00AA0044773D}']
  4885.     procedure OpenRowset(const punkOuter: IUnknown; pTableID: PDBID; pIndexID: PDBID;
  4886.       const riid: TGUID; cPropertySets: UINT; rgPropertySets: PDBPropSetArray;
  4887.       ppRowset: PIUnknown); safecall;
  4888.   end;
  4889.   {$EXTERNALSYM IOpenRowset}
  4890.  
  4891. // *********************************************************************//
  4892. // Interface: IErrorLookup
  4893. // GUID:      {0C733A66-2A1C-11CE-ADE5-00AA0044773D}
  4894. // *********************************************************************//
  4895.   IErrorLookup = interface(IUnknown)
  4896.     ['{0C733A66-2A1C-11CE-ADE5-00AA0044773D}']
  4897.     function GetErrorDescription(hrError: HResult; dwLookupID: UINT;
  4898.       pdispparams: PDISPPARAMS; lcid: UINT; out pbstrSource: WideString;
  4899.       out pbstrDescription: WideString): HResult; stdcall;
  4900.     function GetHelpInfo(hrError: HResult; dwLookupID: UINT; lcid: UINT;
  4901.       out pbstrHelpFile: WideString; out pdwHelpContext: UINT): HResult; stdcall;
  4902.     function ReleaseErrors(dwDynamicErrorID: UINT): HResult; stdcall;
  4903.   end;
  4904.  
  4905.   { Safecall Version }
  4906.   IErrorLookupSC = interface(IUnknown)
  4907.     ['{0C733A66-2A1C-11CE-ADE5-00AA0044773D}']
  4908.     procedure GetErrorDescription(hrError: HResult; dwLookupID: UINT;
  4909.       pdispparams: PDISPPARAMS; lcid: UINT; out pbstrSource: WideString;
  4910.       out pbstrDescription: WideString); safecall;
  4911.     procedure GetHelpInfo(hrError: HResult; dwLookupID: UINT; lcid: UINT;
  4912.       out pbstrHelpFile: WideString; out pdwHelpContext: UINT); safecall;
  4913.     procedure ReleaseErrors(dwDynamicErrorID: UINT); safecall;
  4914.   end;
  4915.   {$EXTERNALSYM IErrorLookup}
  4916.  
  4917. // *********************************************************************//
  4918. // Interface: ISQLErrorInfo
  4919. // GUID:      {0C733A74-2A1C-11CE-ADE5-00AA0044773D}
  4920. // *********************************************************************//
  4921.   ISQLErrorInfo = interface(IUnknown)
  4922.     ['{0C733A74-2A1C-11CE-ADE5-00AA0044773D}']
  4923.     function GetSQLInfo(out pbstrSQLState: WideString;
  4924.       out plNativeError: Integer): HResult; stdcall;
  4925.   end;
  4926.  
  4927.   { Safecall Version }
  4928.   ISQLErrorInfoSC = interface(IUnknown)
  4929.     ['{0C733A74-2A1C-11CE-ADE5-00AA0044773D}']
  4930.     procedure GetSQLInfo(out pbstrSQLState: WideString;
  4931.       out plNativeError: Integer); safecall;
  4932.   end;
  4933.   {$EXTERNALSYM ISQLErrorInfo}
  4934.  
  4935. // *********************************************************************//
  4936. // Interface: IGetDataSource
  4937. // GUID:      {0C733A75-2A1C-11CE-ADE5-00AA0044773D}
  4938. // *********************************************************************//
  4939.   IGetDataSource = interface(IUnknown)
  4940.     ['{0C733A75-2A1C-11CE-ADE5-00AA0044773D}']
  4941.     function GetDataSource(const riid: TGUID; out ppDataSource: IUnknown): HResult; stdcall;
  4942.   end;
  4943.  
  4944.   { Safecall Version }
  4945.   IGetDataSourceSC = interface(IUnknown)
  4946.     ['{0C733A75-2A1C-11CE-ADE5-00AA0044773D}']
  4947.     procedure GetDataSource(const riid: TGUID; out ppDataSource: IUnknown); safecall;
  4948.   end;
  4949.   {$EXTERNALSYM IGetDataSource}
  4950.  
  4951. // *********************************************************************//
  4952. // Interface: ITransactionLocal
  4953. // GUID:      {0C733A5F-2A1C-11CE-ADE5-00AA0044773D}
  4954. // *********************************************************************//
  4955.   ITransactionLocal = interface(ITransaction)
  4956.     ['{0C733A5F-2A1C-11CE-ADE5-00AA0044773D}']
  4957.     function GetOptionsObject(out ppOptions: ITransactionOptions): HResult; stdcall;
  4958.     function StartTransaction(isoLevel: Integer; isoFlags: UINT;
  4959.       const pOtherOptions: ITransactionOptions; pulTransactionLevel: PUINT): HResult; stdcall;
  4960.   end;
  4961.  
  4962.   { Safecall Version }
  4963.   ITransactionLocalSC = interface(ITransaction)
  4964.     ['{0C733A5F-2A1C-11CE-ADE5-00AA0044773D}']
  4965.     procedure GetOptionsObject(out ppOptions: ITransactionOptions); safecall;
  4966.     procedure StartTransaction(isoLevel: Integer; isoFlags: UINT;
  4967.       const pOtherOptions: ITransactionOptions; pulTransactionLevel: PUINT); safecall;
  4968.   end;
  4969.   {$EXTERNALSYM ITransactionLocal}
  4970.  
  4971. // *********************************************************************//
  4972. // Interface: ITransactionJoin
  4973. // GUID:      {0C733A5E-2A1C-11CE-ADE5-00AA0044773D}
  4974. // *********************************************************************//
  4975.   ITransactionJoin = interface(IUnknown)
  4976.     ['{0C733A5E-2A1C-11CE-ADE5-00AA0044773D}']
  4977.     function GetOptionsObject(out ppOptions: ITransactionOptions): HResult; stdcall;
  4978.     function JoinTransaction(const punkTransactionCoord: IUnknown; isoLevel: Integer;
  4979.       isoFlags: UINT; const pOtherOptions: ITransactionOptions): HResult; stdcall;
  4980.   end;
  4981.  
  4982.   { Safecall Version }
  4983.   ITransactionJoinSC = interface(IUnknown)
  4984.     ['{0C733A5E-2A1C-11CE-ADE5-00AA0044773D}']
  4985.     procedure GetOptionsObject(out ppOptions: ITransactionOptions); safecall;
  4986.     procedure JoinTransaction(const punkTransactionCoord: IUnknown; isoLevel: Integer;
  4987.       isoFlags: UINT; const pOtherOptions: ITransactionOptions); safecall;
  4988.   end;
  4989.   {$EXTERNALSYM ITransactionJoin}
  4990.  
  4991. // *********************************************************************//
  4992. // Interface: ITransactionObject
  4993. // GUID:      {0C733A60-2A1C-11CE-ADE5-00AA0044773D}
  4994. // *********************************************************************//
  4995.   ITransactionObject = interface(IUnknown)
  4996.     ['{0C733A60-2A1C-11CE-ADE5-00AA0044773D}']
  4997.     function GetTransactionObject(ulTransactionLevel: UINT;
  4998.       out ppTransactionObject: ITransaction): HResult; stdcall;
  4999.   end;
  5000.  
  5001.   { Safecall Version }
  5002.   ITransactionObjectSC = interface(IUnknown)
  5003.     ['{0C733A60-2A1C-11CE-ADE5-00AA0044773D}']
  5004.     procedure GetTransactionObject(ulTransactionLevel: UINT;
  5005.       out ppTransactionObject: ITransaction); safecall;
  5006.   end;
  5007.   {$EXTERNALSYM ITransactionObject}
  5008.  
  5009. // *********************************************************************//
  5010. // Interface: IDBAsynchStatus
  5011. // GUID:      {0C733A95-2A1C-11CE-ADE5-00AA0044773D}
  5012. // *********************************************************************//
  5013.   IDBAsynchStatus = interface(IUnknown)
  5014.     ['{0C733A95-2A1C-11CE-ADE5-00AA0044773D}']
  5015.     function Abort(HCHAPTER: HCHAPTER; eOperation: DBASYNCHOP): HResult; stdcall;
  5016.     function GetStatus(HCHAPTER: HCHAPTER; eOperation: DBASYNCHOP; pulProgress: PUINT;
  5017.       pulProgressMax: PUINT; peAsynchPhase: PDBASYNCHPHASE;
  5018.       ppwszStatusText: PPOleStr): HResult; stdcall;
  5019.   end;
  5020.  
  5021.   { Safecall Version }
  5022.   IDBAsynchStatusSC = interface(IUnknown)
  5023.     ['{0C733A95-2A1C-11CE-ADE5-00AA0044773D}']
  5024.     procedure Abort(HCHAPTER: HCHAPTER; eOperation: DBASYNCHOP); safecall;
  5025.     procedure GetStatus(HCHAPTER: HCHAPTER; eOperation: DBASYNCHOP; pulProgress: PUINT;
  5026.       pulProgressMax: PUINT; peAsynchPhase: PDBASYNCHPHASE;
  5027.       ppwszStatusText: PPOleStr); safecall;
  5028.   end;
  5029.   {$EXTERNALSYM IDBAsynchStatus}
  5030.  
  5031. // *********************************************************************//
  5032. // Interface: IRowsetFind
  5033. // GUID:      {0C733A9D-2A1C-11CE-ADE5-00AA0044773D}
  5034. // *********************************************************************//
  5035.   IRowsetFind = interface(IUnknown)
  5036.     ['{0C733A9D-2A1C-11CE-ADE5-00AA0044773D}']
  5037.     function FindNextRow(HCHAPTER: HCHAPTER; HACCESSOR: HACCESSOR; pFindValue: Pointer;
  5038.       CompareOp: DBCOMPAREOP; cbBookmark: UINT; pBookmark: PByte;
  5039.       lRowsOffset: Integer; cRows: Integer; var pcRowsObtained: UINT;
  5040.       out prghRows: PHROW): HResult; stdcall;
  5041.   end;
  5042.  
  5043.   { Safecall Version }
  5044.   IRowsetFindSC = interface(IUnknown)
  5045.     ['{0C733A9D-2A1C-11CE-ADE5-00AA0044773D}']
  5046.     procedure FindNextRow(HCHAPTER: HCHAPTER; HACCESSOR: HACCESSOR; pFindValue: Pointer;
  5047.       CompareOp: DBCOMPAREOP; cbBookmark: UINT; pBookmark: PByte;
  5048.       lRowsOffset: Integer; cRows: Integer; var pcRowsObtained: UINT;
  5049.       out prghRows: PHROW); safecall;
  5050.   end;
  5051.   {$EXTERNALSYM IRowsetFind}
  5052.  
  5053. // *********************************************************************//
  5054. // Interface: IRowPosition
  5055. // GUID:      {0C733A94-2A1C-11CE-ADE5-00AA0044773D}
  5056. // *********************************************************************//
  5057.   IRowPosition = interface(IUnknown)
  5058.     ['{0C733A94-2A1C-11CE-ADE5-00AA0044773D}']
  5059.     function ClearRowPosition: HResult; stdcall;
  5060.     function GetRowPosition(out phChapter: HCHAPTER; out phRow: HROW;
  5061.       out pdwPositionFlags: UINT): HResult; stdcall;
  5062.     function GetRowset(const riid: TGUID; out ppRowset: IUnknown): HResult; stdcall;
  5063.     function Initialize(const pRowset: IUnknown): HResult; stdcall;
  5064.     function SetRowPosition(HCHAPTER: HCHAPTER; HROW: HROW; dwPositionFlags: UINT): HResult; stdcall;
  5065.   end;
  5066.  
  5067.   { Safecall Version }
  5068.   IRowPositionSC = interface(IUnknown)
  5069.     ['{0C733A94-2A1C-11CE-ADE5-00AA0044773D}']
  5070.     procedure ClearRowPosition; safecall;
  5071.     procedure GetRowPosition(out phChapter: HCHAPTER; out phRow: HROW;
  5072.       out pdwPositionFlags: UINT); safecall;
  5073.     procedure GetRowset(const riid: TGUID; out ppRowset: IUnknown); safecall;
  5074.     procedure Initialize(const pRowset: IUnknown); safecall;
  5075.     procedure SetRowPosition(HCHAPTER: HCHAPTER; HROW: HROW; dwPositionFlags: UINT); safecall;
  5076.   end;
  5077.   {$EXTERNALSYM IRowPosition}
  5078.  
  5079. // *********************************************************************//
  5080. // Interface: IRowPositionChange
  5081. // GUID:      {0997A571-126E-11D0-9F8A-00A0C9A0631E}
  5082. // *********************************************************************//
  5083.   IRowPositionChange = interface(IUnknown)
  5084.     ['{0997A571-126E-11D0-9F8A-00A0C9A0631E}']
  5085.     function OnRowPositionChange(eReason: DBREASON; ePhase: DBEVENTPHASE;
  5086.       fCantDeny: BOOL): HResult; stdcall;
  5087.   end;
  5088.  
  5089.   { Safecall Version }
  5090.   IRowPositionChangeSC = interface(IUnknown)
  5091.     ['{0997A571-126E-11D0-9F8A-00A0C9A0631E}']
  5092.     procedure OnRowPositionChange(eReason: DBREASON; ePhase: DBEVENTPHASE;
  5093.       fCantDeny: BOOL); safecall;
  5094.   end;
  5095.   {$EXTERNALSYM IRowPositionChange}
  5096.  
  5097. // *********************************************************************//
  5098. // Interface: IViewRowset
  5099. // GUID:      {0C733A97-2A1C-11CE-ADE5-00AA0044773D}
  5100. // *********************************************************************//
  5101.   IViewRowset = interface(IUnknown)
  5102.     ['{0C733A97-2A1C-11CE-ADE5-00AA0044773D}']
  5103.     function GetSpecification(const riid: TGUID; out ppObject: IUnknown): HResult; stdcall;
  5104.     function OpenViewRowset(const punkOuter: IUnknown; const riid: TGUID;
  5105.       out ppRowset: IUnknown): HResult; stdcall;
  5106.   end;
  5107.  
  5108.   { Safecall Version }
  5109.   IViewRowsetSC = interface(IUnknown)
  5110.     ['{0C733A97-2A1C-11CE-ADE5-00AA0044773D}']
  5111.     procedure GetSpecification(const riid: TGUID; out ppObject: IUnknown); safecall;
  5112.     procedure OpenViewRowset(const punkOuter: IUnknown; const riid: TGUID;
  5113.       out ppRowset: IUnknown); safecall;
  5114.   end;
  5115.   {$EXTERNALSYM IViewRowset}
  5116.  
  5117. // *********************************************************************//
  5118. // Interface: IViewChapter
  5119. // GUID:      {0C733A98-2A1C-11CE-ADE5-00AA0044773D}
  5120. // *********************************************************************//
  5121.   IViewChapter = interface(IUnknown)
  5122.     ['{0C733A98-2A1C-11CE-ADE5-00AA0044773D}']
  5123.     function GetSpecification(const riid: TGUID; out ppRowset: IUnknown): HResult; stdcall;
  5124.     function OpenViewChapter(hSource: HCHAPTER; out phViewChapter: HCHAPTER): HResult; stdcall;
  5125.   end;
  5126.  
  5127.   { Safecall Version }
  5128.   IViewChapterSC = interface(IUnknown)
  5129.     ['{0C733A98-2A1C-11CE-ADE5-00AA0044773D}']
  5130.     procedure GetSpecification(const riid: TGUID; out ppRowset: IUnknown); safecall;
  5131.     procedure OpenViewChapter(hSource: HCHAPTER; out phViewChapter: HCHAPTER); safecall;
  5132.   end;
  5133.   {$EXTERNALSYM IViewChapter}
  5134.  
  5135. // *********************************************************************//
  5136. // Interface: IViewSort
  5137. // GUID:      {0C733A9A-2A1C-11CE-ADE5-00AA0044773D}
  5138. // *********************************************************************//
  5139.   IViewSort = interface(IUnknown)
  5140.     ['{0C733A9A-2A1C-11CE-ADE5-00AA0044773D}']
  5141.     function GetSortOrder(out pcValues: UINT; out prgColumns: PUintArray;
  5142.       out prgOrders: PUintArray): HResult; stdcall;
  5143.     function SetSortOrder(cValues: UINT; rgColumns: PUintArray;
  5144.       rgOrders: PUintArray): HResult; stdcall;
  5145.   end;
  5146.  
  5147.   { Safecall Version }
  5148.   IViewSortSC = interface(IUnknown)
  5149.     ['{0C733A9A-2A1C-11CE-ADE5-00AA0044773D}']
  5150.     procedure GetSortOrder(out pcValues: UINT; out prgColumns: PUintArray;
  5151.       out prgOrders: PUintArray); safecall;
  5152.     procedure SetSortOrder(cValues: UINT; rgColumns: PUintArray;
  5153.       rgOrders: PUintArray); safecall;
  5154.   end;
  5155.   {$EXTERNALSYM IViewSort}
  5156.  
  5157. // *********************************************************************//
  5158. // Interface: IViewFilter
  5159. // GUID:      {0C733A9B-2A1C-11CE-ADE5-00AA0044773D}
  5160. // *********************************************************************//
  5161.   IViewFilter = interface(IUnknown)
  5162.     ['{0C733A9B-2A1C-11CE-ADE5-00AA0044773D}']
  5163.     function GetFilter(HACCESSOR: HACCESSOR; out pcRows: UINT; out pCompareOps: PDBCOMPAREOP;
  5164.       pCriteriaData: Pointer): HResult; stdcall;
  5165.     function GetFilterBindings(out pcBindings: UINT; out prgBindings: PDBBinding): HResult; stdcall;
  5166.     function SetFilter(HACCESSOR: HACCESSOR; cRows: UINT; var CompareOps: DBCOMPAREOP;
  5167.       pCriteriaData: Pointer): HResult; stdcall;
  5168.   end;
  5169.  
  5170.   { Safecall Version }
  5171.   IViewFilterSC = interface(IUnknown)
  5172.     ['{0C733A9B-2A1C-11CE-ADE5-00AA0044773D}']
  5173.     procedure GetFilter(HACCESSOR: HACCESSOR; out pcRows: UINT; out pCompareOps: PDBCOMPAREOP;
  5174.       pCriteriaData: Pointer); safecall;
  5175.     procedure GetFilterBindings(out pcBindings: UINT; out prgBindings: PDBBinding); safecall;
  5176.     procedure SetFilter(HACCESSOR: HACCESSOR; cRows: UINT; var CompareOps: DBCOMPAREOP;
  5177.       pCriteriaData: Pointer); safecall;
  5178.   end;
  5179.   {$EXTERNALSYM IViewFilter}
  5180.  
  5181. // *********************************************************************//
  5182. // Interface: IRowsetView
  5183. // GUID:      {0C733A99-2A1C-11CE-ADE5-00AA0044773D}
  5184. // *********************************************************************//
  5185.   IRowsetView = interface(IUnknown)
  5186.     ['{0C733A99-2A1C-11CE-ADE5-00AA0044773D}']
  5187.     function CreateView(const punkOuter: IUnknown; const riid: TGUID;
  5188.       out ppView: IUnknown): HResult; stdcall;
  5189.     function GetView(HCHAPTER: HCHAPTER; const riid: TGUID; out phChapterSource: HCHAPTER;
  5190.       out ppView: IUnknown): HResult; stdcall;
  5191.   end;
  5192.  
  5193.   { Safecall Version }
  5194.   IRowsetViewSC = interface(IUnknown)
  5195.     ['{0C733A99-2A1C-11CE-ADE5-00AA0044773D}']
  5196.     procedure CreateView(const punkOuter: IUnknown; const riid: TGUID;
  5197.       out ppView: IUnknown); safecall;
  5198.     procedure GetView(HCHAPTER: HCHAPTER; const riid: TGUID; out phChapterSource: HCHAPTER;
  5199.       out ppView: IUnknown); safecall;
  5200.   end;
  5201.   {$EXTERNALSYM IRowsetView}
  5202.  
  5203. // *********************************************************************//
  5204. // Interface: IMDFind
  5205. // GUID:      {A07CCCD2-8148-11D0-87BB-00C04FC33942}
  5206. // *********************************************************************//
  5207.   IMDFind = interface(IUnknown)
  5208.     ['{A07CCCD2-8148-11D0-87BB-00C04FC33942}']
  5209.     function FindCell(ulStartingOrdinal: UINT; cMembers: UINT; rgpwszMember: PPOleStr;
  5210.       out pulCellOrdinal: UINT): HResult; stdcall;
  5211.     function FindTuple(ulAxisIdentifier: UINT; ulStartingOrdinal: UINT; cMembers: UINT;
  5212.       rgpwszMember: PPOleStr; out pulTupleOrdinal: UINT): HResult; stdcall;
  5213.   end;
  5214.  
  5215.   { Safecall Version }
  5216.   IMDFindSC = interface(IUnknown)
  5217.     ['{A07CCCD2-8148-11D0-87BB-00C04FC33942}']
  5218.     procedure FindCell(ulStartingOrdinal: UINT; cMembers: UINT; rgpwszMember: PPOleStr;
  5219.       out pulCellOrdinal: UINT); safecall;
  5220.     procedure FindTuple(ulAxisIdentifier: UINT; ulStartingOrdinal: UINT; cMembers: UINT;
  5221.       rgpwszMember: PPOleStr; out pulTupleOrdinal: UINT); safecall;
  5222.   end;
  5223.   {$EXTERNALSYM IMDFind}
  5224.  
  5225. // *********************************************************************//
  5226. // Interface: IMDRangeRowset
  5227. // GUID:      {0C733AA0-2A1C-11CE-ADE5-00AA0044773D}
  5228. // *********************************************************************//
  5229.   IMDRangeRowset = interface(IUnknown)
  5230.     ['{0C733AA0-2A1C-11CE-ADE5-00AA0044773D}']
  5231.     function GetRangeRowset(const punkOuter: IUnknown; ulStartCell: UINT; ulEndCell: UINT;
  5232.       const riid: TGUID; cPropertySets: UINT; rgPropertySets: PDBPropSetArray;
  5233.       out ppRowset: IUnknown): HResult; stdcall;
  5234.   end;
  5235.  
  5236.   { Safecall Version }
  5237.   IMDRangeRowsetSC = interface(IUnknown)
  5238.     ['{0C733AA0-2A1C-11CE-ADE5-00AA0044773D}']
  5239.     procedure GetRangeRowset(const punkOuter: IUnknown; ulStartCell: UINT; ulEndCell: UINT;
  5240.       const riid: TGUID; cPropertySets: UINT; rgPropertySets: PDBPropSetArray;
  5241.       out ppRowset: IUnknown); safecall;
  5242.   end;
  5243.   {$EXTERNALSYM IMDRangeRowset}
  5244.  
  5245. // *********************************************************************//
  5246. // Interface: IAlterTable
  5247. // GUID:      {0C733AA5-2A1C-11CE-ADE5-00AA0044773D}
  5248. // *********************************************************************//
  5249.   IAlterTable = interface(IUnknown)
  5250.     ['{0C733AA5-2A1C-11CE-ADE5-00AA0044773D}']
  5251.     function AlterColumn(var pTableID: DBID; var pColumnID: DBID;
  5252.       ColumnDescFlags: DBCOLUMNDESCFLAGS; var pColumnDesc: DBCOLUMNDESC): HResult; stdcall;
  5253.     function AlterTable(var pTableID: DBID; pNewTableId: PDBID; cPropertySets: UINT;
  5254.       rgPropertySets: PDBPropSetArray): HResult; stdcall;
  5255.   end;
  5256.  
  5257.   { Safecall Version }
  5258.   IAlterTableSC = interface(IUnknown)
  5259.     ['{0C733AA5-2A1C-11CE-ADE5-00AA0044773D}']
  5260.     procedure AlterColumn(var pTableID: DBID; var pColumnID: DBID;
  5261.       ColumnDescFlags: DBCOLUMNDESCFLAGS; var pColumnDesc: DBCOLUMNDESC); safecall;
  5262.     procedure AlterTable(var pTableID: DBID; pNewTableId: PDBID; cPropertySets: UINT;
  5263.       rgPropertySets: PDBPropSetArray); safecall;
  5264.   end;
  5265.   {$EXTERNALSYM IAlterTable}
  5266.  
  5267. // *********************************************************************//
  5268. // Interface: IAlterIndex
  5269. // GUID:      {0C733AA6-2A1C-11CE-ADE5-00AA0044773D}
  5270. // *********************************************************************//
  5271.   IAlterIndex = interface(IUnknown)
  5272.     ['{0C733AA6-2A1C-11CE-ADE5-00AA0044773D}']
  5273.     function AlterIndex(var pTableID: DBID; var pIndexID: DBID; pNewIndexId: PDBID;
  5274.       cPropertySets: UINT; rgPropertySet: PDBPropSetArray): HResult; stdcall;
  5275.   end;
  5276.  
  5277.   { Safecall Version }
  5278.   IAlterIndexSC = interface(IUnknown)
  5279.     ['{0C733AA6-2A1C-11CE-ADE5-00AA0044773D}']
  5280.     procedure AlterIndex(var pTableID: DBID; var pIndexID: DBID; pNewIndexId: PDBID;
  5281.       cPropertySets: UINT; rgPropertySet: PDBPropSetArray); safecall;
  5282.   end;
  5283.   {$EXTERNALSYM IAlterIndex}
  5284.  
  5285. // *********************************************************************//
  5286. // Interface: ICommandPersist
  5287. // GUID:      {0C733AA7-2A1C-11CE-ADE5-00AA0044773D}
  5288. // *********************************************************************//
  5289.   ICommandPersist = interface(IUnknown)
  5290.     ['{0C733AA7-2A1C-11CE-ADE5-00AA0044773D}']
  5291.     function DeleteCommand(var pCommandID: DBID): HResult; stdcall;
  5292.     function GetCurrentCommand(out ppCommandID: PDBID): HResult; stdcall;
  5293.     function LoadCommand(var pCommandID: DBID; dwFlags: UINT): HResult; stdcall;
  5294.     function SaveCommand(var pCommandID: DBID; dwFlags: UINT): HResult; stdcall;
  5295.   end;
  5296.  
  5297.   { Safecall Version }
  5298.   ICommandPersistSC = interface(IUnknown)
  5299.     ['{0C733AA7-2A1C-11CE-ADE5-00AA0044773D}']
  5300.     procedure DeleteCommand(var pCommandID: DBID); safecall;
  5301.     procedure GetCurrentCommand(out ppCommandID: PDBID); safecall;
  5302.     procedure LoadCommand(var pCommandID: DBID; dwFlags: UINT); safecall;
  5303.     procedure SaveCommand(var pCommandID: DBID; dwFlags: UINT); safecall;
  5304.   end;
  5305.   {$EXTERNALSYM ICommandPersist}
  5306.  
  5307. // *********************************************************************//
  5308. // Interface: IRowsetChapterMember
  5309. // GUID:      {0C733AA8-2A1C-11CE-ADE5-00AA0044773D}
  5310. // *********************************************************************//
  5311.   IRowsetChapterMember = interface(IUnknown)
  5312.     ['{0C733AA8-2A1C-11CE-ADE5-00AA0044773D}']
  5313.     function IsRowInChapter(HCHAPTER: HCHAPTER; HROW: HROW): HResult; stdcall;
  5314.   end;
  5315.  
  5316.   { Safecall Version }
  5317.   IRowsetChapterMemberSC = interface(IUnknown)
  5318.     ['{0C733AA8-2A1C-11CE-ADE5-00AA0044773D}']
  5319.     procedure IsRowInChapter(HCHAPTER: HCHAPTER; HROW: HROW); safecall;
  5320.   end;
  5321.   {$EXTERNALSYM IRowsetChapterMember}
  5322.  
  5323. // *********************************************************************//
  5324. // Interface: IRowsetRefresh
  5325. // GUID:      {0C733AA9-2A1C-11CE-ADE5-00AA0044773D}
  5326. // *********************************************************************//
  5327.   IRowsetRefresh = interface(IUnknown)
  5328.     ['{0C733AA9-2A1C-11CE-ADE5-00AA0044773D}']
  5329.     function RefreshVisibleData(HCHAPTER: HCHAPTER; cRows: UINT; rghRows: PUintArray;
  5330.       fOverWrite: BOOL; pcRowsRefreshed: PUINT;
  5331.       out prghRowsRefreshed: PHROW; prgRowStatus: PPDBROWSTATUS): HResult; stdcall;
  5332.     function GetLastVisibleData(HROW: HROW; HACCESSOR: HACCESSOR;
  5333.       pData: Pointer): HResult; stdcall;
  5334.   end;
  5335.  
  5336.   { Safecall Version }
  5337.   IRowsetRefreshSC = interface(IUnknown)
  5338.     ['{0C733AA9-2A1C-11CE-ADE5-00AA0044773D}']
  5339.     procedure RefreshVisibleData(HCHAPTER: HCHAPTER; cRows: UINT; rghRows: PUintArray;
  5340.       fOverWrite: BOOL; pcRowsRefreshed: PUINT;
  5341.       out prghRowsRefreshed: PHROW; prgRowStatus: PPDBROWSTATUS); safecall;
  5342.     procedure GetLastVisibleData(HROW: HROW; HACCESSOR: HACCESSOR;
  5343.       pData: Pointer); safecall;
  5344.   end;
  5345.   {$EXTERNALSYM IRowsetRefresh}
  5346.  
  5347. // *********************************************************************//
  5348. // Interface: IParentRowset
  5349. // GUID:      {0C733AAA-2A1C-11CE-ADE5-00AA0044773D}
  5350. // *********************************************************************//
  5351.   IParentRowset = interface(IUnknown)
  5352.     ['{0C733AAA-2A1C-11CE-ADE5-00AA0044773D}']
  5353.     function GetChildRowset(const punkOuter: IUnknown; iOrdinal: UINT; const riid: TGUID;
  5354.       out ppRowset: IUnknown): HResult; stdcall;
  5355.   end;
  5356.  
  5357.   { Safecall Version }
  5358.   IParentRowsetSC = interface(IUnknown)
  5359.     ['{0C733AAA-2A1C-11CE-ADE5-00AA0044773D}']
  5360.     procedure GetChildRowset(const punkOuter: IUnknown; iOrdinal: UINT; const riid: TGUID;
  5361.       out ppRowset: IUnknown); safecall;
  5362.   end;
  5363.   {$EXTERNALSYM IParentRowset}
  5364.  
  5365. // *********************************************************************//
  5366. // Interface: ITrusteeGroupAdmin
  5367. // GUID:      {0C733AA2-2A1C-11CE-ADE5-00AA0044773D}
  5368. // *********************************************************************//
  5369.   ITrusteeGroupAdmin = interface(IUnknown)
  5370.     ['{0C733AA2-2A1C-11CE-ADE5-00AA0044773D}']
  5371.     function AddMember(pMembershipTrustee: PTrusteeW;
  5372.       pMemberTrustee: PTrusteeW): HResult; stdcall;
  5373.     function DeleteMember(pMembershipTrustee: PTrusteeW;
  5374.       pMemberTrustee: PTrusteeW): HResult; stdcall;
  5375.     function IsMember(pMembershipTrustee: PTrusteeW; pMemberTrustee: PTrusteeW;
  5376.       out pfStatus: BOOL): HResult; stdcall;
  5377.     function GetMembers(pMembershipTrustee: PTrusteeW; pcMembers: PUINT;
  5378.       out prgMembers: PTrusteeW): HResult; stdcall;
  5379.     function GetMemberships(pTrustee: PTrusteeW; pcMemberships: PUINT;
  5380.       out prgMemberships: PTrusteeW): HResult; stdcall;
  5381.   end;
  5382.  
  5383.   { Safecall Version }
  5384.   ITrusteeGroupAdminSC = interface(IUnknown)
  5385.     ['{0C733AA2-2A1C-11CE-ADE5-00AA0044773D}']
  5386.     procedure AddMember(pMembershipTrustee: PTrusteeW;
  5387.       pMemberTrustee: PTrusteeW); safecall;
  5388.     procedure DeleteMember(pMembershipTrustee: PTrusteeW;
  5389.       pMemberTrustee: PTrusteeW); safecall;
  5390.     procedure IsMember(pMembershipTrustee: PTrusteeW; pMemberTrustee: PTrusteeW;
  5391.       out pfStatus: BOOL); safecall;
  5392.     procedure GetMembers(pMembershipTrustee: PTrusteeW; pcMembers: PUINT;
  5393.       out prgMembers: PTrusteeW); safecall;
  5394.     procedure GetMemberships(pTrustee: PTrusteeW; pcMemberships: PUINT;
  5395.       out prgMemberships: PTrusteeW); safecall;
  5396.   end;
  5397.   {$EXTERNALSYM ITrusteeGroupAdmin}
  5398.  
  5399. // *********************************************************************//
  5400. // Interface: IObjectAccessControl
  5401. // GUID:      {0C733AA3-2A1C-11CE-ADE5-00AA0044773D}
  5402. // *********************************************************************//
  5403.   IObjectAccessControl = interface(IUnknown)
  5404.     ['{0C733AA3-2A1C-11CE-ADE5-00AA0044773D}']
  5405.     function GetObjectAccessRights(pObject: PSecObject; pcAccessEntries: PUINT;
  5406.       prgAccessEntries: PExplicitAccessW): HResult; stdcall;
  5407.     function GetObjectOwner(pObject: PSecObject; ppOwner: PPTrusteeW): HResult; stdcall;
  5408.     function IsObjectAccessAllowed(pObject: PSecObject; pAccessEntry: PExplicitAccessW;
  5409.       pfResult: PBOOL): HResult; stdcall;
  5410.     function SetObjectAccessRights(pObject: PSecObject; cAccessEntries: UINT;
  5411.       prgAccessEntries: PExplicitAccessW): HResult; stdcall;
  5412.     function SetObjectOwner(pObject: PSecObject; pOwner: PTrusteeW): HResult; stdcall;
  5413.   end;
  5414.  
  5415.   { Safecall Version }
  5416.   IObjectAccessControlSC = interface(IUnknown)
  5417.     ['{0C733AA3-2A1C-11CE-ADE5-00AA0044773D}']
  5418.     procedure GetObjectAccessRights(pObject: PSecObject; pcAccessEntries: PUINT;
  5419.       prgAccessEntries: PExplicitAccessW); safecall;
  5420.     procedure GetObjectOwner(pObject: PSecObject; ppOwner: PPTrusteeW); safecall;
  5421.     procedure IsObjectAccessAllowed(pObject: PSecObject; pAccessEntry: PExplicitAccessW;
  5422.       pfResult: PBOOL); safecall;
  5423.     procedure SetObjectAccessRights(pObject: PSecObject; cAccessEntries: UINT;
  5424.       prgAccessEntries: PExplicitAccessW); safecall;
  5425.     procedure SetObjectOwner(pObject: PSecObject; pOwner: PTrusteeW); safecall;
  5426.   end;
  5427.   {$EXTERNALSYM IObjectAccessControl}
  5428.  
  5429. // *********************************************************************//
  5430. // Interface: ISecurityInfo
  5431. // GUID:      {0C733AA4-2A1C-11CE-ADE5-00AA0044773D}
  5432. // *********************************************************************//
  5433.   ISecurityInfo = interface(IUnknown)
  5434.     ['{0C733AA4-2A1C-11CE-ADE5-00AA0044773D}']
  5435.     function GetCurrentTrustee(ppTrustee: PPTrusteeW): HResult; stdcall;
  5436.     function GetObjectTypes(out cObjectTypes: UINT; out rgObjectTypes: PGUID): HResult; stdcall;
  5437.     function GetPermissions(ObjectType: TGUID; out pPermissions: UINT): HResult; stdcall;
  5438.   end;
  5439.  
  5440.   { Safecall Version }
  5441.   ISecurityInfoSC = interface(IUnknown)
  5442.     ['{0C733AA4-2A1C-11CE-ADE5-00AA0044773D}']
  5443.     procedure GetCurrentTrustee(ppTrustee: PPTrusteeW); safecall;
  5444.     procedure GetObjectTypes(out cObjectTypes: UINT; out rgObjectTypes: PGUID); safecall;
  5445.     procedure GetPermissions(ObjectType: TGUID; out pPermissions: UINT); safecall;
  5446.   end;
  5447.   {$EXTERNALSYM ISecurityInfo}
  5448.  
  5449. // *********************************************************************//
  5450. // Interface: IDBPromptInitialize
  5451. // GUID:      {2206CCB0-19C1-11D1-89E0-00C04FD7A829}
  5452. // *********************************************************************//
  5453.   IDBPromptInitialize = interface(IUnknown)
  5454.     ['{2206CCB0-19C1-11D1-89E0-00C04FD7A829}']
  5455.     function PromptDataSource(const pUnkOuter: IUnknown; hWndParent: HWND;
  5456.       dwPromptOptions: DBPROMPTOPTIONS; cSourceTypeFilter: ULONG;
  5457.       rgSourceTypeFilter: PDBSOURCETYPE; pszProviderFilter: POleStr;
  5458.       const riid: TIID; var DataSource: IUnknown): HResult; stdcall;
  5459.     function PromptFileName(hWndParent: HWND; dwPromptOptions: DBPROMPTOPTIONS;
  5460.       pwszInitialDirectory, pwszInitialFile: POleStr;
  5461.       var ppwszSelectedFile: POleStr): HResult; stdcall;
  5462.   end;
  5463.  
  5464.   { Safecall Version }
  5465.   IDBPromptInitializeSC = interface(IUnknown)
  5466.     ['{2206CCB0-19C1-11D1-89E0-00C04FD7A829}']
  5467.     procedure PromptDataSource(const pUnkOuter: IUnknown; hWndParent: HWND;
  5468.       dwPromptOptions: DBPROMPTOPTIONS; cSourceTypeFilter: ULONG;
  5469.       rgSourceTypeFilter: PDBSOURCETYPE; pszProviderFilter: POleStr;
  5470.       const riid: TIID; var DataSource: IUnknown); safecall;
  5471.     procedure PromptFileName(hWndParent: HWND; dwPromptOptions: DBPROMPTOPTIONS;
  5472.       pwszInitialDirectory, pwszInitialFile: POleStr;
  5473.       var ppwszSelectedFile: POleStr); safecall;
  5474.   end;
  5475.   {$EXTERNALSYM IDBPromptInitialize}
  5476.  
  5477. // *********************************************************************//
  5478. // Interface: IDataInitialize
  5479. // GUID:      {2206CCB1-19C1-11D1-89E0-00C04FD7A829}
  5480. // *********************************************************************//
  5481.   IDataInitialize = interface(IUnknown)
  5482.     ['{2206CCB1-19C1-11D1-89E0-00C04FD7A829}']
  5483.     function GetDataSource(const pUnkOuter: IUnknown; dwClsCtx: DWORD;
  5484.       pwszInitializationString: POleStr; const riid: TIID;
  5485.       var DataSource: IUnknown): HResult; stdcall;
  5486.     function GetInitializationString(const DataSource: IUnknown;
  5487.       fIncludePassword: Boolean; out pwszInitString: POleStr): HResult; stdcall;
  5488.     function CreateDBInstance(const clsidProvider: TGUID;
  5489.       const pUnkOuter: IUnknown; dwClsCtx: DWORD; pwszReserved: POleStr;
  5490.       riid: TIID; var DataSource: IUnknown): HResult; stdcall;
  5491.     function CreateDBInstanceEx(const clsidProvider: TGUID;
  5492.       const pUnkOuter: IUnknown; dwClsCtx: DWORD; pwszReserved: POleStr;
  5493.       pServerInfo: PCoServerInfo; cmq: ULONG; rgmqResults: PMultiQI): HResult; stdcall;
  5494.     function LoadStringFromStorage(pwszFileName: POleStr;
  5495.       out pwszInitializationString: POleStr): HResult; stdcall;
  5496.     function WriteStringToStorage(pwszFileName, pwszInitializationString: POleStr;
  5497.       dwCreationDisposition: DWORD): HResult; stdcall;
  5498.   end;
  5499.  
  5500.   { Safecall Version }
  5501.   IDataInitializeSC = interface(IUnknown)
  5502.     ['{2206CCB1-19C1-11D1-89E0-00C04FD7A829}']
  5503.     procedure GetDataSource(const pUnkOuter: IUnknown; dwClsCtx: DWORD;
  5504.       pwszInitializationString: POleStr; const riid: TIID;
  5505.       var DataSource: IUnknown); safecall;
  5506.     procedure GetInitializationString(const DataSource: IUnknown;
  5507.       fIncludePassword: Boolean; out pwszInitString: POleStr); safecall;
  5508.     procedure CreateDBInstance(const clsidProvider: TGUID;
  5509.       const pUnkOuter: IUnknown; dwClsCtx: DWORD; pwszReserved: POleStr;
  5510.       riid: TIID; var DataSource: IUnknown); safecall;
  5511.     procedure CreateDBInstanceEx(const clsidProvider: TGUID;
  5512.       const pUnkOuter: IUnknown; dwClsCtx: DWORD; pwszReserved: POleStr;
  5513.       pServerInfo: PCoServerInfo; cmq: ULONG; rgmqResults: PMultiQI); safecall;
  5514.     procedure LoadStringFromStorage(pwszFileName: POleStr;
  5515.       out pwszInitializationString: POleStr); safecall;
  5516.     procedure WriteStringToStorage(pwszFileName, pwszInitializationString: POleStr;
  5517.       dwCreationDisposition: DWORD); safecall;
  5518.   end;
  5519.   {$EXTERNALSYM IDataInitialize}
  5520.  
  5521. // *********************************************************************//
  5522. // Error Constants from OLEDBERR.H
  5523. // *********************************************************************//
  5524.  
  5525. //
  5526. //  Values are 32 bit values layed out as follows:
  5527. //
  5528. //   3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1
  5529. //   1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
  5530. //  +-+-+-+-+-+---------------------+-------------------------------+
  5531. //  |S|R|C|N|r|    Facility         |               Code            |
  5532. //  +-+-+-+-+-+---------------------+-------------------------------+
  5533. //
  5534. //  where
  5535. //
  5536. //      S - Severity - indicates success/fail
  5537. //
  5538. //          0 - Success
  5539. //          1 - Fail (COERROR)
  5540. //
  5541. //      R - reserved portion of the facility code, corresponds to NT's
  5542. //              second severity bit.
  5543. //
  5544. //      C - reserved portion of the facility code, corresponds to NT's
  5545. //              C field.
  5546. //
  5547. //      N - reserved portion of the facility code. Used to indicate a
  5548. //              mapped NT status value.
  5549. //
  5550. //      r - reserved portion of the facility code. Reserved for internal
  5551. //              use. Used to indicate HRESULT values that are not status
  5552. //              values, but are instead message ids for display strings.
  5553. //
  5554. //      Facility - is the facility code
  5555. //
  5556. //      Code - is the facility's status code
  5557. //
  5558. //
  5559. // Define the facility codes
  5560. //
  5561. const
  5562.   FACILITY_WINDOWS                     = $8;
  5563.   {$EXTERNALSYM FACILITY_WINDOWS}
  5564.   FACILITY_ITF                         = $4;
  5565.   {$EXTERNALSYM FACILITY_ITF}
  5566.  
  5567.  
  5568. //
  5569. // Define the severity codes
  5570. //
  5571.   STATUS_SEVERITY_SUCCESS              = $0;
  5572.   {$EXTERNALSYM STATUS_SEVERITY_SUCCESS}
  5573.   STATUS_SEVERITY_COERROR              = $2;
  5574.   {$EXTERNALSYM STATUS_SEVERITY_COERROR}
  5575.  
  5576.  
  5577. //
  5578. // MessageId: DB_E_BOGUS
  5579. //
  5580. // MessageText:
  5581. //
  5582. //  Dummy error - need this error so that mc puts the above defines
  5583. //  inside the FACILITY_WINDOWS guard, instead of leaving it empty
  5584. //
  5585.   DB_E_BOGUS                           = HResult($80040EFF);
  5586.   {$EXTERNALSYM DB_E_BOGUS}
  5587.  
  5588.  
  5589. //
  5590. // Codes 0x0e00-0x0eff are reserved for the OLE DB group of
  5591. // interfaces.
  5592. //
  5593. // Free codes are:
  5594. //
  5595. //         Error:
  5596. //             -none-
  5597. //
  5598. //         Success:
  5599. //             0x0eea
  5600. //             0x0ed7
  5601. //
  5602.  
  5603.  
  5604. //
  5605. // MessageId: DB_E_BADACCESSORHANDLE
  5606. //
  5607. // MessageText:
  5608. //
  5609. //  Invalid accessor
  5610. //
  5611.   DB_E_BADACCESSORHANDLE               = HResult($80040E00);
  5612.   {$EXTERNALSYM DB_E_BADACCESSORHANDLE}
  5613.  
  5614. //
  5615. // MessageId: DB_E_ROWLIMITEXCEEDED
  5616. //
  5617. // MessageText:
  5618. //
  5619. //  Creating another row would have exceeded the total number of active
  5620. //  rows supported by the rowset
  5621. //
  5622.   DB_E_ROWLIMITEXCEEDED                = HResult($80040E01);
  5623.   {$EXTERNALSYM DB_E_ROWLIMITEXCEEDED}
  5624.  
  5625. //
  5626. // MessageId: DB_E_READONLYACCESSOR
  5627. //
  5628. // MessageText:
  5629. //
  5630. //  Unable to write with a read-only accessor
  5631. //
  5632.   DB_E_READONLYACCESSOR                = HResult($80040E02);
  5633.   {$EXTERNALSYM DB_E_READONLYACCESSOR}
  5634.  
  5635. //
  5636. // MessageId: DB_E_SCHEMAVIOLATION
  5637. //
  5638. // MessageText:
  5639. //
  5640. //  Given values violate the database schema
  5641. //
  5642.   DB_E_SCHEMAVIOLATION                 = HResult($80040E03);
  5643.   {$EXTERNALSYM DB_E_SCHEMAVIOLATION}
  5644.  
  5645. //
  5646. // MessageId: DB_E_BADROWHANDLE
  5647. //
  5648. // MessageText:
  5649. //
  5650. //  Invalid row handle
  5651. //
  5652.   DB_E_BADROWHANDLE                    = HResult($80040E04);
  5653.   {$EXTERNALSYM DB_E_BADROWHANDLE}
  5654.  
  5655. //
  5656. // MessageId: DB_E_OBJECTOPEN
  5657. //
  5658. // MessageText:
  5659. //
  5660. //  An object was open
  5661. //
  5662.   DB_E_OBJECTOPEN                      = HResult($80040E05);
  5663.   {$EXTERNALSYM DB_E_OBJECTOPEN}
  5664.  
  5665. // @@@+ V1.5
  5666. //
  5667. // MessageId: DB_E_BADCHAPTER
  5668. //
  5669. // MessageText:
  5670. //
  5671. //  Invalid chapter
  5672. //
  5673.   DB_E_BADCHAPTER                      = HResult($80040E06);
  5674.   {$EXTERNALSYM DB_E_BADCHAPTER}
  5675.  
  5676. // @@@- V1.5
  5677.  
  5678. //
  5679. // MessageId: DB_E_CANTCONVERTVALUE
  5680. //
  5681. // MessageText:
  5682. //
  5683. //  A literal value in the command could not be converted to the
  5684. //  correct type due to a reason other than data overflow
  5685. //
  5686.   DB_E_CANTCONVERTVALUE                = HResult($80040E07);
  5687.   {$EXTERNALSYM DB_E_CANTCONVERTVALUE}
  5688.  
  5689. //
  5690. // MessageId: DB_E_BADBINDINFO
  5691. //
  5692. // MessageText:
  5693. //
  5694. //  Invalid binding info
  5695. //
  5696.   DB_E_BADBINDINFO                     = HResult($80040E08);
  5697.   {$EXTERNALSYM DB_E_BADBINDINFO}
  5698.  
  5699. //
  5700. // MessageId: DB_SEC_E_PERMISSIONDENIED
  5701. //
  5702. // MessageText:
  5703. //
  5704. //  Permission denied
  5705. //
  5706.   DB_SEC_E_PERMISSIONDENIED            = HResult($80040E09);
  5707.   {$EXTERNALSYM DB_SEC_E_PERMISSIONDENIED}
  5708.  
  5709. //
  5710. // MessageId: DB_E_NOTAREFERENCECOLUMN
  5711. //
  5712. // MessageText:
  5713. //
  5714. //  Specified column does not contain bookmarks or chapters
  5715. //
  5716.   DB_E_NOTAREFERENCECOLUMN             = HResult($80040E0A);
  5717.   {$EXTERNALSYM DB_E_NOTAREFERENCECOLUMN}
  5718.  
  5719. // @@@+ V2.5
  5720. //
  5721. // MessageId: DB_E_LIMITREJECTED
  5722. //
  5723. // MessageText:
  5724. //
  5725. //  Some cost limits were rejected
  5726. //
  5727.   DB_E_LIMITREJECTED                   = HResult($80040E0B);
  5728.   {$EXTERNALSYM DB_E_LIMITREJECTED}
  5729.  
  5730. // @@@- V2.5
  5731.  
  5732. //
  5733. // MessageId: DB_E_NOCOMMAND
  5734. //
  5735. // MessageText:
  5736. //
  5737. //  No command has been set for the command object
  5738. //
  5739.   DB_E_NOCOMMAND                       = HResult($80040E0C);
  5740.   {$EXTERNALSYM DB_E_NOCOMMAND}
  5741.  
  5742. // @@@+ V2.5
  5743. //
  5744. // MessageId: DB_E_COSTLIMIT
  5745. //
  5746. // MessageText:
  5747. //
  5748. //  Unable to find a query plan within the given cost limit
  5749. //
  5750.   DB_E_COSTLIMIT                       = HResult($80040E0D);
  5751.   {$EXTERNALSYM DB_E_COSTLIMIT}
  5752.  
  5753. // @@@- V2.5
  5754.  
  5755. //
  5756. // MessageId: DB_E_BADBOOKMARK
  5757. //
  5758. // MessageText:
  5759. //
  5760. //  Invalid bookmark
  5761. //
  5762.   DB_E_BADBOOKMARK                     = HResult($80040E0E);
  5763.   {$EXTERNALSYM DB_E_BADBOOKMARK}
  5764.  
  5765. //
  5766. // MessageId: DB_E_BADLOCKMODE
  5767. //
  5768. // MessageText:
  5769. //
  5770. //  Invalid lock mode
  5771. //
  5772.   DB_E_BADLOCKMODE                     = HResult($80040E0F);
  5773.   {$EXTERNALSYM DB_E_BADLOCKMODE}
  5774.  
  5775. //
  5776. // MessageId: DB_E_PARAMNOTOPTIONAL
  5777. //
  5778. // MessageText:
  5779. //
  5780. //  No value given for one or more required parameters
  5781. //
  5782.   DB_E_PARAMNOTOPTIONAL                = HResult($80040E10);
  5783.   {$EXTERNALSYM DB_E_PARAMNOTOPTIONAL}
  5784.  
  5785. //
  5786. // MessageId: DB_E_BADCOLUMNID
  5787. //
  5788. // MessageText:
  5789. //
  5790. //  Invalid column ID
  5791. //
  5792.   DB_E_BADCOLUMNID                     = HResult($80040E11);
  5793.   {$EXTERNALSYM DB_E_BADCOLUMNID}
  5794.  
  5795. //
  5796. // MessageId: DB_E_BADRATIO
  5797. //
  5798. // MessageText:
  5799. //
  5800. //  Invalid ratio
  5801. //
  5802.   DB_E_BADRATIO                        = HResult($80040E12);
  5803.   {$EXTERNALSYM DB_E_BADRATIO}
  5804.  
  5805. // @@@+ V2.0
  5806. //
  5807. // MessageId: DB_E_BADVALUES
  5808. //
  5809. // MessageText:
  5810. //
  5811. //  Invalid value
  5812. //
  5813.   DB_E_BADVALUES                       = HResult($80040E13);
  5814.   {$EXTERNALSYM DB_E_BADVALUES}
  5815.  
  5816. // @@@- V2.0
  5817.  
  5818. //
  5819. // MessageId: DB_E_ERRORSINCOMMAND
  5820. //
  5821. // MessageText:
  5822. //
  5823. //  The command contained one or more errors
  5824. //
  5825.   DB_E_ERRORSINCOMMAND                 = HResult($80040E14);
  5826.   {$EXTERNALSYM DB_E_ERRORSINCOMMAND}
  5827.  
  5828. //
  5829. // MessageId: DB_E_CANTCANCEL
  5830. //
  5831. // MessageText:
  5832. //
  5833. //  The executing command cannot be canceled
  5834. //
  5835.   DB_E_CANTCANCEL                      = HResult($80040E15);
  5836.   {$EXTERNALSYM DB_E_CANTCANCEL}
  5837.  
  5838. //
  5839. // MessageId: DB_E_DIALECTNOTSUPPORTED
  5840. //
  5841. // MessageText:
  5842. //
  5843. //  The provider does not support the specified dialect
  5844. //
  5845.   DB_E_DIALECTNOTSUPPORTED             = HResult($80040E16);
  5846.   {$EXTERNALSYM DB_E_DIALECTNOTSUPPORTED}
  5847.  
  5848. //
  5849. // MessageId: DB_E_DUPLICATEDATASOURCE
  5850. //
  5851. // MessageText:
  5852. //
  5853. //  A data source with the specified name already exists
  5854. //
  5855.   DB_E_DUPLICATEDATASOURCE             = HResult($80040E17);
  5856.   {$EXTERNALSYM DB_E_DUPLICATEDATASOURCE}
  5857.  
  5858. //
  5859. // MessageId: DB_E_CANNOTRESTART
  5860. //
  5861. // MessageText:
  5862. //
  5863. //  The rowset was built over a live data feed and cannot be restarted
  5864. //
  5865.   DB_E_CANNOTRESTART                   = HResult($80040E18);
  5866.   {$EXTERNALSYM DB_E_CANNOTRESTART}
  5867.  
  5868. //
  5869. // MessageId: DB_E_NOTFOUND
  5870. //
  5871. // MessageText:
  5872. //
  5873. //  No key matching the described characteristics could be found within
  5874. //  the current range
  5875. //
  5876.   DB_E_NOTFOUND                        = HResult($80040E19);
  5877.   {$EXTERNALSYM DB_E_NOTFOUND}
  5878.  
  5879. //
  5880. // MessageId: DB_E_NEWLYINSERTED
  5881. //
  5882. // MessageText:
  5883. //
  5884. //  The provider is unable to determine identity for newly inserted
  5885. //  rows
  5886. //
  5887.   DB_E_NEWLYINSERTED                   = HResult($80040E1B);
  5888.   {$EXTERNALSYM DB_E_NEWLYINSERTED}
  5889.  
  5890. // @@@+ V2.5
  5891. //
  5892. // MessageId: DB_E_CANNOTFREE
  5893. //
  5894. // MessageText:
  5895. //
  5896. //  Ownership of this tree has been given to the provider
  5897. //
  5898.   DB_E_CANNOTFREE                      = HResult($80040E1A);
  5899.   {$EXTERNALSYM DB_E_CANNOTFREE}
  5900.  
  5901. //
  5902. // MessageId: DB_E_GOALREJECTED
  5903. //
  5904. // MessageText:
  5905. //
  5906. //  No nonzero weights specified for any goals supported, so goal was
  5907. //  rejected; current goal was not changed
  5908. //
  5909.   DB_E_GOALREJECTED                    = HResult($80040E1C);
  5910.   {$EXTERNALSYM DB_E_GOALREJECTED}
  5911.  
  5912. // @@@- V2.5
  5913.  
  5914. //
  5915. // MessageId: DB_E_UNSUPPORTEDCONVERSION
  5916. //
  5917. // MessageText:
  5918. //
  5919. //  Requested conversion is not supported
  5920. //
  5921.   DB_E_UNSUPPORTEDCONVERSION           = HResult($80040E1D);
  5922.   {$EXTERNALSYM DB_E_UNSUPPORTEDCONVERSION}
  5923.  
  5924. //
  5925. // MessageId: DB_E_BADSTARTPOSITION
  5926. //
  5927. // MessageText:
  5928. //
  5929. //  lRowsOffset would position you past either end of the rowset,
  5930. //  regardless of the cRows value specified; cRowsObtained is 0
  5931. //
  5932.   DB_E_BADSTARTPOSITION                = HResult($80040E1E);
  5933.   {$EXTERNALSYM DB_E_BADSTARTPOSITION}
  5934.  
  5935. // @@@+ V2.0
  5936. //
  5937. // MessageId: DB_E_NOQUERY
  5938. //
  5939. // MessageText:
  5940. //
  5941. //  Information was requested for a query, and the query was not set
  5942. //
  5943.   DB_E_NOQUERY                         = HResult($80040E1F);
  5944.   {$EXTERNALSYM DB_E_NOQUERY}
  5945.  
  5946. // @@@- V2.0
  5947.  
  5948. //
  5949. // MessageId: DB_E_NOTREENTRANT
  5950. //
  5951. // MessageText:
  5952. //
  5953. //  Provider called a method from IRowsetNotify in the consumer and    the
  5954. //  method has not yet returned
  5955. //
  5956.   DB_E_NOTREENTRANT                    = HResult($80040E20);
  5957.   {$EXTERNALSYM DB_E_NOTREENTRANT}
  5958.  
  5959. //
  5960. // MessageId: DB_E_ERRORSOCCURRED
  5961. //
  5962. // MessageText:
  5963. //
  5964. //  Errors occurred
  5965. //
  5966.   DB_E_ERRORSOCCURRED                  = HResult($80040E21);
  5967.   {$EXTERNALSYM DB_E_ERRORSOCCURRED}
  5968.  
  5969. //
  5970. // MessageId: DB_E_NOAGGREGATION
  5971. //
  5972. // MessageText:
  5973. //
  5974. //  A non-NULL controlling IUnknown was specified and the object being
  5975. //  created does not support aggregation
  5976. //
  5977.   DB_E_NOAGGREGATION                   = HResult($80040E22);
  5978.   {$EXTERNALSYM DB_E_NOAGGREGATION}
  5979.  
  5980. //
  5981. // MessageId: DB_E_DELETEDROW
  5982. //
  5983. // MessageText:
  5984. //
  5985. //  A given HROW referred to a hard- or soft-deleted row
  5986. //
  5987.   DB_E_DELETEDROW                      = HResult($80040E23);
  5988.   {$EXTERNALSYM DB_E_DELETEDROW}
  5989.  
  5990. //
  5991. // MessageId: DB_E_CANTFETCHBACKWARDS
  5992. //
  5993. // MessageText:
  5994. //
  5995. //  The rowset does not support fetching backwards
  5996. //
  5997.   DB_E_CANTFETCHBACKWARDS              = HResult($80040E24);
  5998.   {$EXTERNALSYM DB_E_CANTFETCHBACKWARDS}
  5999.  
  6000. //
  6001. // MessageId: DB_E_ROWSNOTRELEASED
  6002. //
  6003. // MessageText:
  6004. //
  6005. //  All HROWs must be released before new ones can be obtained
  6006. //
  6007.   DB_E_ROWSNOTRELEASED                 = HResult($80040E25);
  6008.   {$EXTERNALSYM DB_E_ROWSNOTRELEASED}
  6009.  
  6010. //
  6011. // MessageId: DB_E_BADSTORAGEFLAG
  6012. //
  6013. // MessageText:
  6014. //
  6015. //  One of the specified storage flags was not supported
  6016. //
  6017.   DB_E_BADSTORAGEFLAG                  = HResult($80040E26);
  6018.   {$EXTERNALSYM DB_E_BADSTORAGEFLAG}
  6019.  
  6020. // @@@+ V1.5
  6021. //
  6022. // MessageId: DB_E_BADCOMPAREOP
  6023. //
  6024. // MessageText:
  6025. //
  6026. //  The comparison operator was invalid
  6027. //
  6028.   DB_E_BADCOMPAREOP                    = HResult($80040E27);
  6029.   {$EXTERNALSYM DB_E_BADCOMPAREOP}
  6030.  
  6031. // @@@- V1.5
  6032.  
  6033. //
  6034. // MessageId: DB_E_BADSTATUSVALUE
  6035. //
  6036. // MessageText:
  6037. //
  6038. //  The specified status flag was neither DBCOLUMNSTATUS_OK nor
  6039. //  DBCOLUMNSTATUS_ISNULL
  6040. //
  6041.   DB_E_BADSTATUSVALUE                  = HResult($80040E28);
  6042.   {$EXTERNALSYM DB_E_BADSTATUSVALUE}
  6043.  
  6044. //
  6045. // MessageId: DB_E_CANTSCROLLBACKWARDS
  6046. //
  6047. // MessageText:
  6048. //
  6049. //  The rowset cannot scroll backwards
  6050. //
  6051.   DB_E_CANTSCROLLBACKWARDS             = HResult($80040E29);
  6052.   {$EXTERNALSYM DB_E_CANTSCROLLBACKWARDS}
  6053.  
  6054. // @@@+ V2.5
  6055. //
  6056. // MessageId: DB_E_BADREGIONHANDLE
  6057. //
  6058. // MessageText:
  6059. //
  6060. //  Invalid region handle
  6061. //
  6062.   DB_E_BADREGIONHANDLE                 = HResult($80040E2A);
  6063.   {$EXTERNALSYM DB_E_BADREGIONHANDLE}
  6064.  
  6065. //
  6066. // MessageId: DB_E_NONCONTIGUOUSRANGE
  6067. //
  6068. // MessageText:
  6069. //
  6070. //  The specified set of rows was not contiguous to or overlapping the
  6071. //  rows in the specified watch region
  6072. //
  6073.   DB_E_NONCONTIGUOUSRANGE              = HResult($80040E2B);
  6074.   {$EXTERNALSYM DB_E_NONCONTIGUOUSRANGE}
  6075.  
  6076. //
  6077. // MessageId: DB_E_INVALIDTRANSITION
  6078. //
  6079. // MessageText:
  6080. //
  6081. //  A transition from ALL* to MOVE* or EXTEND* was specified
  6082. //
  6083.   DB_E_INVALIDTRANSITION               = HResult($80040E2C);
  6084.   {$EXTERNALSYM DB_E_INVALIDTRANSITION}
  6085.  
  6086. //
  6087. // MessageId: DB_E_NOTASUBREGION
  6088. //
  6089. // MessageText:
  6090. //
  6091. //  The specified region is not a proper subregion of the region
  6092. //  identified by the given watch region handle
  6093. //
  6094.   DB_E_NOTASUBREGION                   = HResult($80040E2D);
  6095.   {$EXTERNALSYM DB_E_NOTASUBREGION}
  6096.  
  6097. // @@@- V2.5
  6098.  
  6099. //
  6100. // MessageId: DB_E_MULTIPLESTATEMENTS
  6101. //
  6102. // MessageText:
  6103. //
  6104. //  The provider does not support multi-statement commands
  6105. //
  6106.   DB_E_MULTIPLESTATEMENTS              = HResult($80040E2E);
  6107.   {$EXTERNALSYM DB_E_MULTIPLESTATEMENTS}
  6108.  
  6109. //
  6110. // MessageId: DB_E_INTEGRITYVIOLATION
  6111. //
  6112. // MessageText:
  6113. //
  6114. //  A specified value violated the integrity constraints for a column or
  6115. //  table
  6116. //
  6117.   DB_E_INTEGRITYVIOLATION              = HResult($80040E2F);
  6118.   {$EXTERNALSYM DB_E_INTEGRITYVIOLATION}
  6119.  
  6120. //
  6121. // MessageId: DB_E_BADTYPENAME
  6122. //
  6123. // MessageText:
  6124. //
  6125. //  The given type name was unrecognized
  6126. //
  6127.   DB_E_BADTYPENAME                     = HResult($80040E30);
  6128.   {$EXTERNALSYM DB_E_BADTYPENAME}
  6129.  
  6130. //
  6131. // MessageId: DB_E_ABORTLIMITREACHED
  6132. //
  6133. // MessageText:
  6134. //
  6135. //  Execution aborted because a resource limit has been reached; no
  6136. //  results have been returned
  6137. //
  6138.   DB_E_ABORTLIMITREACHED               = HResult($80040E31);
  6139.   {$EXTERNALSYM DB_E_ABORTLIMITREACHED}
  6140.  
  6141. // @@@+ V2.0
  6142. //
  6143. // MessageId: DB_E_ROWSETINCOMMAND
  6144. //
  6145. // MessageText:
  6146. //
  6147. //  Cannot clone a command object whose command tree contains a rowset
  6148. //  or rowsets
  6149. //
  6150.   DB_E_ROWSETINCOMMAND                 = HResult($80040E32);
  6151.   {$EXTERNALSYM DB_E_ROWSETINCOMMAND}
  6152.  
  6153. //
  6154. // MessageId: DB_E_CANTTRANSLATE
  6155. //
  6156. // MessageText:
  6157. //
  6158. //  Cannot represent the current tree as text
  6159. //
  6160.   DB_E_CANTTRANSLATE                   = HResult($80040E33);
  6161.   {$EXTERNALSYM DB_E_CANTTRANSLATE}
  6162.  
  6163. // @@@- V2.0
  6164.  
  6165. //
  6166. // MessageId: DB_E_DUPLICATEINDEXID
  6167. //
  6168. // MessageText:
  6169. //
  6170. //  The specified index already exists
  6171. //
  6172.   DB_E_DUPLICATEINDEXID                = HResult($80040E34);
  6173.   {$EXTERNALSYM DB_E_DUPLICATEINDEXID}
  6174.  
  6175. //
  6176. // MessageId: DB_E_NOINDEX
  6177. //
  6178. // MessageText:
  6179. //
  6180. //  The specified index does not exist
  6181. //
  6182.   DB_E_NOINDEX                         = HResult($80040E35);
  6183.   {$EXTERNALSYM DB_E_NOINDEX}
  6184.  
  6185. //
  6186. // MessageId: DB_E_INDEXINUSE
  6187. //
  6188. // MessageText:
  6189. //
  6190. //  The specified index was in use
  6191. //
  6192.   DB_E_INDEXINUSE                      = HResult($80040E36);
  6193.   {$EXTERNALSYM DB_E_INDEXINUSE}
  6194.  
  6195. //
  6196. // MessageId: DB_E_NOTABLE
  6197. //
  6198. // MessageText:
  6199. //
  6200. //  The specified table does not exist
  6201. //
  6202.   DB_E_NOTABLE                         = HResult($80040E37);
  6203.   {$EXTERNALSYM DB_E_NOTABLE}
  6204.  
  6205. //
  6206. // MessageId: DB_E_CONCURRENCYVIOLATION
  6207. //
  6208. // MessageText:
  6209. //
  6210. //  The rowset was using optimistic concurrency and the value of a
  6211. //  column has been changed since it was last read
  6212. //
  6213.   DB_E_CONCURRENCYVIOLATION            = HResult($80040E38);
  6214.   {$EXTERNALSYM DB_E_CONCURRENCYVIOLATION}
  6215.  
  6216. //
  6217. // MessageId: DB_E_BADCOPY
  6218. //
  6219. // MessageText:
  6220. //
  6221. //  Errors were detected during the copy
  6222. //
  6223.   DB_E_BADCOPY                         = HResult($80040E39);
  6224.   {$EXTERNALSYM DB_E_BADCOPY}
  6225.  
  6226. //
  6227. // MessageId: DB_E_BADPRECISION
  6228. //
  6229. // MessageText:
  6230. //
  6231. //  A specified precision was invalid
  6232. //
  6233.   DB_E_BADPRECISION                    = HResult($80040E3A);
  6234.   {$EXTERNALSYM DB_E_BADPRECISION}
  6235.  
  6236. //
  6237. // MessageId: DB_E_BADSCALE
  6238. //
  6239. // MessageText:
  6240. //
  6241. //  A specified scale was invalid
  6242. //
  6243.   DB_E_BADSCALE                        = HResult($80040E3B);
  6244.   {$EXTERNALSYM DB_E_BADSCALE}
  6245.  
  6246. //
  6247. // MessageId: DB_E_BADTABLEID
  6248. //
  6249. // MessageText:
  6250. //
  6251. //  Invalid table ID
  6252. //
  6253.   DB_E_BADTABLEID                      = HResult($80040E3C);
  6254.   {$EXTERNALSYM DB_E_BADTABLEID}
  6255.  
  6256. // DB_E_BADID is deprecated; use DB_E_BADTABLEID instead
  6257.   DB_E_BADID     = DB_E_BADTABLEID;
  6258.   {$EXTERNALSYM DB_E_BADID}
  6259.  
  6260. //
  6261. // MessageId: DB_E_BADTYPE
  6262. //
  6263. // MessageText:
  6264. //
  6265. //  A specified type was invalid
  6266. //
  6267.   DB_E_BADTYPE                         = HResult($80040E3D);
  6268.   {$EXTERNALSYM DB_E_BADTYPE}
  6269.  
  6270. //
  6271. // MessageId: DB_E_DUPLICATECOLUMNID
  6272. //
  6273. // MessageText:
  6274. //
  6275. //  A column ID was occurred more than once in the specification
  6276. //
  6277.   DB_E_DUPLICATECOLUMNID               = HResult($80040E3E);
  6278.   {$EXTERNALSYM DB_E_DUPLICATECOLUMNID}
  6279.  
  6280. //
  6281. // MessageId: DB_E_DUPLICATETABLEID
  6282. //
  6283. // MessageText:
  6284. //
  6285. //  The specified table already exists
  6286. //
  6287.   DB_E_DUPLICATETABLEID                = HResult($80040E3F);
  6288.   {$EXTERNALSYM DB_E_DUPLICATETABLEID}
  6289.  
  6290. //
  6291. // MessageId: DB_E_TABLEINUSE
  6292. //
  6293. // MessageText:
  6294. //
  6295. //  The specified table was in use
  6296. //
  6297.   DB_E_TABLEINUSE                      = HResult($80040E40);
  6298.   {$EXTERNALSYM DB_E_TABLEINUSE}
  6299.  
  6300. //
  6301. // MessageId: DB_E_NOLOCALE
  6302. //
  6303. // MessageText:
  6304. //
  6305. //  The specified locale ID was not supported
  6306. //
  6307.   DB_E_NOLOCALE                        = HResult($80040E41);
  6308.   {$EXTERNALSYM DB_E_NOLOCALE}
  6309.  
  6310. //
  6311. // MessageId: DB_E_BADRECORDNUM
  6312. //
  6313. // MessageText:
  6314. //
  6315. //  The specified record number is invalid
  6316. //
  6317.   DB_E_BADRECORDNUM                    = HResult($80040E42);
  6318.   {$EXTERNALSYM DB_E_BADRECORDNUM}
  6319.  
  6320. //
  6321. // MessageId: DB_E_BOOKMARKSKIPPED
  6322. //
  6323. // MessageText:
  6324. //
  6325. //  Although the bookmark was validly formed, no row could be found to
  6326. //  match it
  6327. //
  6328.   DB_E_BOOKMARKSKIPPED                 = HResult($80040E43);
  6329.   {$EXTERNALSYM DB_E_BOOKMARKSKIPPED}
  6330.  
  6331. //
  6332. // MessageId: DB_E_BADPROPERTYVALUE
  6333. //
  6334. // MessageText:
  6335. //
  6336. //  The value of a property was invalid
  6337. //
  6338.   DB_E_BADPROPERTYVALUE                = HResult($80040E44);
  6339.   {$EXTERNALSYM DB_E_BADPROPERTYVALUE}
  6340.  
  6341. //
  6342. // MessageId: DB_E_INVALID
  6343. //
  6344. // MessageText:
  6345. //
  6346. //  The rowset was not chaptered
  6347. //
  6348.   DB_E_INVALID                         = HResult($80040E45);
  6349.   {$EXTERNALSYM DB_E_INVALID}
  6350.  
  6351. //
  6352. // MessageId: DB_E_BADACCESSORFLAGS
  6353. //
  6354. // MessageText:
  6355. //
  6356. //  Invalid accessor
  6357. //
  6358.   DB_E_BADACCESSORFLAGS                = HResult($80040E46);
  6359.   {$EXTERNALSYM DB_E_BADACCESSORFLAGS}
  6360.  
  6361. //
  6362. // MessageId: DB_E_BADSTORAGEFLAGS
  6363. //
  6364. // MessageText:
  6365. //
  6366. //  Invalid storage flags
  6367. //
  6368.   DB_E_BADSTORAGEFLAGS                 = HResult($80040E47);
  6369.   {$EXTERNALSYM DB_E_BADSTORAGEFLAGS}
  6370.  
  6371. //
  6372. // MessageId: DB_E_BYREFACCESSORNOTSUPPORTED
  6373. //
  6374. // MessageText:
  6375. //
  6376. //  By-ref accessors are not supported by this provider
  6377. //
  6378.   DB_E_BYREFACCESSORNOTSUPPORTED       = HResult($80040E48);
  6379.   {$EXTERNALSYM DB_E_BYREFACCESSORNOTSUPPORTED}
  6380.  
  6381. //
  6382. // MessageId: DB_E_NULLACCESSORNOTSUPPORTED
  6383. //
  6384. // MessageText:
  6385. //
  6386. //  Null accessors are not supported by this provider
  6387. //
  6388.   DB_E_NULLACCESSORNOTSUPPORTED        = HResult($80040E49);
  6389.   {$EXTERNALSYM DB_E_NULLACCESSORNOTSUPPORTED}
  6390.  
  6391. //
  6392. // MessageId: DB_E_NOTPREPARED
  6393. //
  6394. // MessageText:
  6395. //
  6396. //  The command was not prepared
  6397. //
  6398.   DB_E_NOTPREPARED                     = HResult($80040E4A);
  6399.   {$EXTERNALSYM DB_E_NOTPREPARED}
  6400.  
  6401. //
  6402. // MessageId: DB_E_BADACCESSORTYPE
  6403. //
  6404. // MessageText:
  6405. //
  6406. //  The specified accessor was not a parameter accessor
  6407. //
  6408.   DB_E_BADACCESSORTYPE                 = HResult($80040E4B);
  6409.   {$EXTERNALSYM DB_E_BADACCESSORTYPE}
  6410.  
  6411. //
  6412. // MessageId: DB_E_WRITEONLYACCESSOR
  6413. //
  6414. // MessageText:
  6415. //
  6416. //  The given accessor was write-only
  6417. //
  6418.   DB_E_WRITEONLYACCESSOR               = HResult($80040E4C);
  6419.   {$EXTERNALSYM DB_E_WRITEONLYACCESSOR}
  6420.  
  6421. //
  6422. // MessageId: DB_SEC_E_AUTH_FAILED
  6423. //
  6424. // MessageText:
  6425. //
  6426. //  Authentication failed
  6427. //
  6428.   DB_SEC_E_AUTH_FAILED                 = HResult($80040E4D);
  6429.   {$EXTERNALSYM DB_SEC_E_AUTH_FAILED}
  6430.  
  6431. //
  6432. // MessageId: DB_E_CANCELED
  6433. //
  6434. // MessageText:
  6435. //
  6436. //  The change was canceled during notification; no columns are changed
  6437. //
  6438.   DB_E_CANCELED                        = HResult($80040E4E);
  6439.   {$EXTERNALSYM DB_E_CANCELED}
  6440.  
  6441. // @@@+ V2.0
  6442. //
  6443. // MessageId: DB_E_CHAPTERNOTRELEASED
  6444. //
  6445. // MessageText:
  6446. //
  6447. //  The rowset was single-chaptered and the chapter was not released
  6448. //
  6449.   DB_E_CHAPTERNOTRELEASED              = HResult($80040E4F);
  6450.   {$EXTERNALSYM DB_E_CHAPTERNOTRELEASED}
  6451.  
  6452. // @@@- V2.0
  6453.  
  6454. //
  6455. // MessageId: DB_E_BADSOURCEHANDLE
  6456. //
  6457. // MessageText:
  6458. //
  6459. //  Invalid source handle
  6460. //
  6461.   DB_E_BADSOURCEHANDLE                 = HResult($80040E50);
  6462.   {$EXTERNALSYM DB_E_BADSOURCEHANDLE}
  6463.  
  6464. //
  6465. // MessageId: DB_E_PARAMUNAVAILABLE
  6466. //
  6467. // MessageText:
  6468. //
  6469. //  The provider cannot derive parameter info and SetParameterInfo has
  6470. //  not been called
  6471. //
  6472.   DB_E_PARAMUNAVAILABLE                = HResult($80040E51);
  6473.   {$EXTERNALSYM DB_E_PARAMUNAVAILABLE}
  6474.  
  6475. //
  6476. // MessageId: DB_E_ALREADYINITIALIZED
  6477. //
  6478. // MessageText:
  6479. //
  6480. //  The data source object is already initialized
  6481. //
  6482.   DB_E_ALREADYINITIALIZED              = HResult($80040E52);
  6483.   {$EXTERNALSYM DB_E_ALREADYINITIALIZED}
  6484.  
  6485. //
  6486. // MessageId: DB_E_NOTSUPPORTED
  6487. //
  6488. // MessageText:
  6489. //
  6490. //  The provider does not support this method
  6491. //
  6492.   DB_E_NOTSUPPORTED                    = HResult($80040E53);
  6493.   {$EXTERNALSYM DB_E_NOTSUPPORTED}
  6494.  
  6495. //
  6496. // MessageId: DB_E_MAXPENDCHANGESEXCEEDED
  6497. //
  6498. // MessageText:
  6499. //
  6500. //  The number of rows with pending changes has exceeded the set limit
  6501. //
  6502.   DB_E_MAXPENDCHANGESEXCEEDED          = HResult($80040E54);
  6503.   {$EXTERNALSYM DB_E_MAXPENDCHANGESEXCEEDED}
  6504.  
  6505. //
  6506. // MessageId: DB_E_BADORDINAL
  6507. //
  6508. // MessageText:
  6509. //
  6510. //  The specified column did not exist
  6511. //
  6512.   DB_E_BADORDINAL                      = HResult($80040E55);
  6513.   {$EXTERNALSYM DB_E_BADORDINAL}
  6514.  
  6515. //
  6516. // MessageId: DB_E_PENDINGCHANGES
  6517. //
  6518. // MessageText:
  6519. //
  6520. //  There are pending changes on a row with a reference count of zero
  6521. //
  6522.   DB_E_PENDINGCHANGES                  = HResult($80040E56);
  6523.   {$EXTERNALSYM DB_E_PENDINGCHANGES}
  6524.  
  6525. //
  6526. // MessageId: DB_E_DATAOVERFLOW
  6527. //
  6528. // MessageText:
  6529. //
  6530. //  A literal value in the command overflowed the range of the type of
  6531. //  the associated column
  6532. //
  6533.   DB_E_DATAOVERFLOW                    = HResult($80040E57);
  6534.   {$EXTERNALSYM DB_E_DATAOVERFLOW}
  6535.  
  6536. //
  6537. // MessageId: DB_E_BADHRESULT
  6538. //
  6539. // MessageText:
  6540. //
  6541. //  The supplied HRESULT was invalid
  6542. //
  6543.   DB_E_BADHRESULT                      = HResult($80040E58);
  6544.   {$EXTERNALSYM DB_E_BADHRESULT}
  6545.  
  6546. //
  6547. // MessageId: DB_E_BADLOOKUPID
  6548. //
  6549. // MessageText:
  6550. //
  6551. //  The supplied LookupID was invalid
  6552. //
  6553.   DB_E_BADLOOKUPID                     = HResult($80040E59);
  6554.   {$EXTERNALSYM DB_E_BADLOOKUPID}
  6555.  
  6556. //
  6557. // MessageId: DB_E_BADDYNAMICERRORID
  6558. //
  6559. // MessageText:
  6560. //
  6561. //  The supplied DynamicErrorID was invalid
  6562. //
  6563.   DB_E_BADDYNAMICERRORID               = HResult($80040E5A);
  6564.   {$EXTERNALSYM DB_E_BADDYNAMICERRORID}
  6565.  
  6566. //
  6567. // MessageId: DB_E_PENDINGINSERT
  6568. //
  6569. // MessageText:
  6570. //
  6571. //  Unable to get visible data for a newly-inserted row that has not
  6572. //  yet been updated
  6573. //
  6574.   DB_E_PENDINGINSERT                   = HResult($80040E5B);
  6575.   {$EXTERNALSYM DB_E_PENDINGINSERT}
  6576.  
  6577. //
  6578. // MessageId: DB_E_BADCONVERTFLAG
  6579. //
  6580. // MessageText:
  6581. //
  6582. //  Invalid conversion flag
  6583. //
  6584.   DB_E_BADCONVERTFLAG                  = HResult($80040E5C);
  6585.   {$EXTERNALSYM DB_E_BADCONVERTFLAG}
  6586.  
  6587. //
  6588. // MessageId: DB_E_BADPARAMETERNAME
  6589. //
  6590. // MessageText:
  6591. //
  6592. //  The given parameter name was unrecognized
  6593. //
  6594.   DB_E_BADPARAMETERNAME                = HResult($80040E5D);
  6595.   {$EXTERNALSYM DB_E_BADPARAMETERNAME}
  6596.  
  6597. //
  6598. // MessageId: DB_E_MULTIPLESTORAGE
  6599. //
  6600. // MessageText:
  6601. //
  6602. //  Multiple storage objects can not be open simultaneously
  6603. //
  6604.   DB_E_MULTIPLESTORAGE                 = HResult($80040E5E);
  6605.   {$EXTERNALSYM DB_E_MULTIPLESTORAGE}
  6606.  
  6607. //
  6608. // MessageId: DB_E_CANTFILTER
  6609. //
  6610. // MessageText:
  6611. //
  6612. //  The requested filter could not be opened
  6613. //
  6614.   DB_E_CANTFILTER                      = HResult($80040E5F);
  6615.   {$EXTERNALSYM DB_E_CANTFILTER}
  6616.  
  6617. //
  6618. // MessageId: DB_E_CANTORDER
  6619. //
  6620. // MessageText:
  6621. //
  6622. //  The requested order could not be opened
  6623. //
  6624.   DB_E_CANTORDER                       = HResult($80040E60);
  6625.   {$EXTERNALSYM DB_E_CANTORDER}
  6626.  
  6627. // @@@+ V2.0
  6628. //
  6629. // MessageId: MD_E_BADTUPLE
  6630. //
  6631. // MessageText:
  6632. //
  6633. //  Bad tuple
  6634. //
  6635.   MD_E_BADTUPLE                        = HResult($80040E61);
  6636.   {$EXTERNALSYM MD_E_BADTUPLE}
  6637.  
  6638. //
  6639. // MessageId: MD_E_BADCOORDINATE
  6640. //
  6641. // MessageText:
  6642. //
  6643. //  Bad coordinate
  6644. //
  6645.   MD_E_BADCOORDINATE                   = HResult($80040E62);
  6646.   {$EXTERNALSYM MD_E_BADCOORDINATE}
  6647.  
  6648. //
  6649. // MessageId: MD_E_INVALIDAXIS
  6650. //
  6651. // MessageText:
  6652. //
  6653. //  The given aixs was not valid for this Dataset
  6654. //
  6655.   MD_E_INVALIDAXIS                     = HResult($80040E63);
  6656.   {$EXTERNALSYM MD_E_INVALIDAXIS}
  6657.  
  6658. //
  6659. // MessageId: MD_E_INVALIDCELLRANGE
  6660. //
  6661. // MessageText:
  6662. //
  6663. //  One or more of the given cell ordinals was invalid
  6664. //
  6665.   MD_E_INVALIDCELLRANGE                = HResult($80040E64);
  6666.   {$EXTERNALSYM MD_E_INVALIDCELLRANGE}
  6667.  
  6668. //
  6669. // MessageId: DB_E_NOCOLUMN
  6670. //
  6671. // MessageText:
  6672. //
  6673. //  The supplied columnID was invalid
  6674. //
  6675.   DB_E_NOCOLUMN                        = HResult($80040E65);
  6676.   {$EXTERNALSYM DB_E_NOCOLUMN}
  6677.  
  6678. //
  6679. // MessageId: DB_E_COMMANDNOTPERSISTED
  6680. //
  6681. // MessageText:
  6682. //
  6683. //  The supplied command does not have a DBID
  6684. //
  6685.   DB_E_COMMANDNOTPERSISTED             = HResult($80040E67);
  6686.   {$EXTERNALSYM DB_E_COMMANDNOTPERSISTED}
  6687.  
  6688. //
  6689. // MessageId: DB_E_DUPLICATEID
  6690. //
  6691. // MessageText:
  6692. //
  6693. //  The supplied DBID already exists
  6694. //
  6695.   DB_E_DUPLICATEID                     = HResult($80040E68);
  6696.   {$EXTERNALSYM DB_E_DUPLICATEID}
  6697.  
  6698. //
  6699. // MessageId: DB_E_OBJECTCREATIONLIMITREACHED
  6700. //
  6701. // MessageText:
  6702. //
  6703. //  The maximum number of Sessions supported by the provider has
  6704. //  already been created. The consumer must release one or more
  6705. //  currently held Sessions before obtaining a new Session Object
  6706. //
  6707.   DB_E_OBJECTCREATIONLIMITREACHED      = HResult($80040E69);
  6708.   {$EXTERNALSYM DB_E_OBJECTCREATIONLIMITREACHED}
  6709.  
  6710. //
  6711. // MessageId: DB_E_BADINDEXID
  6712. //
  6713. // MessageText:
  6714. //
  6715. //  The index ID is invalid
  6716. //
  6717.   DB_E_BADINDEXID                      = HResult($80040E72);
  6718.   {$EXTERNALSYM DB_E_BADINDEXID}
  6719.  
  6720. //
  6721. // MessageId: DB_E_BADINITSTRING
  6722. //
  6723. // MessageText:
  6724. //
  6725. //  The initialization string specified does not conform to specificiation
  6726. //
  6727.   DB_E_BADINITSTRING                   = HResult($80040E73);
  6728.   {$EXTERNALSYM DB_E_BADINITSTRING}
  6729.  
  6730. //
  6731. // MessageId: DB_E_NOPROVIDERSREGISTERED
  6732. //
  6733. // MessageText:
  6734. //
  6735. //  The OLE DB root enumerator did not return any providers that
  6736. //  matched any of the SOURCES_TYPEs requested
  6737. //
  6738.   DB_E_NOPROVIDERSREGISTERED           = HResult($80040E74);
  6739.   {$EXTERNALSYM DB_E_NOPROVIDERSREGISTERED}
  6740.  
  6741. //
  6742. // MessageId: DB_E_MISMATCHEDPROVIDER
  6743. //
  6744. // MessageText:
  6745. //
  6746. //  The initialization string specifies a provider which does not match the currently active provider
  6747. //
  6748.   DB_E_MISMATCHEDPROVIDER              = HResult($80040E75);
  6749.   {$EXTERNALSYM DB_E_MISMATCHEDPROVIDER}
  6750.  
  6751. //
  6752. // MessageId: SEC_E_BADTRUSTEEID
  6753. //
  6754. // MessageText:
  6755. //
  6756. //  Invalid trustee value
  6757. //
  6758.   SEC_E_BADTRUSTEEID                   = HResult($80040E6A);
  6759.   {$EXTERNALSYM SEC_E_BADTRUSTEEID}
  6760.  
  6761. //
  6762. // MessageId: SEC_E_NOTRUSTEEID
  6763. //
  6764. // MessageText:
  6765. //
  6766. //  The trustee is not for the current data source
  6767. //
  6768.   SEC_E_NOTRUSTEEID                    = HResult($80040E6B);
  6769.   {$EXTERNALSYM SEC_E_NOTRUSTEEID}
  6770.  
  6771. //
  6772. // MessageId: SEC_E_NOMEMBERSHIPSUPPORT
  6773. //
  6774. // MessageText:
  6775. //
  6776. //  The trustee does not support memberships/collections
  6777. //
  6778.   SEC_E_NOMEMBERSHIPSUPPORT            = HResult($80040E6C);
  6779.   {$EXTERNALSYM SEC_E_NOMEMBERSHIPSUPPORT}
  6780.  
  6781. //
  6782. // MessageId: SEC_E_INVALIDOBJECT
  6783. //
  6784. // MessageText:
  6785. //
  6786. //  The object is invalid or unknown to the provider
  6787. //
  6788.   SEC_E_INVALIDOBJECT                  = HResult($80040E6D);
  6789.   {$EXTERNALSYM SEC_E_INVALIDOBJECT}
  6790.  
  6791. //
  6792. // MessageId: SEC_E_NOOWNER
  6793. //
  6794. // MessageText:
  6795. //
  6796. //  No owner exists for the object
  6797. //
  6798.   SEC_E_NOOWNER                        = HResult($80040E6E);
  6799.   {$EXTERNALSYM SEC_E_NOOWNER}
  6800.  
  6801. //
  6802. // MessageId: SEC_E_INVALIDACCESSENTRYLIST
  6803. //
  6804. // MessageText:
  6805. //
  6806. //  The access entry list supplied is invalid
  6807. //
  6808.   SEC_E_INVALIDACCESSENTRYLIST         = HResult($80040E6F);
  6809.   {$EXTERNALSYM SEC_E_INVALIDACCESSENTRYLIST}
  6810.  
  6811. //
  6812. // MessageId: SEC_E_INVALIDOWNER
  6813. //
  6814. // MessageText:
  6815. //
  6816. //  The trustee supplied as owner is invalid or unknown to the provider
  6817. //
  6818.   SEC_E_INVALIDOWNER                   = HResult($80040E70);
  6819.   {$EXTERNALSYM SEC_E_INVALIDOWNER}
  6820.  
  6821. //
  6822. // MessageId: SEC_E_INVALIDACCESSENTRY
  6823. //
  6824. // MessageText:
  6825. //
  6826. //  The permission supplied in the access entry list is invalid
  6827. //
  6828.   SEC_E_INVALIDACCESSENTRY             = HResult($80040E71);
  6829.   {$EXTERNALSYM SEC_E_INVALIDACCESSENTRY}
  6830.  
  6831.   SEC_E_PERMISSIONDENIED     = DB_SEC_E_PERMISSIONDENIED;
  6832.   {$EXTERNALSYM SEC_E_PERMISSIONDENIED}
  6833. // @@@- V2.1
  6834.  
  6835. //
  6836. // MessageId: DB_S_ROWLIMITEXCEEDED
  6837. //
  6838. // MessageText:
  6839. //
  6840. //  Fetching requested number of rows would have exceeded total number
  6841. //  of active rows supported by the rowset
  6842. //
  6843.   DB_S_ROWLIMITEXCEEDED                = $00040EC0;
  6844.   {$EXTERNALSYM DB_S_ROWLIMITEXCEEDED}
  6845.  
  6846. //
  6847. // MessageId: DB_S_COLUMNTYPEMISMATCH
  6848. //
  6849. // MessageText:
  6850. //
  6851. //  One or more column types are incompatible; conversion errors will
  6852. //  occur during copying
  6853. //
  6854.   DB_S_COLUMNTYPEMISMATCH              = $00040EC1;
  6855.   {$EXTERNALSYM DB_S_COLUMNTYPEMISMATCH}
  6856.  
  6857. //
  6858. // MessageId: DB_S_TYPEINFOOVERRIDDEN
  6859. //
  6860. // MessageText:
  6861. //
  6862. //  Parameter type information has been overridden by caller
  6863. //
  6864.   DB_S_TYPEINFOOVERRIDDEN              = $00040EC2;
  6865.   {$EXTERNALSYM DB_S_TYPEINFOOVERRIDDEN}
  6866.  
  6867. //
  6868. // MessageId: DB_S_BOOKMARKSKIPPED
  6869. //
  6870. // MessageText:
  6871. //
  6872. //  Skipped bookmark for deleted or non-member row
  6873. //
  6874.   DB_S_BOOKMARKSKIPPED                 = $00040EC3;
  6875.   {$EXTERNALSYM DB_S_BOOKMARKSKIPPED}
  6876.  
  6877. // @@@+ V2.0
  6878. //
  6879. // MessageId: DB_S_NONEXTROWSET
  6880. //
  6881. // MessageText:
  6882. //
  6883. //  There are no more rowsets
  6884. //
  6885.   DB_S_NONEXTROWSET                    = $00040EC5;
  6886.   {$EXTERNALSYM DB_S_NONEXTROWSET}
  6887.  
  6888. // @@@- V2.0
  6889.  
  6890. //
  6891. // MessageId: DB_S_ENDOFROWSET
  6892. //
  6893. // MessageText:
  6894. //
  6895. //  Reached start or end of rowset or chapter
  6896. //
  6897.   DB_S_ENDOFROWSET                     = $00040EC6;
  6898.   {$EXTERNALSYM DB_S_ENDOFROWSET}
  6899.  
  6900. //
  6901. // MessageId: DB_S_COMMANDREEXECUTED
  6902. //
  6903. // MessageText:
  6904. //
  6905. //  The provider re-executed the command
  6906. //
  6907.   DB_S_COMMANDREEXECUTED               = $00040EC7;
  6908.   {$EXTERNALSYM DB_S_COMMANDREEXECUTED}
  6909.  
  6910. //
  6911. // MessageId: DB_S_BUFFERFULL
  6912. //
  6913. // MessageText:
  6914. //
  6915. //  Variable data buffer full
  6916. //
  6917.   DB_S_BUFFERFULL                      = $00040EC8;
  6918.   {$EXTERNALSYM DB_S_BUFFERFULL}
  6919.  
  6920. //
  6921. // MessageId: DB_S_NORESULT
  6922. //
  6923. // MessageText:
  6924. //
  6925. //  There are no more results
  6926. //
  6927.   DB_S_NORESULT                        = $00040EC9;
  6928.   {$EXTERNALSYM DB_S_NORESULT}
  6929.  
  6930. //
  6931. // MessageId: DB_S_CANTRELEASE
  6932. //
  6933. // MessageText:
  6934. //
  6935. //  Server cannot release or downgrade a lock until the end of the
  6936. //  transaction
  6937. //
  6938.   DB_S_CANTRELEASE                     = $00040ECA;
  6939.   {$EXTERNALSYM DB_S_CANTRELEASE}
  6940.  
  6941. // @@@+ V2.5
  6942. //
  6943. // MessageId: DB_S_GOALCHANGED
  6944. //
  6945. // MessageText:
  6946. //
  6947. //  Specified weight was not supported or exceeded the supported limit
  6948. //  and was set to 0 or the supported limit
  6949. //
  6950.   DB_S_GOALCHANGED                     = $00040ECB;
  6951.   {$EXTERNALSYM DB_S_GOALCHANGED}
  6952.  
  6953. // @@@- V2.5
  6954.  
  6955. // @@@+ V1.5
  6956. //
  6957. // MessageId: DB_S_UNWANTEDOPERATION
  6958. //
  6959. // MessageText:
  6960. //
  6961. //  Consumer is uninterested in receiving further notification calls for
  6962. //  this reason
  6963. //
  6964.   DB_S_UNWANTEDOPERATION               = $00040ECC;
  6965.   {$EXTERNALSYM DB_S_UNWANTEDOPERATION}
  6966.  
  6967. // @@@- V1.5
  6968.  
  6969. //
  6970. // MessageId: DB_S_DIALECTIGNORED
  6971. //
  6972. // MessageText:
  6973. //
  6974. //  Input dialect was ignored and text was returned in different
  6975. //  dialect
  6976. //
  6977.   DB_S_DIALECTIGNORED                  = $00040ECD;
  6978.   {$EXTERNALSYM DB_S_DIALECTIGNORED}
  6979.  
  6980. //
  6981. // MessageId: DB_S_UNWANTEDPHASE
  6982. //
  6983. // MessageText:
  6984. //
  6985. //  Consumer is uninterested in receiving further notification calls for
  6986. //  this phase
  6987. //
  6988.   DB_S_UNWANTEDPHASE                   = $00040ECE;
  6989.   {$EXTERNALSYM DB_S_UNWANTEDPHASE}
  6990.  
  6991. //
  6992. // MessageId: DB_S_UNWANTEDREASON
  6993. //
  6994. // MessageText:
  6995. //
  6996. //  Consumer is uninterested in receiving further notification calls for
  6997. //  this reason
  6998. //
  6999.   DB_S_UNWANTEDREASON                  = $00040ECF;
  7000.   {$EXTERNALSYM DB_S_UNWANTEDREASON}
  7001.  
  7002. // @@@+ V1.5
  7003. //
  7004. // MessageId: DB_S_ASYNCHRONOUS
  7005. //
  7006. // MessageText:
  7007. //
  7008. //  The operation is being processed asynchronously
  7009. //
  7010.   DB_S_ASYNCHRONOUS                    = $00040ED0;
  7011.   {$EXTERNALSYM DB_S_ASYNCHRONOUS}
  7012.  
  7013. // @@@- V1.5
  7014.  
  7015. //
  7016. // MessageId: DB_S_COLUMNSCHANGED
  7017. //
  7018. // MessageText:
  7019. //
  7020. //  In order to reposition to the start of the rowset, the provider had
  7021. //  to reexecute the query; either the order of the columns changed or
  7022. //  columns were added to or removed from the rowset
  7023. //
  7024.   DB_S_COLUMNSCHANGED                  = $00040ED1;
  7025.   {$EXTERNALSYM DB_S_COLUMNSCHANGED}
  7026.  
  7027. //
  7028. // MessageId: DB_S_ERRORSRETURNED
  7029. //
  7030. // MessageText:
  7031. //
  7032. //  The method had some errors; errors have been returned in the error
  7033. //  array
  7034. //
  7035.   DB_S_ERRORSRETURNED                  = $00040ED2;
  7036.   {$EXTERNALSYM DB_S_ERRORSRETURNED}
  7037.  
  7038. //
  7039. // MessageId: DB_S_BADROWHANDLE
  7040. //
  7041. // MessageText:
  7042. //
  7043. //  Invalid row handle
  7044. //
  7045.   DB_S_BADROWHANDLE                    = $00040ED3;
  7046.   {$EXTERNALSYM DB_S_BADROWHANDLE}
  7047.  
  7048. //
  7049. // MessageId: DB_S_DELETEDROW
  7050. //
  7051. // MessageText:
  7052. //
  7053. //  A given HROW referred to a hard-deleted row
  7054. //
  7055.   DB_S_DELETEDROW                      = $00040ED4;
  7056.   {$EXTERNALSYM DB_S_DELETEDROW}
  7057.  
  7058. // @@@+ V2.5
  7059. //
  7060. // MessageId: DB_S_TOOMANYCHANGES
  7061. //
  7062. // MessageText:
  7063. //
  7064. //  The provider was unable to keep track of all the changes; the client
  7065. //  must refetch the data associated with the watch region using another
  7066. //  method
  7067. //
  7068.   DB_S_TOOMANYCHANGES                  = $00040ED5;
  7069.   {$EXTERNALSYM DB_S_TOOMANYCHANGES}
  7070.  
  7071. // @@@- V2.5
  7072.  
  7073. //
  7074. // MessageId: DB_S_STOPLIMITREACHED
  7075. //
  7076. // MessageText:
  7077. //
  7078. //  Execution stopped because a resource limit has been reached; results
  7079. //  obtained so far have been returned but execution cannot be resumed
  7080. //
  7081.   DB_S_STOPLIMITREACHED                = $00040ED6;
  7082.   {$EXTERNALSYM DB_S_STOPLIMITREACHED}
  7083.  
  7084. //
  7085. // MessageId: DB_S_LOCKUPGRADED
  7086. // 
  7087. // MessageText:
  7088. // 
  7089. //  A lock was upgraded from the value specified
  7090. // 
  7091.   DB_S_LOCKUPGRADED                    = $00040ED8; 
  7092.   {$EXTERNALSYM DB_S_LOCKUPGRADED}
  7093.  
  7094. //
  7095. // MessageId: DB_S_PROPERTIESCHANGED
  7096. //
  7097. // MessageText:
  7098. //
  7099. //  One or more properties were changed as allowed by provider
  7100. //
  7101.   DB_S_PROPERTIESCHANGED               = $00040ED9;
  7102.   {$EXTERNALSYM DB_S_PROPERTIESCHANGED}
  7103.  
  7104. //
  7105. // MessageId: DB_S_ERRORSOCCURRED
  7106. //
  7107. // MessageText:
  7108. //
  7109. //  Errors occurred
  7110. //
  7111.   DB_S_ERRORSOCCURRED                  = $00040EDA;
  7112.   {$EXTERNALSYM DB_S_ERRORSOCCURRED}
  7113.  
  7114. //
  7115. // MessageId: DB_S_PARAMUNAVAILABLE
  7116. //
  7117. // MessageText:
  7118. //
  7119. //  A specified parameter was invalid
  7120. //
  7121.   DB_S_PARAMUNAVAILABLE                = $00040EDB;
  7122.   {$EXTERNALSYM DB_S_PARAMUNAVAILABLE}
  7123.  
  7124. //
  7125. // MessageId: DB_S_MULTIPLECHANGES
  7126. //
  7127. // MessageText:
  7128. //
  7129. //  Updating this row caused more than one row to be updated in the
  7130. //  data source
  7131. //
  7132.   DB_S_MULTIPLECHANGES                 = $00040EDC;
  7133.   {$EXTERNALSYM DB_S_MULTIPLECHANGES}
  7134.  
  7135. implementation
  7136.  
  7137. uses ComObj;
  7138.  
  7139. end.
  7140.