' ########################################################################################
' Microsoft Windows
' File: oledbdep.inc
' Copyright (c) 2011 Jos? Roca
' Portions Copyright (c) Microsoft Corporation.
' All Rights Reserved.
' THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER
' EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
' MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE.
' ########################################################################################
#IF NOT %DEF(PBX_oledbdep_PBI)
#DEFINE PBX_oledbdep_PBI
%EQUATE `OLEDBDEP_INC = 1
'/* header files for imported files */
#INCLUDE ONCE "Legacy/COM/oledb.inc"
'#ifdef _WIN64
'#include <pshpack8.h> // 8-byte structure packing
'#else
'#include <pshpack2.h> // 2-byte structure packing
'#endif
#IF NOT %DEF(%DBStructureDefinitionsDep_INTERFACE_DEFINED)
%EQUATE `DBStructureDefinitionsDep_INTERFACE_DEFINED = 1
'#IF %DEF(%DBINITCONSTANTS)
$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}")
'#ENDIF ' // DBINITCONSTANTS
' DBPROPENUM25_DEPRECATED
%EQUATE `DBPROP_ICommandCost = &H8d&
%EQUATE `DBPROP_ICommandTree = &H8e&
%EQUATE `DBPROP_ICommandValidate = &H8f&
%EQUATE `DBPROP_IDBSchemaCommand = &H90&
%EQUATE `DBPROP_IProvideMoniker = &H7d&
%EQUATE `DBPROP_IQuery = &H92&
%EQUATE `DBPROP_IReadData = &H93&
%EQUATE `DBPROP_IRowsetAsynch = &H94&
%EQUATE `DBPROP_IRowsetCopyRows = &H95&
%EQUATE `DBPROP_IRowsetKeys = &H97&
%EQUATE `DBPROP_IRowsetNewRowAfter = &H98&
%EQUATE `DBPROP_IRowsetNextRowset = &H99&
%EQUATE `DBPROP_IRowsetWatchAll = &H9b&
%EQUATE `DBPROP_IRowsetWatchNotify = &H9c&
%EQUATE `DBPROP_IRowsetWatchRegion = &H9d&
%EQUATE `DBPROP_IRowsetWithParameters = &H9e&
' DBREASONENUM25
%EQUATE `DBREASON_ROWSET_ROWSADDED = %DBREASON_ROW_ASYNCHINSERT + 1
%EQUATE `DBREASON_ROWSET_POPULATIONCOMPLETE = %DBREASON_ROWSET_ROWSADDED + 1
%EQUATE `DBREASON_ROWSET_POPULATIONSTOPPED = %DBREASON_ROWSET_POPULATIONCOMPLETE + 1
#ENDIF ' /* __DBStructureDefinitionsDep_INTERFACE_DEFINED__ */
' ########################################################################################
' IRowsetNextRowset interface
' IID = 0C733A72-2A1C-11CE-ADE5-00AA0044773D
' Inherited interface = IUnknown
' ########################################################################################
#IF NOT %DEF(%IRowsetNextRowset_INTERFACE_DEFINED)
%EQUATE `IRowsetNextRowset_INTERFACE_DEFINED = 1
$IID_IRowsetNextRowset = GUID$("{0C733A72-2A1C-11CE-ADE5-00AA0044773D}")
INTERFACE IRowsetNextRowset $IID_IRowsetNextRowset
 INHERIT IUnknown
 ' =====================================================================================
 METHOD GetNextRowset ( ' VTable offset = 12
 BYVAL pUnkOuter AS IUnknown
 , BYREF riid AS GUID
 , BYREF ppNextRowset AS IUnknown
 ) AS LONG
 ' =====================================================================================
END INTERFACE
#ENDIF ' /* __IRowsetNextRowset_INTERFACE_DEFINED__ */
' ########################################################################################
' IRowsetNewRowAfter interface
' IID = 0C733A71-2A1C-11CE-ADE5-00AA0044773D
' Inherited interface = IUnknown
' ########################################################################################
#IF NOT %DEF(%IRowsetNewRowAfter_INTERFACE_DEFINED)
%EQUATE `IRowsetNewRowAfter_INTERFACE_DEFINED = 1
$IID_IRowsetNewRowAfter = GUID$("{0C733A71-2A1C-11CE-ADE5-00AA0044773D}")
INTERFACE IRowsetNewRowAfter $IID_IRowsetNewRowAfter
 INHERIT IUnknown
 ' =====================================================================================
 METHOD SetNewDataAfter ( ' VTable offset = 12
 BYVAL hChapter AS DWORD
 , BYVAL cbbmPrevious AS DWORD
 , BYVAL pbmPrevious AS BYTE PTR
 , BYVAL hAccessor AS DWORD
 , BYVAL pData AS BYTE PTR
 , BYREF phRow AS DWORD
 ) AS LONG
 ' =====================================================================================
END INTERFACE
#ENDIF ' /* __IRowsetNewRowAfter_INTERFACE_DEFINED__ */
' ########################################################################################
' IRowsetWithParameters interface
' IID = 0C733A6E-2A1C-11CE-ADE5-00AA0044773D
' Inherited interface = IUnknown
' ########################################################################################
#IF NOT %DEF(%IRowsetWithParameters_INTERFACE_DEFINED)
%EQUATE `IRowsetWithParameters_INTERFACE_DEFINED = 1
$IID_IRowsetWithParameters = GUID$("{0C733A6E-2A1C-11CE-ADE5-00AA0044773D}")
INTERFACE IRowsetWithParameters $IID_IRowsetWithParameters
 INHERIT IUnknown
 ' =====================================================================================
 METHOD GetParameterInfo ( ' VTable offset = 12
 BYREF pcParams AS DWORD
 , BYREF prgParamInfo AS DBPARAMINFO
 , BYREF ppNamesBuffer AS DWORD
 ) AS LONG
 ' =====================================================================================
 METHOD Requery ( ' VTable offset = 16
 BYREF pParams AS DBPARAMS
 , BYREF pulErrorParam AS DWORD
 , BYREF phReserved AS DWORD
 ) AS LONG
 ' =====================================================================================
END INTERFACE
#ENDIF ' /* __IRowsetWithParameters_INTERFACE_DEFINED__ */
' ########################################################################################
' IRowsetAsynch interface
' IID = 0C733A0F-2A1C-11CE-ADE5-00AA0044773D
' Inherited interface = IUnknown
' ########################################################################################
#IF NOT %DEF(%IRowsetAsynch_INTERFACE_DEFINED)
%EQUATE `IRowsetAsynch_INTERFACE_DEFINED = 1
$IID_IRowsetAsynch = GUID$("{0C733A0F-2A1C-11CE-ADE5-00AA0044773D}")
INTERFACE IRowsetAsynch $IID_IRowsetAsynch
 INHERIT IUnknown
 ' =====================================================================================
 METHOD RatioFinished ( ' VTable offset = 12
 BYREF pulDenominator AS DWORD
 , BYREF pulNumerator AS DWORD
 , BYREF pcRows AS DWORD
 , BYREF pfNewRows AS LONG
 ) AS LONG
 ' =====================================================================================
 METHOD Stop ( ' VTable offset = 16
 ) AS LONG
 ' =====================================================================================
END INTERFACE
#ENDIF ' /* __IRowsetAsynch_INTERFACE_DEFINED__ */
' ########################################################################################
' IRowsetKeys interface
' IID = 0C733A12-2A1C-11CE-ADE5-00AA0044773D
' Inherited interface = IUnknown
' ########################################################################################
#IF NOT %DEF(%IRowsetKeys_INTERFACE_DEFINED)
%EQUATE `IRowsetKeys_INTERFACE_DEFINED = 1
$IID_IRowsetKeys = GUID$("{0C733A12-2A1C-11CE-ADE5-00AA0044773D}")
INTERFACE IRowsetKeys $IID_IRowsetKeys
 INHERIT IUnknown
 ' =====================================================================================
 METHOD ListKeys ( ' VTable offset = 12
 BYREF pcColumns AS DWORD
 , BYREF prgColumns AS DWORD
 ) AS LONG
 ' =====================================================================================
END INTERFACE
#ENDIF ' /* __IRowsetKeys_INTERFACE_DEFINED__ */
' ########################################################################################
' IRowsetWatchAll interface
' IID = 0C733A73-2A1C-11CE-ADE5-00AA0044773D
' Inherited interface = IUnknown
' ########################################################################################
#IF NOT %DEF(%IRowsetWatchAll_INTERFACE_DEFINED)
%EQUATE `IRowsetWatchAll_INTERFACE_DEFINED = 1
$IID_IRowsetWatchAll = GUID$("{0C733A73-2A1C-11CE-ADE5-00AA0044773D}")
INTERFACE IRowsetWatchAll $IID_IRowsetWatchAll
 INHERIT IUnknown
 ' =====================================================================================
 METHOD Acknowledge ( ' VTable offset = 12
 ) AS LONG
 ' =====================================================================================
 METHOD Start ( ' VTable offset = 16
 ) AS LONG
 ' =====================================================================================
 METHOD StopWatching ( ' VTable offset = 20
 ) AS LONG
 ' =====================================================================================
END INTERFACE
#ENDIF ' /* __IRowsetWatchAll_INTERFACE_DEFINED__ */
' ########################################################################################
' IRowsetWatchNotify interface
' IID = 0C733A44-2A1C-11CE-ADE5-00AA0044773D
' Inherited interface = IUnknown
' ########################################################################################
#IF NOT %DEF(%IRowsetWatchNotify_INTERFACE_DEFINED)
%EQUATE `IRowsetWatchNotify_INTERFACE_DEFINED = 1
'typedef DWORD DBWATCHNOTIFY;
%EQUATE `DBWATCHNOTIFY_ROWSCHANGED = 1
%EQUATE `DBWATCHNOTIFY_QUERYDONE = 2
%EQUATE `DBWATCHNOTIFY_QUERYREEXECUTED = 3
$IID_IRowsetWatchNotify = GUID$("{0C733A44-2A1C-11CE-ADE5-00AA0044773D}")
INTERFACE IRowsetWatchNotify $IID_IRowsetWatchNotify
 INHERIT IUnknown
 ' =====================================================================================
 METHOD OnChange ( ' VTable offset = 12
 BYVAL pRowset AS IRowset
 , BYVAL eChangeReason AS DWORD
 ) AS LONG
 ' =====================================================================================
END INTERFACE
#ENDIF ' /* __IRowsetWatchNotify_INTERFACE_DEFINED__ */
' ########################################################################################
' IRowsetWatchRegion interface
' IID = 0C733A45-2A1C-11CE-ADE5-00AA0044773D
' Inherited interface = IRowsetWatchAll
' ########################################################################################
#IF NOT %DEF(%IRowsetWatchRegion_INTERFACE_DEFINED)
%EQUATE `IRowsetWatchRegion_INTERFACE_DEFINED = 1
'typedef DWORD DBWATCHMODE;
' DBWATCHMODEENUM
%EQUATE `DBWATCHMODE_ALL = &H1
%EQUATE `DBWATCHMODE_EXTEND = &H2
%EQUATE `DBWATCHMODE_MOVE = &H4
%EQUATE `DBWATCHMODE_COUNT = &H8
'typedef DWORD DBROWCHANGEKIND;
' DBROWCHANGEKINDENUM
%EQUATE `DBROWCHANGEKIND_INSERT = 0
%EQUATE `DBROWCHANGEKIND_DELETE = %DBROWCHANGEKIND_INSERT + 1
%EQUATE `DBROWCHANGEKIND_UPDATE = %DBROWCHANGEKIND_DELETE + 1
%EQUATE `DBROWCHANGEKIND_COUNT = %DBROWCHANGEKIND_UPDATE + 1
' // Size = 16 bytes
TYPE DBROWWATCHCHANGE DWORD
 hRegion AS DWORD ' HWATCHREGION
 eChangeKind AS DWORD ' DBROWCHANGEKIND
 hRow AS DWORD ' HROW
 iRow AS DWORD ' DBCOUNTITEM
END TYPE
$IID_IRowsetWatchRegion = GUID$("{0C733A45-2A1C-11CE-ADE5-00AA0044773D}")
INTERFACE IRowsetWatchRegion $IID_IRowsetWatchRegion
 INHERIT IUnknown
 ' =====================================================================================
 ' IRowsetWatchAll methods
 ' =====================================================================================
 METHOD Acknowledge ( ' VTable offset = 12
 ) AS LONG
 ' =====================================================================================
 METHOD Start ( ' VTable offset = 16
 ) AS LONG
 ' =====================================================================================
 METHOD StopWatching ( ' VTable offset = 20
 ) AS LONG
 ' =====================================================================================
 ' IRowsetWatchRegion methods
 ' =====================================================================================
 METHOD CreateWatchRegion ( ' VTable offset = 24
 BYVAL dwWatchMode AS DWORD
 , BYREF phRegion AS DWORD
 ) AS LONG
 ' =====================================================================================
 METHOD ChangeWatchMode ( ' VTable offset = 28
 BYVAL hRegion AS DWORD
 , BYVAL dwWatchMode AS DWORD
 ) AS LONG
 ' =====================================================================================
 METHOD DeleteWatchRegion ( ' VTable offset = 32
 BYVAL hRegion AS DWORD
 ) AS LONG
 ' =====================================================================================
 METHOD GetWatchRegionInfo ( ' VTable offset = 36
 BYVAL hRegion AS DWORD
 , BYREF pdwWatchMode AS DWORD
 , BYREF phChapter AS DWORD
 , BYREF pcbBookmark AS DWORD
 , BYREF ppBookmark AS DWORD
 , BYREF pcRows AS LONG
 ) AS LONG
 ' =====================================================================================
 METHOD Refresh ( ' VTable offset = 40
 BYREF pcChangesObtained AS DWORD
 , BYREF prgChanges AS DBROWWATCHCHANGE
 ) AS LONG
 ' =====================================================================================
 METHOD ShrinkWatchRegion ( ' VTable offset = 44
 BYVAL hRegion AS DWORD
 , BYVAL hChapter AS DWORD
 , BYVAL cbBookmark AS DWORD
 , BYVAL pBookmark AS BYTE PTR
 , BYVAL cRows AS LONG
 ) AS LONG
 ' =====================================================================================
END INTERFACE
#ENDIF ' /* __IRowsetWatchRegion_INTERFACE_DEFINED__ */
' ########################################################################################
' IRowsetCopyRows interface
' IID = 0C733A6B-2A1C-11CE-ADE5-00AA0044773D
' Inherited interface = IUnknown
' ########################################################################################
#IF NOT %DEF(%IRowsetCopyRows_INTERFACE_DEFINED)
%EQUATE `IRowsetCopyRows_INTERFACE_DEFINED = 1
'typedef WORD HSOURCE;
$IID_IRowsetCopyRows = GUID$("{0C733A6B-2A1C-11CE-ADE5-00AA0044773D}")
INTERFACE IRowsetCopyRows $IID_IRowsetCopyRows
 INHERIT IUnknown
 ' =====================================================================================
 METHOD CloseSource ( ' VTable offset = 12
 BYVAL hSourceID AS DWORD
 ) AS LONG
 ' =====================================================================================
 METHOD CopyByHROWS ( ' VTable offset = 16
 BYVAL hSourceID AS DWORD
 , BYVAL hReserved AS DWORD
 , BYVAL cRows AS LONG
 , BYREF rghRows AS DWORD
 , BYVAL bFlags AS DWORD
 ) AS LONG
 ' =====================================================================================
 METHOD DefineSource ( ' VTable offset = 20
 BYVAL pRowsetSource AS IRowset
 , BYVAL cColIds AS DWORD
 , BYREF rgSourceColumns AS LONG
 , BYREF rgTargetColumns AS LONG
 , BYREF phSourceID AS DWORD
 ) AS LONG
 ' =====================================================================================
END INTERFACE
#ENDIF ' /* __IRowsetCopyRows_INTERFACE_DEFINED__ */
' ########################################################################################
' IReadData interface
' IID = 0C733A6A-2A1C-11CE-ADE5-00AA0044773D
' Inherited interface = IUnknown
' ########################################################################################
#IF NOT %DEF(%IReadData_INTERFACE_DEFINED)
%EQUATE `IReadData_INTERFACE_DEFINED = 1
$IID_IReadData = GUID$("{0C733A6A-2A1C-11CE-ADE5-00AA0044773D}")
INTERFACE IReadData $IID_IReadData
 INHERIT IUnknown
 ' =====================================================================================
 METHOD ReadData ( ' VTable offset = 12
 BYVAL hChapter AS DWORD
 , BYVAL cbBookmark AS DWORD
 , BYVAL pBookmark AS BYTE PTR
 , BYVAL lRowsOffset AS LONG
 , BYVAL hAccessor AS DWORD
 , BYVAL cRows AS DWORD
 , BYREF pcRowsObtained AS DWORD
 , BYREF ppFixedData AS DWORD
 , BYREF pcbVariableTotal AS DWORD
 , BYREF ppVariableData AS DWORD
 ) AS LONG
 ' =====================================================================================
 METHOD ReleaseChapter ( ' VTable offset = 16
 BYVAL hChapter AS DWORD
 ) AS LONG
 ' =====================================================================================
END INTERFACE
#ENDIF ' /* __IReadData_INTERFACE_DEFINED__ */
' ########################################################################################
' ICommandCost interface
' IID = 0C733A4E-2A1C-11CE-ADE5-00AA0044773D
' Inherited interface = IUnknown
' ########################################################################################
#IF NOT %DEF(%ICommandCost_INTERFACE_DEFINED)
%EQUATE `ICommandCost_INTERFACE_DEFINED = 1
'typedef DWORD DBRESOURCEKIND;
' DBRESOURCEKINDENUM
%EQUATE `DBRESOURCE_INVALID = 0
%EQUATE `DBRESOURCE_TOTAL = 1
%EQUATE `DBRESOURCE_CPU = 2
%EQUATE `DBRESOURCE_MEMORY = 3
%EQUATE `DBRESOURCE_DISK = 4
%EQUATE `DBRESOURCE_NETWORK = 5
%EQUATE `DBRESOURCE_RESPONSE = 6
%EQUATE `DBRESOURCE_ROWS = 7
%EQUATE `DBRESOURCE_OTHER = 8
'typedef DWORD DBCOSTUNIT;
' DBCOSTUNITENUM
%EQUATE `DBUNIT_INVALID = 0
%EQUATE `DBUNIT_WEIGHT = &H1
%EQUATE `DBUNIT_PERCENT = &H2
%EQUATE `DBUNIT_MAXIMUM = &H4
%EQUATE `DBUNIT_MINIMUM = &H8
%EQUATE `DBUNIT_MICRO_SECOND = &H10
%EQUATE `DBUNIT_MILLI_SECOND = &H20
%EQUATE `DBUNIT_SECOND = &H40
%EQUATE `DBUNIT_MINUTE = &H80
%EQUATE `DBUNIT_HOUR = &H100
%EQUATE `DBUNIT_BYTE = &H200
%EQUATE `DBUNIT_KILO_BYTE = &H400
%EQUATE `DBUNIT_MEGA_BYTE = &H800
%EQUATE `DBUNIT_GIGA_BYTE = &H1000
%EQUATE `DBUNIT_NUM_MSGS = &H2000
%EQUATE `DBUNIT_NUM_LOCKS = &H4000
%EQUATE `DBUNIT_NUM_ROWS = &H8000
%EQUATE `DBUNIT_OTHER = &H10000
' // Size = 12 bytes
TYPE DBCOST DWORD
 eKind AS DWORD
 dwUnits AS DWORD
 lValue AS LONG
END TYPE
'typedef DWORD DBEXECLIMITS;
' DBEXECLIMITSENUM
%EQUATE `DBEXECLIMITS_ABORT = 1
%EQUATE `DBEXECLIMITS_STOP = 2
%EQUATE `DBEXECLIMITS_SUSPEND = 3
$IID_ICommandCost = GUID$("{0C733A4E-2A1C-11CE-ADE5-00AA0044773D}")
INTERFACE ICommandCost $IID_ICommandCost
 INHERIT IUnknown
 ' =====================================================================================
 METHOD GetAccumulatedCost ( ' VTable offset = 12
 BYREF pwszRowsetName AS WSTRINGZ
 , BYREF pcCostLimits AS DWORD
 , BYREF prgCostLimits AS DBCOST
 ) AS LONG
 ' =====================================================================================
 METHOD GetCostEstimate ( ' VTable offset = 16
 BYREF pwszRowsetName AS WSTRINGZ
 , BYREF pcCostEstimates AS DWORD
 , BYREF prgCostEstimates AS DBCOST
 ) AS LONG
 ' =====================================================================================
 METHOD GetCostGoals ( ' VTable offset = 20
 BYREF pwszRowsetName AS WSTRINGZ
 , BYREF pcCostGoals AS DWORD
 , BYREF prgCostGoals AS DBCOST
 ) AS LONG
 ' =====================================================================================
 METHOD GetCostLimits ( ' VTable offset = 24
 BYREF pwszRowsetName AS WSTRINGZ
 , BYREF pcCostLimits AS DWORD
 , BYREF prgCostLimits AS DBCOST
 ) AS LONG
 ' =====================================================================================
 METHOD SetCostGoals ( ' VTable offset = 28
 BYREF pwszRowsetName AS WSTRINGZ
 , BYVAL cCostGoals AS DWORD
 , BYREF rgCostGoals AS DBCOST
 ) AS LONG
 ' =====================================================================================
 METHOD SetCostLimits ( ' VTable offset = 32
 BYREF pwszRowsetName AS WSTRINGZ
 , BYVAL cCostLimits AS DWORD
 , BYREF prgCostLimits AS DBCOST
 , BYVAL dwExecutionFlags AS DWORD
 ) AS LONG
 ' =====================================================================================
END INTERFACE
#ENDIF ' /* __ICommandCost_INTERFACE_DEFINED__ */
' ########################################################################################
' ICommandValidate interface
' IID = 0C733A18-2A1C-11CE-ADE5-00AA0044773D
' Inherited interface = IUnknown
' ########################################################################################
#IF NOT %DEF(%ICommandValidate_INTERFACE_DEFINED)
%EQUATE `ICommandValidate_INTERFACE_DEFINED = 1
$IID_ICommandValidate = GUID$("{0C733A18-2A1C-11CE-ADE5-00AA0044773D}")
INTERFACE ICommandValidate $IID_ICommandValidate
 INHERIT IUnknown
 ' =====================================================================================
 METHOD ValidateCompletely ( ' VTable offset = 12
 ) AS LONG
 ' =====================================================================================
 METHOD ValidateSyntax ( ' VTable offset = 16
 ) AS LONG
 ' =====================================================================================
END INTERFACE
#ENDIF ' /* __ICommandValidate_INTERFACE_DEFINED__ */
' ########################################################################################
' ITableRename interface
' IID = 0C733A77-2A1C-11CE-ADE5-00AA0044773D
' Inherited interface = IUnknown
' ########################################################################################
#IF NOT %DEF(%ITableRename_INTERFACE_DEFINED)
%EQUATE `ITableRename_INTERFACE_DEFINED = 1
$IID_ITableRename = GUID$("{0C733A77-2A1C-11CE-ADE5-00AA0044773D}")
INTERFACE ITableRename $IID_ITableRename
 INHERIT IUnknown
 ' =====================================================================================
 METHOD RenameColumn ( ' VTable offset = 12
 BYREF pTableId AS DBID
 , BYREF pOldColumnId AS DBID
 , BYREF pNewColumnId AS DBID
 ) AS LONG
 ' =====================================================================================
 METHOD RenameTable ( ' VTable offset = 16
 BYREF pOldTableId AS DBID
 , BYREF pOldIndexId AS DBID
 , BYREF pNewTableId AS DBID
 , BYREF pNewIndexId AS DBID
 ) AS LONG
 ' =====================================================================================
END INTERFACE
#ENDIF ' /* __ITableRename_INTERFACE_DEFINED__ */
' ########################################################################################
' IDBSchemaCommand interface
' IID = 0C733A50-2A1C-11CE-ADE5-00AA0044773D
' Inherited interface = IUnknown
' ########################################################################################
#IF NOT %DEF(%IDBSchemaCommand_INTERFACE_DEFINED)
%EQUATE `IDBSchemaCommand_INTERFACE_DEFINED = 1
$IID_IDBSchemaCommand = GUID$("{0C733A50-2A1C-11CE-ADE5-00AA0044773D}")
INTERFACE IDBSchemaCommand $IID_IDBSchemaCommand
 INHERIT IUnknown
 ' =====================================================================================
 METHOD GetCommand ( ' VTable offset = 12
 BYVAL pUnkOuter AS IUnknown
 , BYREF rguidSchema AS GUID
 , BYREF ppCommand AS ICommand
 ) AS LONG
 ' =====================================================================================
 METHOD GetSchemas ( ' VTable offset = 16
 BYREF pcSchemas AS DWORD
 , BYREF prgSchemas AS GUID
 ) AS LONG
 ' =====================================================================================
END INTERFACE
#ENDIF ' /* __IDBSchemaCommand_INTERFACE_DEFINED__ */
' ########################################################################################
' IProvideMoniker interface
' IID = 0C733A4D-2A1C-11CE-ADE5-00AA0044773D
' Inherited interface = IUnknown
' ########################################################################################
#IF NOT %DEF(%IProvideMoniker_INTERFACE_DEFINED)
%EQUATE `IProvideMoniker_INTERFACE_DEFINED = 1
$IID_IProvideMoniker = GUID$("{0C733A4D-2A1C-11CE-ADE5-00AA0044773D}")
INTERFACE IProvideMoniker $IID_IProvideMoniker
 INHERIT IUnknown
 ' =====================================================================================
 METHOD GetMoniker ( ' VTable offset = 12
 BYREF ppIMoniker AS IMoniker
 ) AS LONG
 ' =====================================================================================
END INTERFACE
#ENDIF ' /* __IProvideMoniker_INTERFACE_DEFINED__ */
'// IID_IRowsetExactScroll = {0x0c733a7f,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
'// IID_IRowsetNextRowset = {0x0c733a72,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
'// IID_IRowsetNewRowAfter = {0x0c733a71,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
'// IID_IRowsetWithParameters = {0x0c733a6e,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
'// IID_IRowsetAsynch = {0x0c733a0f,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
'// IID_IRowsetKeys = {0x0c733a12,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
'// IID_IRowsetWatchAll = {0x0c733a73,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
'// IID_IRowsetWatchNotify = {0x0c733a44,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
'// IID_IRowsetWatchRegion = {0x0c733a45,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
'// IID_IRowsetCopyRows = {0x0c733a6b,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
'// IID_IReadData = {0x0c733a6a,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
'// IID_ICommandCost = {0x0c733a4e,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
'// IID_ICommandTree = {0x0c733a87,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
'// IID_ICommandValidate = {0x0c733a18,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
'// IID_IQuery = {0x0c733a51,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
'// IID_ITableRename = {0x0c733a77,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
'// IID_IDBSchemaCommand = {0x0c733a50,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
'// IID_IProvideMoniker = {0x0c733a4d,0x2a1c,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}}
'#include <poppack.h> // restore original structure packing
#ENDIF
