Home COM GDI+ WebBrowser Data Access

OLEDB Interfaces

 

 

This section contains syntax and semantic information for the OLE DB interfaces.

 

Documentation: OLEDB Reference

 

 

 

Microsoft OLE DB is a set of interfaces that expose data from a variety of relational and nonrelational sources by using the Component Object Model (COM). OLE DB interfaces provide applications with uniform access to data stored in diverse information sources. These interfaces support the amount of DBMS functionality appropriate to the data store, enabling the data store to share its data.

 

OLE DB comprises a programmatic model consisting of data providers, which contain and expose data; data consumers, which use data; and service components, which process and transport data (such as query processors and cursor engines). In addition, OLE DB includes a bridge to ODBC to enable continued support for the broad range of ODBC relational database drivers.

 

ADO is an ActiveX control that provides an easy-to-use intertface to OLE DB, i.e. ADO is a wrapper on top of OLE DB.

 

With the PB compilers you can use the OLE DB interfaces directly. This means less overhead and better performance than using ADO. However, as it happens with low-level interfaces (and also with the cumbersome Windows' APIs), they are much harder to use.

 

One interesting technique is to mix the usage of ADO and OLE DB. My library of wrappers for ADO, TB_ADO28, provides access to the ADOCommandConstruction, ADOConnectionConstruction, ADORecordsetConstruction, ADORecordConstruction and ADOStreamConstruction interfaces, and these interfaces provide methods to access to the underlying OLE DB interfaces. The examples at the end of this page shows how to do it.

 

 

Interfaces

 

IAccessor

IADOSecurity

IAlterIndex

IAlterTable

IBindResource

IChapteredRowset

IColumnsInfo

IColumnsInfo2

IColumnsRowset

ICommand

ICommandPersist

ICommandPrepare

ICommandProperties

ICommandStream

ICommandText

ICommandWithParameters

IConvertType

ICreateRow

IDataSourceLocator

IDBAsynchNotify

IDBAsynchStatus

IDBBinderProperties

IDBCreateCommand

IDBCreateSession

IDBDataSourceAdmin

IDBInfo

IDBInitialize

IDBProperties

IDBSchemaRowset

IErrorInfo

IErrorLookup

IErrorRecords

IGetDataSource

IGetRow

IGetSession

IGetSourceRow

IIndexDefinition

IMultipleResults

IOpenRowset

 

 

IParentRowset

IRegisterProvider

IRow

IRowChange

IRowSchemaChange

IRowset

IRowsetBookmark

IRowsetChange

IRowsetChapterMember

IRowsetCurrentIndex

IRowsetFind

IRowsetIdentity

IRowsetIndex

IRowsetInfo

IRowsetLocate

IRowsetNotify

IRowsetRefresh

IRowsetResynch

IRowsetScroll

IRowsetUpdate

IRowsetView

IScopedOperations

ISequentialStream

ISessionProperties

ISourcesRowset

ISQLErrorInfo

ISupportErrorInfo

ITableCreation

ITableDefinition

ITableDefinitionWithConstraints

ITransaction

ITransactionJoin

ITransactionLocal

ITransactionObject

ITransactionOptions

IViewChapter

IViewFilter

IViewRowset

IViewSort

 

 

OLEDB Core Components Interfaces

 

IDataInitialize

 

 

IDBPromptInitialize

 

Data Type Conversion Interfaces

 

This appendix describes data type conversion interfaces in OLE DB. For information about data types, see Appendix A: Data Types. For information about how consumers and providers use data types, see Chapter 13: Data Types in OLE DB.

  • Possible data type conversions are described in the section Data Conversion Library.

  • Data type conversion interfaces are described in the sections IDataConvert and IDCInfo.

 

IDataConvert

 

 

IDCInfo

 

Row Position Object

 

This appendix describes OLE DB interfaces that manipulate a Row Position object, which embodies the concept of a current row in a rowset.

  • The IRowPosition interface manages the Row Position object.

  • The IRowPositionChange interface enables a consumer to be notified when the current row position changes.

 

IRowPosition

 

 

IRowPositionChange

 

Identifiers

 

 

$CLSID_EXTENDEDERRORINFO = GUID$("{C8B522CF-5CF3-11CE-ADE5-00AA0044773D}")
$CLSID_MSDASQL = GUID$("{C8B522CB-5CF3-11CE-ADE5-00AA0044773D}")
$CLSID_MSDAVTM = GUID$("{0C733A8E-2A1C-11CE-ADE5-00AA0044773D}")
$CLSID_OLEDB_CONVERSIONLIBRARY = GUID$("{C8B522D1-5CF3-11CE-ADE5-00AA0044773D}")
$CLSID_OLEDB_ENUMERATOR = GUID$("{C8B522D0-5CF3-11CE-ADE5-00AA0044773D}")
$CLSID_OLEDB_ROWPOSITIONLIBRARY = GUID$("{2048EEE6-7FA2-11D0-9E6A-00A0C9138C29}")
$CLSID_OLEDB_SVC_DSLPropertyPages = GUID$("{51740C02-7E8E-11D2-A02D-00C04FA37348}")
 
$IID_IAccessor = GUID$("{0C733A8C-2A1C-11CE-ADE5-00AA0044773D}")
$IID_IAlterIndex = GUID$("{0C733AA6-2A1C-11CE-ADE5-00AA0044773D}")
$IID_IAlterTable = GUID$("{0C733AA5-2A1C-11CE-ADE5-00AA0044773D}")
$IID_IChapteredRowset = GUID$("{0C733A93-2A1C-11CE-ADE5-00AA0044773D}")
$IID_IColumnsInfo = GUID$("{0C733A11-2A1C-11CE-ADE5-00AA0044773D}")
$IID_IColumnsRowset = GUID$("{0C733A10-2A1C-11CE-ADE5-00AA0044773D}")
$IID_ICommand = GUID$("{0C733A63-2A1C-11CE-ADE5-00AA0044773D}")
$IID_ICommandPersist = GUID$("{0C733AA7-2A1C-11CE-ADE5-00AA0044773D}")
$IID_ICommandPrepare = GUID$("{0C733A26-2A1C-11CE-ADE5-00AA0044773D}")
$IID_ICommandProperties = GUID$("{0C733A79-2A1C-11CE-ADE5-00AA0044773D}")
$IID_ICommandStream = GUID$("{0C733ABF-2A1C-11CE-ADE5-00AA0044773D}")
$IID_ICommandText = GUID$("{0C733A27-2A1C-11CE-ADE5-00AA0044773D}")
$IID_ICommandTree = GUID$("{0C733A87-2A1C-11CE-ADE5-00AA0044773D}")
$IID_ICommandWithParameters = GUID$("{0C733A64-2A1C-11CE-ADE5-00AA0044773D}")
$IID_IConvertType = GUID$("{0C733A88-2A1C-11CE-ADE5-00AA0044773D}")
$IID_ICreateRow = GUID$("{0C733AB2-2A1C-11CE-ADE5-00AA0044773D}")
$IID_IDataConvert = GUID$("{0C733A8D-2A1C-11CE-ADE5-00AA0044773D}")
$IID_IDataInitialize = GUID$("{2206CCB1-19C1-11D1-89E0-00C04FD7A829}")
$IID_IDBAsynchNotify = GUID$("{0C733A96-2A1C-11CE-ADE5-00AA0044773D}")
$IID_IDBAsynchStatus = GUID$("{0C733A95-2A1C-11CE-ADE5-00AA0044773D}")
$IID_IDBBinderProperties = GUID$("{0C733AB3-2A1C-11CE-ADE5-00AA0044773D}")
$IID_IDBCreateCommand = GUID$("{0C733A1D-2A1C-11CE-ADE5-00AA0044773D}")
$IID_IDBCreateSession = GUID$("{0C733A5D-2A1C-11CE-ADE5-00AA0044773D}")
$IID_IDBDataSourceAdmin = GUID$("{0C733A7A-2A1C-11CE-ADE5-00AA0044773D}")
$IID_IDBInfo = GUID$("{0C733A89-2A1C-11CE-ADE5-00AA0044773D}")
$IID_IDBInitialize = GUID$("{0C733A8B-2A1C-11CE-ADE5-00AA0044773D}")
$IID_IDBPromptInitialize = GUID$("{2206CCB0-19C1-11D1-89E0-00C04FD7A829}")
$IID_IDBProperties = GUID$("{0C733A8A-2A1C-11CE-ADE5-00AA0044773D}")
$IID_IDBSchemaRowset = GUID$("{0C733A7B-2A1C-11CE-ADE5-00AA0044773D}")
$IID_IDCInfo = GUID$("{0C733A9C-2A1C-11CE-ADE5-00AA0044773D}")
$IID_IErrorInfo = GUID$("{1CF2B120-547D-101B-8E65-08002B2BD119}")
$IID_IErrorLookup = GUID$("{0C733A66-2A1C-11CE-ADE5-00AA0044773D}")
$IID_IErrorRecords = GUID$("{0C733A67-2A1C-11CE-ADE5-00AA0044773D}")
$IID_IGetDataSource = GUID$("{0C733A75-2A1C-11CE-ADE5-00AA0044773D}")
$IID_IGetRow = GUID$("{0C733AAF-2A1C-11CE-ADE5-00AA0044773D}")
$IID_IGetSession = GUID$("{0C733ABA-2A1C-11CE-ADE5-00AA0044773D}")
$IID_IGetSourceRow = GUID$("{0C733ABB-2A1C-11CE-ADE5-00AA0044773D}")
$IID_IIndexDefinition = GUID$("{0C733A68-2A1C-11CE-ADE5-00AA0044773D}")
$IID_IMDDataset = GUID$("{A07CCCD1-8148-11D0-87BB-00C04FC33942}")
$IID_IMDFind = GUID$("{A07CCCD2-8148-11D0-87BB-00C04FC33942}")
$IID_IMDRangeRowset = GUID$("{0C733AA0-2A1C-11CE-ADE5-00AA0044773D}")
$IID_IMultipleResults = GUID$("{0C733A90-2A1C-11CE-ADE5-00AA0044773D}")
$IID_IOpenRowset = GUID$("{0C733A69-2A1C-11CE-ADE5-00AA0044773D}")
$IID_IParentRowset = GUID$("{0C733AAA-2A1C-11CE-ADE5-00AA0044773D}")
$IID_IQuery = GUID$("{0C733A51-2A1C-11CE-ADE5-00AA0044773D}")
$IID_IReadData = GUID$("{0C733A6A-2A1C-11CE-ADE5-00AA0044773D}")
$IID_IRowPosition = GUID$("{0C733A94-2A1C-11CE-ADE5-00AA0044773D}")
$IID_IRowPositionChange = GUID$("{0997A571-126E-11D0-9F8A-00A0C9A0631E}")
$IID_IRowset = GUID$("{0C733A7C-2A1C-11CE-ADE5-00AA0044773D}")
$IID_IRowsetBookmark = GUID$("{0C733AC2-2A1C-11CE-ADE5-00AA0044773D}")
$IID_IRowsetChange = GUID$("{0C733A05-2A1C-11CE-ADE5-00AA0044773D}")
$IID_IRowsetChapterMember = GUID$("{0C733AA8-2A1C-11CE-ADE5-00AA0044773D}")
$IID_IRowsetCurrentIndex = GUID$("{0C733ABD-2A1C-11CE-ADE5-00AA0044773D}")
$IID_IRowsetFind = GUID$("{0C733A9D-2A1C-11CE-ADE5-00AA0044773D}")
$IID_IRowsetIdentity = GUID$("{0C733A09-2A1C-11CE-ADE5-00AA0044773D}")
$IID_IRowsetIndex = GUID$("{0C733A82-2A1C-11CE-ADE5-00AA0044773D}")
$IID_IRowsetInfo = GUID$("{0C733A55-2A1C-11CE-ADE5-00AA0044773D}")
$IID_IRowsetLocate = GUID$("{0C733A7D-2A1C-11CE-ADE5-00AA0044773D}")
$IID_IRowsetNotify = GUID$("{0C733A83-2A1C-11CE-ADE5-00AA0044773D}")
$IID_IRowsetRefresh = GUID$("{0C733AA9-2A1C-11CE-ADE5-00AA0044773D}")
$IID_IRowsetResynch = GUID$("{0C733A84-2A1C-11CE-ADE5-00AA0044773D}")
$IID_IRowsetScroll = GUID$("{0C733A7E-2A1C-11CE-ADE5-00AA0044773D}")
$IID_IRowsetUpdate = GUID$("{0C733A6D-2A1C-11CE-ADE5-00AA0044773D}")
$IID_IRowsetView = GUID$("{0C733A99-2A1C-11CE-ADE5-00AA0044773D}")
$IID_IScoopedOperations = GUID$("{0C733AB0-2A1C-11CE-ADE5-00AA0044773D}")
$IID_ISequentialStream = GUID$("{0C733A30-2A1C-11CE-ADE5-00AA0044773D}")
$IID_ISessionProperties = GUID$("{0C733A85-2A1C-11CE-ADE5-00AA0044773D}")
$IID_ISourcesRowset = GUID$("{0C733A1E-2A1C-11CE-ADE5-00AA0044773D}")
$IID_ISQLErrorInfo = GUID$("{0C733A74-2A1C-11CE-ADE5-00AA0044773D}")
$IID_ISupportErrorInfo = GUID$("{DF0B3D60-548F-101B-8E65-08002B2BD119}")
$IID_ITableCreation = GUID$("{0C733ABC-2A1C-11CE-ADE5-00AA0044773D}")
$IID_ITableDefinition = GUID$("{0C733A86-2A1C-11CE-ADE5-00AA0044773D}")
$IID_ITableDefinitionWithConstraints = GUID$("{0C733AAB-2A1C-11CE-ADE5-00AA0044773D}")
$IID_ITransaction = GUID$("{0FB15084-AF41-11CE-BD2B-204C4F4F5020}")
$IID_ITransactionJoin = GUID$("{0C733A5E-2A1C-11CE-ADE5-00AA0044773D}")
$IID_ITransactionLocal = GUID$("{0C733A5F-2A1C-11CE-ADE5-00AA0044773D}")
$IID_ITransactionObject = GUID$("{0C733A60-2A1C-11CE-ADE5-00AA0044773D}")
$IID_ITransactionOptions = GUID$("{3A6AD9E0-23B9-11CF-AD60-00AA00A74CCD}")
$IID_IViewChapter = GUID$("{0C733A98-2A1C-11CE-ADE5-00AA0044773D}")
$IID_IViewFilter = GUID$("{0C733A9B-2A1C-11CE-ADE5-00AA0044773D}")
$IID_IViewRowset = GUID$("{0C733A97-2A1C-11CE-ADE5-00AA0044773D}")
$IID_IViewSort = GUID$("{0C733A9A-2A1C-11CE-ADE5-00AA0044773D}")
 

 

OLEDBGUID.H

 

 

$DBCIDGUID = GUID$("{0C733A81-2A1C-11CE-ADE5-00AA0044773D}")
$DB_NULLGUID = GUID$("{00000000-0000-0000-0000-000000000000}")
 
$MDSCHEMA_FUNCTIONS = GUID$("{A07CCD07-8148-11D0-87BB-00C04FC33942}")
$MDSCHEMA_ACTIONS = GUID$("{A07CCD08-8148-11D0-87BB-00C04FC33942}")
$MDSCHEMA_COMMANDS = GUID$("{A07CCD09-8148-11D0-87BB-00C04FC33942}")
$MDSCHEMA_SETS = GUID$("{A07CCD0B-8148-11D0-87BB-00C04FC33942}")
$DBSCHEMA_TABLES_INFO = GUID$("{C8B522E0-5CF3-11CE-ADE5-00AA0044773D}")
$MDGUID_MDX = GUID$("{A07CCCD0-8148-11D0-87BB-00C04FC33942}")
$DBGUID_MDX = GUID$("{A07CCCD0-8148-11D0-87BB-00C04FC33942}")
$MDSCHEMA_CUBES = GUID$("{C8B522D8-5CF3-11CE-ADE5-00AA0044773D}")
$MDSCHEMA_DIMENSIONS = GUID$("{C8B522D9-5CF3-11CE-ADE5-00AA0044773D}")
$MDSCHEMA_HIERARCHIES = GUID$("{C8B522DA-5CF3-11CE-ADE5-00AA0044773D}")
$MDSCHEMA_LEVELS = GUID$("{C8B522DB-5CF3-11CE-ADE5-00AA0044773D}")
$MDSCHEMA_MEASURES = GUID$("{C8B522DC-5CF3-11CE-ADE5-00AA0044773D}")
$MDSCHEMA_PROPERTIES = GUID$("{C8B522DD-5CF3-11CE-ADE5-00AA0044773D}")
$MDSCHEMA_MEMBERS = GUID$("{C8B522DE-5CF3-11CE-ADE5-00AA0044773D}")
 
$DBGUID_ROWURL = GUID$("{0C733AB6-2A1C-11CE-ADE5-00AA0044773D}")
$DBGUID_ROWDEFAULTSTREAM = GUID$("{0C733AB7-2A1C-11CE-ADE5-00AA0044773D}")
$DBPROPSET_TRUSTEE = GUID$("{C8B522E1-5CF3-11CE-ADE5-00AA0044773D}")
$DBOBJECT_TABLE = GUID$("{C8B522E2-5CF3-11CE-ADE5-00AA0044773D}")
$DBOBJECT_COLUMN = GUID$("{C8B522E4-5CF3-11CE-ADE5-00AA0044773D}")
$DBOBJECT_DATABASE = GUID$("{C8B522E5-5CF3-11CE-ADE5-00AA0044773D}")
$DBOBJECT_PROCEDURE = GUID$("{C8B522E6-5CF3-11CE-ADE5-00AA0044773D}")
$DBOBJECT_VIEW = GUID$("{C8B522E7-5CF3-11CE-ADE5-00AA0044773D}")
$DBOBJECT_SCHEMA = GUID$("{C8B522E8-5CF3-11CE-ADE5-00AA0044773D}")
$DBOBJECT_DOMAIN = GUID$("{C8B522E9-5CF3-11CE-ADE5-00AA0044773D}")
$DBOBJECT_COLLATION = GUID$("{C8B522EA-5CF3-11CE-ADE5-00AA0044773D}")
$DBOBJECT_TRUSTEE = GUID$("{C8B522EB-5CF3-11CE-ADE5-00AA0044773D}")
$DBOBJECT_SCHEMAROWSET = GUID$("{C8B522EC-5CF3-11CE-ADE5-00AA0044773D}")
$DBOBJECT_CHARACTERSET = GUID$("{C8B522ED-5CF3-11CE-ADE5-00AA0044773D}")
$DBOBJECT_TRANSLATION = GUID$("{C8B522EE-5CF3-11CE-ADE5-00AA0044773D}")
$DBSCHEMA_TRUSTEE = GUID$("{C8B522EF-5CF3-11CE-ADE5-00AA0044773D}")
$DBPROPSET_COLUMNALL = GUID$("{C8B522F0-5CF3-11CE-ADE5-00AA0044773D}")
$DBPROPSET_INDEXALL = GUID$("{C8B522F1-5CF3-11CE-ADE5-00AA0044773D}")
$DBPROPSET_TABLEALL = GUID$("{C8B522F2-5CF3-11CE-ADE5-00AA0044773D}")
$DBPROPSET_TRUSTEEALL = GUID$("{C8B522F3-5CF3-11CE-ADE5-00AA0044773D}")
$DBPROPSET_CONSTRAINTALL = GUID$("{C8B522FA-5CF3-11CE-ADE5-00AA0044773D}")
$DBGUID_DSO = GUID$("{C8B522F4-5CF3-11CE-ADE5-00AA0044773D}")
$DBGUID_SESSION = GUID$("{C8B522F5-5CF3-11CE-ADE5-00AA0044773D}")
$DBGUID_ROWSET = GUID$("{C8B522F6-5CF3-11CE-ADE5-00AA0044773D}")
$DBGUID_ROW = GUID$("{C8B522F7-5CF3-11CE-ADE5-00AA0044773D}")
$DBGUID_COMMAND = GUID$("{C8B522F8-5CF3-11CE-ADE5-00AA0044773D}")
$DBGUID_STREAM = GUID$("{C8B522F9-5CF3-11CE-ADE5-00AA0044773D}")
 
$DBGUID_CONTAINEROBJECT = GUID$("{C8B522FB-5CF3-11CE-ADE5-00AA0044773D}")
$DBSCHEMA_ASSERTIONS = GUID$("{C8B52210-5CF3-11CE-ADE5-00AA0044773D}")
$DBSCHEMA_CATALOGS = GUID$("{C8B52211-5CF3-11CE-ADE5-00AA0044773D}")
$DBSCHEMA_CHARACTER_SETS = GUID$("{C8B52212-5CF3-11CE-ADE5-00AA0044773D}")
$DBSCHEMA_COLLATIONS = GUID$("{C8B52213-5CF3-11CE-ADE5-00AA0044773D}")
$DBSCHEMA_COLUMNS = GUID$("{C8B52214-5CF3-11CE-ADE5-00AA0044773D}")
$DBSCHEMA_CHECK_CONSTRAINTS = GUID$("{C8B52215-5CF3-11CE-ADE5-00AA0044773D}")
$DBSCHEMA_CONSTRAINT_COLUMN_USAGE = GUID$("{C8B52216-5CF3-11CE-ADE5-00AA0044773D}")
$DBSCHEMA_CONSTRAINT_TABLE_USAGE = GUID$("{C8B52217-5CF3-11CE-ADE5-00AA0044773D}")
$DBSCHEMA_KEY_COLUMN_USAGE = GUID$("{C8B52218-5CF3-11CE-ADE5-00AA0044773D}")
$DBSCHEMA_REFERENTIAL_CONSTRAINTS = GUID$("{C8B52219-5CF3-11CE-ADE5-00AA0044773D}")
$DBSCHEMA_TABLE_CONSTRAINTS = GUID$("{C8B5221A-5CF3-11CE-ADE5-00AA0044773D}")
$DBSCHEMA_COLUMN_DOMAIN_USAGE = GUID$("{C8B5221B-5CF3-11CE-ADE5-00AA0044773D}")
$DBSCHEMA_INDEXES = GUID$("{C8B5221E-5CF3-11CE-ADE5-00AA0044773D}")
$DBSCHEMA_COLUMN_PRIVILEGES = GUID$("{C8B52221-5CF3-11CE-ADE5-00AA0044773D}")
$DBSCHEMA_TABLE_PRIVILEGES = GUID$("{C8B52222-5CF3-11CE-ADE5-00AA0044773D}")
$DBSCHEMA_USAGE_PRIVILEGES = GUID$("{C8B52223-5CF3-11CE-ADE5-00AA0044773D}")
$DBSCHEMA_PROCEDURES = GUID$("{C8B52224-5CF3-11CE-ADE5-00AA0044773D}")
$DBSCHEMA_SCHEMATA = GUID$("{C8B52225-5CF3-11CE-ADE5-00AA0044773D}")
$DBSCHEMA_SQL_LANGUAGES = GUID$("{C8B52226-5CF3-11CE-ADE5-00AA0044773D}")
$DBSCHEMA_STATISTICS = GUID$("{C8B52227-5CF3-11CE-ADE5-00AA0044773D}")
$DBSCHEMA_TABLES = GUID$("{C8B52229-5CF3-11CE-ADE5-00AA0044773D}")
$DBSCHEMA_TRANSLATIONS = GUID$("{C8B5222A-5CF3-11CE-ADE5-00AA0044773D}")
$DBSCHEMA_PROVIDER_TYPES = GUID$("{C8B5222C-5CF3-11CE-ADE5-00AA0044773D}")
$DBSCHEMA_VIEWS = GUID$("{C8B5222D-5CF3-11CE-ADE5-00AA0044773D}")
$DBSCHEMA_VIEW_COLUMN_USAGE = GUID$("{C8B5222E-5CF3-11CE-ADE5-00AA0044773D}")
$DBSCHEMA_VIEW_TABLE_USAGE = GUID$("{C8B5222F-5CF3-11CE-ADE5-00AA0044773D}")
$DBSCHEMA_PROCEDURE_PARAMETERS = GUID$("{C8B522B8-5CF3-11CE-ADE5-00AA0044773D}")
$DBSCHEMA_FOREIGN_KEYS = GUID$("{C8B522C4-5CF3-11CE-ADE5-00AA0044773D}")
$DBSCHEMA_PRIMARY_KEYS = GUID$("{C8B522C5-5CF3-11CE-ADE5-00AA0044773D}")
$DBSCHEMA_PROCEDURE_COLUMNS = GUID$("{C8B522C9-5CF3-11CE-ADE5-00AA0044773D}")
$DBCOL_SELFCOLUMNS = GUID$("{C8B52231-5CF3-11CE-ADE5-00AA0044773D}")
$DBCOL_SPECIALCOL = GUID$("{C8B52232-5CF3-11CE-ADE5-00AA0044773D}")
$PSGUID_QUERY = GUID$("{49691C90-7E17-101A-A91C08002B2ECDA9}")
$DBPROPSET_COLUMN = GUID$("{C8B522B9-5CF3-11CE-ADE5-00AA0044773D}")
$DBPROPSET_DATASOURCE = GUID$("{C8B522BA-5CF3-11CE-ADE5-00AA0044773D}")
$DBPROPSET_DATASOURCEINFO = GUID$("{C8B522BB-5CF3-11CE-ADE5-00AA0044773D}")
$DBPROPSET_DBINIT = GUID$("{C8B522BC-5CF3-11CE-ADE5-00AA0044773D}")
$DBPROPSET_INDEX = GUID$("{C8B522BD-5CF3-11CE-ADE5-00AA0044773D}")
$DBPROPSET_ROWSET = GUID$("{C8B522BE-5CF3-11CE-ADE5-00AA0044773D}")
$DBPROPSET_TABLE = GUID$("{C8B522BF-5CF3-11CE-ADE5-00AA0044773D}")
$DBPROPSET_DATASOURCEALL = GUID$("{C8B522C0-5CF3-11CE-ADE5-00AA0044773D}")
$DBPROPSET_DATASOURCEINFOALL = GUID$("{C8B522C1-5CF3-11CE-ADE5-00AA0044773D}")
$DBPROPSET_ROWSETALL = GUID$("{C8B522C2-5CF3-11CE-ADE5-00AA0044773D}")
$DBPROPSET_SESSION = GUID$("{C8B522C6-5CF3-11CE-ADE5-00AA0044773D}")
$DBPROPSET_SESSIONALL = GUID$("{C8B522C7-5CF3-11CE-ADE5-00AA0044773D}")
$DBPROPSET_DBINITALL = GUID$("{C8B522CA-5CF3-11CE-ADE5-00AA0044773D}")
$DBPROPSET_PROPERTIESINERROR = GUID$("{C8B522D4-5CF3-11CE-ADE5-00AA0044773D}")
$DBPROPSET_VIEW = GUID$("{C8B522DF-5CF3-11CE-ADE5-00AA0044773D}")
$DBPROPSET_VIEWALL = GUID$("{C8B522FC-5CF3-11CE-ADE5-00AA0044773D}")
$DBPROPSET_STREAM = GUID$("{C8B522FD-5CF3-11CE-ADE5-00AA0044773D}")
$DBPROPSET_STREAMALL = GUID$("{C8B522FE-5CF3-11CE-ADE5-00AA0044773D}")
$DBSCHEMA_TABLE_STATISTICS = GUID$("{C8B522FF-5CF3-11CE-ADE5-00AA0044773D}")
$DBSCHEMA_CHECK_CONSTRAINTS_BY_TABLE = GUID$("{C8B52301-5CF3-11CE-ADE5-00AA0044773D}")
$DBGUID_HISTOGRAM_ROWSET = GUID$("{C8B52300-5CF3-11CE-ADE5-00AA0044773D}")
 
$DBGUID_DBSQL = GUID$("{C8B521FB-5CF3-11CE-ADE5-00AA0044773D}")
$DBGUID_DEFAULT = GUID$("{C8B521FB-5CF3-11CE-ADE5-00AA0044773D}")
$DBGUID_SQL = GUID$("{C8B522D7-5CF3-11CE-ADE5-00AA0044773D}")
$DB_PROPERTY_CHECK_OPTION = GUID$("{C8B5220B-5CF3-11CE-ADE5-00AA0044773D}")
$DB_PROPERTY_CONSTRAINT_CHECK_DEFERRED = GUID$("{C8B521F0-5CF3-11CE-ADE5-00AA0044773D}")
$DB_PROPERTY_DROP_CASCADE = GUID$("{C8B521F3-5CF3-11CE-ADE5-00AA0044773D}")
$DB_PROPERTY_UNIQUE = GUID$("{C8B521F5-5CF3-11CE-ADE5-00AA0044773D}")
$DB_PROPERTY_ON_COMMIT_PRESERVE_ROWS = GUID$("{C8B52230-5CF3-11CE-ADE5-00AA0044773D}")
$DB_PROPERTY_PRIMARY = GUID$("{C8B521FC-5CF3-11CE-ADE5-00AA0044773D}")
$DB_PROPERTY_CLUSTERED = GUID$("{C8B521FF-5CF3-11CE-ADE5-00AA0044773D}")
$DB_PROPERTY_NONCLUSTERED = GUID$("{C8B52200-5CF3-11CE-ADE5-00AA0044773D}")
$DB_PROPERTY_BTREE = GUID$("{C8B52201-5CF3-11CE-ADE5-00AA0044773D}")
$DB_PROPERTY_HASH = GUID$("{C8B52202-5CF3-11CE-ADE5-00AA0044773D}")
$DB_PROPERTY_FILLFACTOR = GUID$("{C8B52203-5CF3-11CE-ADE5-00AA0044773D}")
$DB_PROPERTY_INITIALSIZE = GUID$("{C8B52204-5CF3-11CE-ADE5-00AA0044773D}")
$DB_PROPERTY_DISALLOWNULL = GUID$("{C8B52205-5CF3-11CE-ADE5-00AA0044773D}")
$DB_PROPERTY_IGNORENULL = GUID$("{C8B52206-5CF3-11CE-ADE5-00AA0044773D}")
$DB_PROPERTY_IGNOREANYNULL = GUID$("{C8B52207-5CF3-11CE-ADE5-00AA0044773D}")
$DB_PROPERTY_SORTBOOKMARKS = GUID$("{C8B52208-5CF3-11CE-ADE5-00AA0044773D}")
$DB_PROPERTY_AUTOMATICUPDATE = GUID$("{C8B52209-5CF3-11CE-ADE5-00AA0044773D}")
$DB_PROPERTY_EXPLICITUPDATE = GUID$("{C8B5220A-5CF3-11CE-ADE5-00AA0044773D}")
$DBGUID_LIKE_SQL = GUID$("{C8B521F6-5CF3-11CE-ADE5-00AA0044773D}")
$DBGUID_LIKE_DOS = GUID$("{C8B521F7-5CF3-11CE-ADE5-00AA0044773D}")
$DBGUID_LIKE_OFS = GUID$("{C8B521F8-5CF3-11CE-ADE5-00AA0044773D}")
$DBGUID_LIKE_MAPI = GUID$("{C8B521F9-5CF3-11CE-ADE5-00AA0044773D}")
 

 

Typedefs

 

 

MACRO ACCESS_MASK = DWORD
MACRO DB_LPARAMS = LONG
MACRO DB_UPARAMS = DWORD
MACRO DBACCESSORFLAGS = DWORD
MACRO DBASYNCHOP = DWORD
MACRO DBASYNCHPHASE = DWORD
MACRO DBBINDFLAG = DWORD
MACRO DBBINDSTATUS = DWORD
MACRO DBBYTEOFFSET = DWORD
MACRO DBCOLUMNDESCFLAGS = DWORD
MACRO DBCOLUMNFLAGS = DWORD
MACRO DBCOMMANDOP = WORD
MACRO DBCOMMANDPERSISTFLAG = DWORD
MACRO DBCOMMANDREUSE = DWORD
MACRO DBCOMPARE = DWORD
MACRO DBCOMPAREOP = DWORD
MACRO DBCONVERTFLAGS = DWORD
MACRO DBCOSTUNIT = DWORD
MACRO DBCOUNTITEM = DWORD
MACRO DBEVENTPHASE = DWORD
MACRO DBEXECLIMITS = DWORD
MACRO DBINDEX_COL_ORDER = DWORD
MACRO DBKIND = DWORD
MACRO DBLENGTH = DWORD
MACRO DBLITERAL = DWORD
MACRO DBMEMOWNER = DWORD
MACRO DBORDINAL = DWORD
MACRO DBPARAMFLAGS = DWORD
MACRO DBPARAMIO = DWORD
MACRO DBPART = DWORD
MACRO DBPENDINGSTATUS = DWORD
MACRO DBPOSITIONFLAGS = DWORD
MACRO DBPROPFLAGS = DWORD
MACRO DBPROPID = DWORD
MACRO DBPROPOPTIONS = DWORD
MACRO DBPROPSTATUS = DWORD
MACRO DBRANGE = DWORD
MACRO DBREASON = DWORD
MACRO DBREFCOUNT = DWORD
MACRO DBRESOURCEKIND = DWORD
MACRO DBROWCHANGEKIND = DWORD
MACRO DBROWCOUNT = LONG
MACRO DBROWOFFSET = LONG
MACRO DBROWOPTIONS = DWORD
MACRO DBROWSTATUS = DWORD
MACRO DBSEEK = DWORD
MACRO DBSORT = DWORD
MACRO DBSOURCETYPE = DWORD
MACRO DBSTATUS = DWORD
MACRO DBTYPE = WORD
MACRO DBWATCHNOTIFY = DWORD
MACRO DBWATCHMODE = DWORD
MACRO HACCESSOR = DWORD
MACRO HROW = DWORD
MACRO HWATCHREGION = DWORD
MACRO HCHAPTER = DWORD
MACRO HSOURCE = WORD

MACRO hyper = QUAD
MACRO MIDL_uhyper = QUAD

 

 

DBIDs

 

 

'DB_NULLID = {DB_NULLGUID, 0, (wchar_t*)0};
'DBCOLUMN_IDNAME = {DBCIDGUID, DBKIND_GUID_PROPID, (wchar_t*)2};
'DBCOLUMN_NAME = {DBCIDGUID, DBKIND_GUID_PROPID, (wchar_t*)3};
'DBCOLUMN_NUMBER = {DBCIDGUID, DBKIND_GUID_PROPID, (wchar_t*)4};
'DBCOLUMN_TYPE = {DBCIDGUID, DBKIND_GUID_PROPID, (wchar_t*)5};
'DBCOLUMN_PRECISION = {DBCIDGUID, DBKIND_GUID_PROPID, (wchar_t*)7};
'DBCOLUMN_SCALE = {DBCIDGUID, DBKIND_GUID_PROPID, (wchar_t*)8};
'DBCOLUMN_FLAGS = {DBCIDGUID, DBKIND_GUID_PROPID, (wchar_t*)9};
'DBCOLUMN_BASECOLUMNNAME = {DBCIDGUID, DBKIND_GUID_PROPID, (wchar_t*)10};
'DBCOLUMN_BASETABLENAME = {DBCIDGUID, DBKIND_GUID_PROPID, (wchar_t*)11};
'DBCOLUMN_COLLATINGSEQUENCE = {DBCIDGUID, DBKIND_GUID_PROPID, (wchar_t*)12};
'DBCOLUMN_COMPUTEMODE = {DBCIDGUID, DBKIND_GUID_PROPID, (wchar_t*)13};
'DBCOLUMN_DEFAULTVALUE = {DBCIDGUID, DBKIND_GUID_PROPID, (wchar_t*)14};
'DBCOLUMN_DOMAINNAME = {DBCIDGUID, DBKIND_GUID_PROPID, (wchar_t*)15};
'DBCOLUMN_HASDEFAULT = {DBCIDGUID, DBKIND_GUID_PROPID, (wchar_t*)16};
'DBCOLUMN_ISAUTOINCREMENT = {DBCIDGUID, DBKIND_GUID_PROPID, (wchar_t*)17};
'DBCOLUMN_ISCASESENSITIVE = {DBCIDGUID, DBKIND_GUID_PROPID, (wchar_t*)18};
'DBCOLUMN_ISSEARCHABLE = {DBCIDGUID, DBKIND_GUID_PROPID, (wchar_t*)20};
'DBCOLUMN_ISUNIQUE = {DBCIDGUID, DBKIND_GUID_PROPID, (wchar_t*)21};
'DBCOLUMN_BASECATALOGNAME = {DBCIDGUID, DBKIND_GUID_PROPID, (wchar_t*)23};
'DBCOLUMN_BASESCHEMANAME = {DBCIDGUID, DBKIND_GUID_PROPID, (wchar_t*)24};
'DBCOLUMN_GUID = {DBCIDGUID, DBKIND_GUID_PROPID, (wchar_t*)29};
'DBCOLUMN_PROPID = {DBCIDGUID, DBKIND_GUID_PROPID, (wchar_t*)30};
'DBCOLUMN_TYPEINFO = {DBCIDGUID, DBKIND_GUID_PROPID, (wchar_t*)31};
'DBCOLUMN_DOMAINCATALOG = {DBCIDGUID, DBKIND_GUID_PROPID, (wchar_t*)32};
'DBCOLUMN_DOMAINSCHEMA = {DBCIDGUID, DBKIND_GUID_PROPID, (wchar_t*)33};
'DBCOLUMN_DATETIMEPRECISION = {DBCIDGUID, DBKIND_GUID_PROPID, (wchar_t*)34};
'DBCOLUMN_NUMERICPRECISIONRADIX = {DBCIDGUID, DBKIND_GUID_PROPID, (wchar_t*)35};
'DBCOLUMN_OCTETLENGTH = {DBCIDGUID, DBKIND_GUID_PROPID, (wchar_t*)36};
'DBCOLUMN_COLUMNSIZE = {DBCIDGUID, DBKIND_GUID_PROPID, (wchar_t*)37};
'DBCOLUMN_CLSID = {DBCIDGUID, DBKIND_GUID_PROPID, (wchar_t*)38};
'DBCOLUMN_MAYSORT = {DBCIDGUID, DBKIND_GUID_PROPID, (wchar_t*)39};


'DBCOLUMN_BASETABLEVERSION = {DBCIDGUID, DBKIND_GUID_PROPID, (wchar_t*)40};
'DBCOLUMN_KEYCOLUMN = {DBCIDGUID, DBKIND_GUID_PROPID, (wchar_t*)41};


'DBROWCOL_ROWURL = {DBGUID_ROWURL, DBKIND_GUID_PROPID, (wchar_t*)0};
'DBROWCOL_PARSENAME = {DBGUID_ROWURL, DBKIND_GUID_PROPID, (wchar_t*)2};
'DBROWCOL_PARENTNAME = {DBGUID_ROWURL, DBKIND_GUID_PROPID, (wchar_t*)3};
'DBROWCOL_ABSOLUTEPARSENAME = {DBGUID_ROWURL, DBKIND_GUID_PROPID, (wchar_t*)4};
'DBROWCOL_ISHIDDEN = {DBGUID_ROWURL, DBKIND_GUID_PROPID, (wchar_t*)5};
'DBROWCOL_ISREADONLY = {DBGUID_ROWURL, DBKIND_GUID_PROPID, (wchar_t*)6};
'DBROWCOL_CONTENTTYPE = {DBGUID_ROWURL, DBKIND_GUID_PROPID, (wchar_t*)7};
'DBROWCOL_CONTENTCLASS = {DBGUID_ROWURL, DBKIND_GUID_PROPID, (wchar_t*)8};
'DBROWCOL_CONTENTLANGUAGE = {DBGUID_ROWURL, DBKIND_GUID_PROPID, (wchar_t*)9};
'DBROWCOL_CREATIONTIME = {DBGUID_ROWURL, DBKIND_GUID_PROPID, (wchar_t*)10};
'DBROWCOL_LASTACCESSTIME = {DBGUID_ROWURL, DBKIND_GUID_PROPID, (wchar_t*)11};
'DBROWCOL_LASTWRITETIME = {DBGUID_ROWURL, DBKIND_GUID_PROPID, (wchar_t*)12};
'DBROWCOL_STREAMSIZE = {DBGUID_ROWURL, DBKIND_GUID_PROPID, (wchar_t*)13};
'DBROWCOL_ISCOLLECTION = {DBGUID_ROWURL, DBKIND_GUID_PROPID, (wchar_t*)14};
'DBROWCOL_ISSTRUCTUREDDOCUMENT = {DBGUID_ROWURL, DBKIND_GUID_PROPID, (wchar_t*)15};
'DBROWCOL_DEFAULTDOCUMENT = {DBGUID_ROWURL, DBKIND_GUID_PROPID, (wchar_t*)16};
'DBROWCOL_DISPLAYNAME = {DBGUID_ROWURL, DBKIND_GUID_PROPID, (wchar_t*)17};
'DBROWCOL_ISROOT = {DBGUID_ROWURL, DBKIND_GUID_PROPID, (wchar_t*)18};
'DBROWCOL_DEFAULTSTREAM = {DBGUID_ROWDEFAULTSTREAM, DBKIND_GUID_PROPID, (wchar_t*)0};

'DBCOLUMN_DERIVEDCOLUMNNAME = {DBCIDGUID, DBKIND_GUID_PROPID, (wchar_t*)43};

MACRO DB_NULLID = $DB_NULLGUID & MKDWD$(0) & MKDWD$(0)
MACRO DBCOLUMN_IDNAME = $DBCIDGUID & MKDWD$(%DBKIND_GUID_PROPID) & MKDWD$(2)
MACRO DBCOLUMN_NAME = $DBCIDGUID & MKDWD$(%DBKIND_GUID_PROPID) & MKDWD$(3)
MACRO DBCOLUMN_NUMBER = $DBCIDGUID & MKDWD$(%DBKIND_GUID_PROPID) & MKDWD$(4)
MACRO DBCOLUMN_TYPE = $DBCIDGUID & MKDWD$(%DBKIND_GUID_PROPID) & MKDWD$(5)
MACRO DBCOLUMN_PRECISION = $DBCIDGUID & MKDWD$(%DBKIND_GUID_PROPID) & MKDWD$(7)
MACRO DBCOLUMN_SCALE = $DBCIDGUID & MKDWD$(%DBKIND_GUID_PROPID) & MKDWD$(8)
MACRO DBCOLUMN_FLAGS = $DBCIDGUID & MKDWD$(%DBKIND_GUID_PROPID) & MKDWD$(9)
MACRO DBCOLUMN_BASECOLUMNNAME = $DBCIDGUID & MKDWD$(%DBKIND_GUID_PROPID) & MKDWD$(10)
MACRO DBCOLUMN_BASETABLENAME = $DBCIDGUID & MKDWD$(%DBKIND_GUID_PROPID) & MKDWD$(11)
MACRO DBCOLUMN_COLLATINGSEQUENCE = $DBCIDGUID & MKDWD$(%DBKIND_GUID_PROPID) & MKDWD$(12)
MACRO DBCOLUMN_COMPUTEMODE = $DBCIDGUID & MKDWD$(%DBKIND_GUID_PROPID) & MKDWD$(13)
MACRO DBCOLUMN_DEFAULTVALUE = $DBCIDGUID & MKDWD$(%DBKIND_GUID_PROPID) & MKDWD$(14)
MACRO DBCOLUMN_DOMAINNAME = $DBCIDGUID & MKDWD$(%DBKIND_GUID_PROPID) & MKDWD$(15)
MACRO DBCOLUMN_HASDEFAULT = $DBCIDGUID & MKDWD$(%DBKIND_GUID_PROPID) & MKDWD$(16)
MACRO DBCOLUMN_ISAUTOINCREMENT = $DBCIDGUID & MKDWD$(%DBKIND_GUID_PROPID) & MKDWD$(17)
MACRO DBCOLUMN_ISCASESENSITIVE = $DBCIDGUID & MKDWD$(%DBKIND_GUID_PROPID) & MKDWD$(18)
MACRO DBCOLUMN_ISSEARCHABLE = $DBCIDGUID & MKDWD$(%DBKIND_GUID_PROPID) & MKDWD$(20)
MACRO DBCOLUMN_ISUNIQUE = $DBCIDGUID & MKDWD$(%DBKIND_GUID_PROPID) & MKDWD$(21)
MACRO DBCOLUMN_BASECATALOGNAME = $DBCIDGUID & MKDWD$(%DBKIND_GUID_PROPID) & MKDWD$(23)
MACRO DBCOLUMN_BASESCHEMANAME = $DBCIDGUID & MKDWD$(%DBKIND_GUID_PROPID) & MKDWD$(24)
MACRO DBCOLUMN_GUID = $DBCIDGUID & MKDWD$(%DBKIND_GUID_PROPID) & MKDWD$(29)
MACRO DBCOLUMN_PROPID = $DBCIDGUID & MKDWD$(%DBKIND_GUID_PROPID) & MKDWD$(30)
MACRO DBCOLUMN_TYPEINFO = $DBCIDGUID & MKDWD$(%DBKIND_GUID_PROPID) & MKDWD$(31)
MACRO DBCOLUMN_DOMAINCATALOG = $DBCIDGUID & MKDWD$(%DBKIND_GUID_PROPID) & MKDWD$(32)
MACRO DBCOLUMN_DOMAINSCHEMA = $DBCIDGUID & MKDWD$(%DBKIND_GUID_PROPID) & MKDWD$(33)
MACRO DBCOLUMN_DATETIMEPRECISION = $DBCIDGUID & MKDWD$(%DBKIND_GUID_PROPID) & MKDWD$(34)
MACRO DBCOLUMN_NUMERICPRECISIONRADIX = $DBCIDGUID & MKDWD$(%DBKIND_GUID_PROPID) & MKDWD$(35)
MACRO DBCOLUMN_OCTETLENGTH = $DBCIDGUID & MKDWD$(%DBKIND_GUID_PROPID) & MKDWD$(36)
MACRO DBCOLUMN_COLUMNSIZE = $DBCIDGUID & MKDWD$(%DBKIND_GUID_PROPID) & MKDWD$(37)
MACRO DBCOLUMN_CLSID = $DBCIDGUID & MKDWD$(%DBKIND_GUID_PROPID) & MKDWD$(38)
MACRO DBCOLUMN_MAYSORT = $DBCIDGUID & MKDWD$(%DBKIND_GUID_PROPID) & MKDWD$(39)
MACRO DBCOLUMN_BASETABLEVERSION = $DBCIDGUID & MKDWD$(%DBKIND_GUID_PROPID) & MKDWD$(40)
MACRO DBCOLUMN_KEYCOLUMN = $DBCIDGUID & MKDWD$(%DBKIND_GUID_PROPID) & MKDWD$(41)
MACRO DBCOLUMN_DERIVEDCOLUMNNAME = $DBCIDGUID & MKDWD$(%DBKIND_GUID_PROPID) & MKDWD$(43)

MACRO DBROWCOL_ROWURL = $DBGUID_ROWURL & MKDWD$(%DBKIND_GUID_PROPID) & MKDWD$(0)
MACRO DBROWCOL_PARSENAME = $DBGUID_ROWURL & MKDWD$(%DBKIND_GUID_PROPID) & MKDWD$(2)
MACRO DBROWCOL_PARENTNAME = $DBGUID_ROWURL & MKDWD$(%DBKIND_GUID_PROPID) & MKDWD$(3)
MACRO DBROWCOL_ABSOLUTEPARSENAME = $DBGUID_ROWURL & MKDWD$(%DBKIND_GUID_PROPID) & MKDWD$(4)
MACRO DBROWCOL_ISHIDDEN = $DBGUID_ROWURL & MKDWD$(%DBKIND_GUID_PROPID) & MKDWD$(5)
MACRO DBROWCOL_ISREADONLY = $DBGUID_ROWURL & MKDWD$(%DBKIND_GUID_PROPID) & MKDWD$(6)
MACRO DBROWCOL_CONTENTTYPE = $DBGUID_ROWURL & MKDWD$(%DBKIND_GUID_PROPID) & MKDWD$(7)
MACRO DBROWCOL_CONTENTCLASS = $DBGUID_ROWURL & MKDWD$(%DBKIND_GUID_PROPID) & MKDWD$(8)
MACRO DBROWCOL_CONTENTLANGUAGE = $DBGUID_ROWURL & MKDWD$(%DBKIND_GUID_PROPID) & MKDWD$(9)
MACRO DBROWCOL_CREATIONTIME = $DBGUID_ROWURL & MKDWD$(%DBKIND_GUID_PROPID) & MKDWD$(10)
MACRO DBROWCOL_LASTACCESSTIME = $DBGUID_ROWURL & MKDWD$(%DBKIND_GUID_PROPID) & MKDWD$(11)
MACRO DBROWCOL_LASTWRITETIME = $DBGUID_ROWURL & MKDWD$(%DBKIND_GUID_PROPID) & MKDWD$(12)
MACRO DBROWCOL_STREAMSIZE = $DBGUID_ROWURL & MKDWD$(%DBKIND_GUID_PROPID) & MKDWD$(13)
MACRO DBROWCOL_ISCOLLECTION = $a & MKDWD$(%DBKIND_GUID_PROPID) & MKDWD$(14)
MACRO DBROWCOL_ISSTRUCTUREDDOCUMENT = $DBGUID_ROWURL & MKDWD$(%DBKIND_GUID_PROPID) & MKDWD$(15)
MACRO DBROWCOL_DEFAULTDOCUMENT = $DBGUID_ROWURL & MKDWD$(%DBKIND_GUID_PROPID) & MKDWD$(16)
MACRO DBROWCOL_DISPLAYNAME = $DBGUID_ROWURL & MKDWD$(%DBKIND_GUID_PROPID) & MKDWD$(17)
MACRO DBROWCOL_ISROOT = $DBGUID_ROWURL & MKDWD$(%DBKIND_GUID_PROPID) & MKDWD$(18)

MACRO DBROWCOL_DEFAULTSTREAM = $DBGUID_ROWDEFAULTSTREAM & MKDWD$(%DBKIND_GUID_PROPID) & MKDWD$(0)
 
Note: To use them, DIM a variable AS DBID and use TYPE SET, e.g.
DIM dbidName AS DBID : TYPE SET dbidName = DBCOLUMN_NAME
 

 

Structures

 

DBBINDEXT

 

TYPE DBBINDEXT

   pExtension AS BYTE PTR  

   ulExtension AS DWORD
END TYPE
 

 

DBBINDING

 

TYPE DBBINDING
   iOrdinal AS DWORD ' DBORDINAL
   obValue AS DWORD ' DBBYTEOFFSET
   obLength AS DWORD ' DBBYTEOFFSET
   obStatus AS DWORD ' DBBYTEOFFSET
   pTypeInfo AS DWORD ' ITypeInfo *
   pObject AS DBOBJECT PTR ' DBOBJECT *
   pBindExt AS DBBINDEXT PTR ' DBBINDEXT *
   dwPart AS DWORD ' DBPART
   dwMemOwner AS DWORD ' DBMEMOWNER
   eParamIO AS DWORD ' DBPARAMIO
   cbMaxLen AS DWORD ' DBLENGTH
   dwFlags AS DWORD ' DWORD
   wType AS WORD ' DBTYPE
   bPrecision AS BYTE
   bScale AS BYTE
END TYPE
 

 

DBCOLUMNDESC

 

TYPE DBCOLUMNDESC
   pwszTypeName AS DWORD
   pTypeInfo AS DWORD
   rgPropertySets AS DWORD
   pclsid AS DWORD
   cPropertySets AS DWORD
   ulColumnSize AS DWORD
   dbcid AS DBID
   wType AS WORD
   bPrecision AS BYTE
   bScale AS BYTE
END TYPE
 

 

DBCOLUMNINFO

 

TYPE DBCOLUMNINFO
   pwszName AS DWORD
   pTypeInfo AS DWORD
   iOrdinal AS DWORD
   dwFlags AS DWORD
   ulColumnSize AS DWORD
   wType AS WORD  ' DBTYPE
   bPrecision AS BYTE
   bScale AS BYTE
   columnid AS DBID
END TYPE
 

 

DBCOMMANDTREE

 

UNION DBCOMMANDTREE_VALUE_UNION
   fValue AS LONG ' BOOL // DBVALUEKIND_BOOL (DBTYPE_BOOL)
   uchValue AS BYTE ' unsigned char // DBVALUEKIND_UI1 (DBTYPE_UI1)
   schValue AS BYTE ' signed char // DBVALUEKIND_I1 (DBTYPE_I1)
   usValue AS WORD ' unsigned short // DBVALUEKIND_UI2 (DBTYPE_UI2)
   sValue AS INTEGER ' short // DBVALUEKIND_I2 (DBTYPE_I2)
   pwszValue AS DWORD ' LPOLESTR // DBVALUEKIND_WSTR (DBTYPE_WSTR)
   lValue AS LONG ' LONG // DBVALUEKIND_I4 (DBTYPE_I4)
   ulValue AS DWORD ' ULONG // DBVALUEKIND_UI4 (DBTYPE_UI4)
   flValue AS SINGLE ' float // DBVALUEKIND_R4 (DBTYPE_R4)
   dblValue AS DOUBLE ' double // DBVALUEKIND_R8 (DBTYPE_R8)
   cyValue AS CUR ' CY // DBVALUEKIND_CY (DBTYPE_CY)
   dateValue AS DOUBLE ' DATE // DBVALUEKIND_DATE (DBTYPE_DATE)
   dbdateValue AS DBDATE ' DBDATE // DBVALUEKIND_DBDATE (DBTYPE_DBDATE)
   dbtimeValue AS DBTIME ' DBTIME // DBVALUEKIND_DBTIME (DBTYPE_DBTIME)
   scodeValue AS LONG ' SCODE // DBVALUEKIND_ERROR (DBTYPE_ERROR)
   llValue AS QUAD ' __int64 // DBVALUEKIND_I8 (DBTYPE_I8)
   ullValue AS QUAD ' unsigned __int64 // DBVALUEKIND_UI8 (DBTYPE_UI8)
   pbstrValue AS STRING PTR ' BSTR * // DBVALUEKIND_BSTR (DBTYPE_BSTR)
   pCommand AS DWORD ' ICommand * // DBVALUEKIND_COMMAND (DBTYPE_IUNKNOWN)
   pDispatch AS DWORD ' IDispatch * // DBVALUEKIND_IDISPATCH (DBTYPE_IDISPATCH)
   pMoniker AS DWORD ' IMoniker * // DBVALUEKIND_MONIKER (DBTYPE_MONIKER)
   pRowset AS DWORD ' IRowset * // DBVALUEKIND_ROWSET (DBTYPE_ROWSET)
   pUnknown AS DWORD ' IUnknown * // DBVALUEKIND_IUNKNOWN (DBTYPE_IUNKNOWN)
   pdbbygdValue AS DBBYGUID PTR ' DBBYGUID * // DBVALUEKIND_BYGUID
   pcoldescValue AS DBCOLUMNDESC PTR ' DBCOLUMNDESC * // DBVALUEKIND_COLDESC
   pdbidValue AS DBID PTR ' DBID * // DBVALUEKIND_ID
   pdblikeValue AS DBLIKE PTR ' DBLIKE * // DBVALUEKIND_LIKE
   pdbcntntValue AS DBCONTENT PTR ' DBCONTENT * // DBVALUEKIND_CONTENT
   pdbcntntvcValue AS DBCONTENTVECTOR PTR ' DBCONTENTVECTOR * // DBVALUEKIND_CONTENTVECTOR
   pdbcntntproxValue AS DBCONTENTPROXIMITY PTR ' DBCONTENTPROXIMITY * // DBVALUEKIND_CONTENTPROXIMITY
   pdbgrpinfValue AS DBGROUPINFO PTR ' DBGROUPINFO * // DBVALUEKIND_GROUPINFO
   pdbparamValue AS DBPARAMETER PTR ' DBPARAMETER * // DBVALUEKIND_PARAMETER
   pdbpropValue AS DBPROPSET PTR ' DBPROPSET * // DBVALUEKIND_PROPERTY
   pdbstfncValue AS DBSETFUNC PTR ' DBSETFUNC * // DBVALUEKIND_SETFUNC
   pdbsrtinfValue AS DBSORTINFO PTR ' DBSORTINFO * // DBVALUEKIND_SORTINFO
   pdbtxtValue AS DBTEXT PTR ' DBTEXT * // DBVALUEKIND_TEXT
   pdbvectorValue AS DBVECTOR PTR ' DBVECTOR * // DBVALUEKIND_VECTOR | *
   parrayValue AS DWORD ' SAFEARRAY * // DBVALUEKIND_ARRAY | *
   pvarValue AS VARIANTAPI PTR ' VARIANT * // DBVALUEKIND_VARIANT (DBTYPE_VARIANT)
   pGuid AS GUID PTR ' GUID * // DBVALUEKIND_GUID (DBTYPE_GUID)
   pbValue AS BYTE PTR ' BYTE * // DBVALUEKIND_BYTES (DBTYPE_BYTES)
   pzValue AS ASCIIZ PTR ' CHAR * // DBVALUEKIND_STR (DBTYPE_STR)
   pdbnValue AS DB_NUMERIC PTR ' DB_NUMERIC * // DBVALUEKIND_NUMERIC (DBTYPE_NUMERIC)
   pdbtsValue AS DBTIMESTAMP PTR ' DBTIMESTAMP * // DBVALUEKIND_DBTIMESTAMP (DBTYPE_DBTIMESTAMP)
   pvValue AS DWORD PTR ' void * // a generic DBVALUEKIND_BYREF
END UNION

 

TYPE DBCOMMANDTREE
   op AS WORD ' // Operator identifier (2 bytes)
   wKind AS WORD ' // Discriminator for the following union (2 bytes)
   pctFirstChild AS DWORD ' // Pointer to first child (4 bytes)
   pctNextSibling AS DWORD ' // Pointer to sibling (4 bytes)
   value AS DBCOMMANDTREE_VALUE_UNION ' // Union directly represents fields that fit within 8 bytes.
   hrError AS DWORD ' // Error indicator, details in Extended Error info (4 bytes)
END TYPE
 

 

DBCONTENT

 

TYPE DBCONTENT
   pwszPhrase AS DWORD ' LPWSTR // text
   dwGenerateMethod AS DWORD ' DWORD // exact, prefix, stemmed
   lWeight AS LONG ' LONG // weight of node
   lcid AS LONG ' LCID // locale
END TYPE
 

 

DBCONTENTPROXIMITY

 

%PROXIMITY_UNIT_WORD = 0
%PROXIMITY_UNIT_SENTENCE = 1
%PROXIMITY_UNIT_PARAGRAPH = 2
%PROXIMITY_UNIT_CHAPTER = 3

 

TYPE DBCONTENTPROXIMITY
   dwProximityUnit AS DWORD ' DWORD // words, paras, chapters etc.
   ulProximityDistance AS DWORD ' ULONG // how near is "near"?
   lWeight AS LONG ' LONG // weight of the proximity node
END TYPE
 

 

DBCONTENTVECTOR

 

TYPE DBCONTENTVECTOR
  lWeight AS LONG ' LONG // node weight
  dwRankingMethod AS DWORD ' DWORD // jaccard, dice, etc.
END TYPE
 

 

DBCOST

 

TYPE DBCOST
   eKind AS DWORD

   dwUnits AS DWORD
   lValue AS LONG
END TYPE
 

 

DBDATE

 

TYPE DBDATE
   year AS INTEGER
   month AS WORD
   day AS WORD
END TYPE
 

 

DBFAILUREINFO

 

TYPE DBFAILUREINFO
   hRow AS DWORD
   iColumn AS DWORD
   failure AS DWORD
END TYPE
 

 

DBFILETIME

 

TYPE DBFILETIME
   dwLowDateTime AS DWORD
   dwHighDateTime AS DWORD
END TYPE
 

 

DBGROUPINFO

 

TYPE DBGROUPINFO
   lcid AS LONG ' LCID // local ID for text portion of query
END TYPE
 

 

DBID

 

UNION DBID_GUID_UNION
   rguid AS GUID
   pguid AS GUID PTR
END UNION

UNION DBID_NAME_UNION
   pwszName AS DWORD
   ulPropid AS DWORD
END UNION

TYPE DBID
   uGuid AS DBID_GUID_UNION

   eKind AS DWORD            ' // DBKIND Enum
   uName AS DBID_NAME_UNION

END TYPE
 

 

DBIMPLICITSESSION

 

TYPE DBIMPLICITSESSION
  
pUnkOuter AS DWORD
  
piid AS GUID PTR
  
pSession AS DWORD
END TYPE

 

 

DBINDENT

 

TYPE DBINDENT
   pExtension AS BYTE PTR
   ulExtension AS DWORD
END TYPE
 

 

DBINDEXCOLUMNDESC

 

TYPE DBINDEXCOLUMNDESC
   pColumnID AS DBID
   eIndexColOrder AS LONG
END TYPE
 

 

DBLIKE

 

TYPE DBLIKE
   lWeight AS LONG ' LONG // weight on the dbop_like node
   guidDialect AS GUID ' GUID // system to use for "likeness". E.g. Reg. Ex.
END TYPE
 

 

DBLIKE

 

TYPE DBLITERALINFO
   pwszLiteralValue AS DWORD
   pwszInvalidChars AS DWORD
   pwszInvalidStartingChars AS DWORD
   lt AS DWORD
   fSupported AS LONG
   cchMaxLen AS DWORD
END TYPE
 

 

DBNUMERIC

 

TYPE DB_NUMERIC
   precision AS BYTE
   scale AS BYTE
   sign AS BYTE
   value (0 TO 15) AS BYTE
END TYPE
 

 

DBOBJECT

 

TYPE DBOBJECT
   dwFlags AS DWORD
   iid AS LONG
END TYPE
 

 

DBPARAMBINDINFO

 

TYPE DBPARAMBINDINFO
   pwszDataSourceType AS DWORD
   pwszName AS DWORD
   ulParamSize AS DWORD
   dwFlags AS DWORD
   bPrecision AS BYTE
   bScale AS BYTE
END TYPE
 

 

DBPARAMETER

 

TYPE DBPARAMETER
   pwszName AS DWORD ' LPWSTR // parameter name
   pTypeInfo AS DWORD ' ITypeInfo * // if not a null pointer, type is described by the ITypeInfo
   pNum AS DB_NUMERIC PTR ' DB_NUMERIC * // Structure describing the precision, scale and value of the numeric value.
   cbMaxLength AS DWORD ' DBLENGTH // the maximum length of the parameter
   dwFlags AS DWORD ' DBPARAMFLAGS // bitmask describing parameter characteristics
   wType AS WORD ' DBTYPE // type of the parameter
END TYPE
 

 

DBPARAMINFO

 

TYPE DBPARAMINFO
   dwFlags AS DWORD
   iOrdinal AS DWORD
   pwszName AS DWORD
   pTypeInfo AS DWORD
   ulParamSize AS DWORD
   wType AS WORD
   bPrecision AS BYTE
   bScale AS BYTE
END TYPE
 

 

DBPARAMS

 

TYPE DBPARAMS
   pData AS DWORD
   cParamSets AS DWORD
   hAccessor AS DWORD
END TYPE
 

 

DBPROP

 

TYPE DBPROP
   dwPropertyID AS DWORD ' // DBPROPID
   dwOptions AS DWORD ' // DBPROPOPTIONS
   dwStatus AS DWORD ' // DBPROPSTATUS
   colid AS DBID
   vValue AS VARIANTAPI
END TYPE
 

 

DBPROPIDSET

 

TYPE DBPROPIDSET
   rgPropertyIDs AS DWORD
   cPropertyIDs AS DWORD
   guidPropertySet AS GUID
END TYPE
 

 

DBPROPINFO

 

TYPE DBPROPINFO
   pwszDescription AS DWORD
   dwPropertyID AS DWORD
   dwFlags AS DWORD

   vtType AS WORD
   vValues AS VARIANTAPI
END TYPE
 

 

DBPROPINFOSET

 

TYPE DBPROPINFOSET
   rgPropertyInfos AS DBPROPINFO PTR
   cPropertyInfos AS DWORD
   guidPropertySet AS GUID
END TYPE
 

 

DBPROPSET

 

TYPE DBPROPSET
   rgProperties AS DBPROP PTR
   cProperties AS DWORD
   guidPropertySet AS GUID
END TYPE
 

 

DBROWWATCHRANGE

 

TYPE DBROWWATCHRANGE
   hRegion AS DWORD
   eChangeKind AS DWORD

   hRow AS DWORD
   iRow AS DWORD
END TYPE
 

 

DBSETFUNC

 

%DBSETFUNC_NONE = &H0
%DBSETFUNC_ALL = &H1
%DBSETFUNC_DISTINCT = &H2

 

TYPE DBSETFUNC
   dwSetQuantifier AS DWORD ' DWORD // which aggregation method to use
END TYPE
 

 

DBSORTINFO

 

TYPE DBSORTINFO
   fDesc AS LONG ' BOOL // TRUE = ascending, FALSE = descending
   lcid AS LONG ' LCID // locale identifier
END TYPE
 

 

DBTEXT

 

TYPE DBTEXT
   pwszText AS DWORD ' LPWTR
   ulErrorLocator AS DWORD ' ULONG // set by validation routines
   ulTokenLength AS DWORD ' ULONG // length of offending token
   guidDialect AS GUID ' GUID // GUID of the language and dialect
END TYPE
 

 

DBTIME

 

TYPE DBTIME
   hour AS WORD
   minute AS WORD
   second AS WORD
END TYPE
 

 

DBTIMESTAMP

 

TYPE DBTIMESTAMP
   year AS INTEGER
   month AS WORD
   day AS WORD
   hour AS WORD
   minute AS WORD
   second AS WORD
   fraction AS DWORD
END TYPE
 

 

DB_VARNUMERIC

 

TYPE DB_VARNUMERIC
   precission AS BYTE
   scale AS BYTE
   sign AS BYTE
   value (0) AS BYTE  ' Variable-length array
END TYPE