' ########################################################################################
' Microsoft Windows
' File: jetoledb.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_jetoledb_PBI)
#DEFINE PBX_jetoledb_PBI
%EQUATE `JETOLEDB_INC = 1
'/* header files for imported files */
#INCLUDE ONCE "Legacy/System/WTypes.inc"
#INCLUDE ONCE "Legacy/COM/OAIdl.inc"
#INCLUDE ONCE "Legacy/COM/oledb.inc"
'typedef DWORD DBOBJTYPE;
' enum DBTYPE_ENUM
%EQUATE `DBJETOBJECT_TABLE = &H1
%EQUATE `DBJETOBJECT_INDEX = &H2
%EQUATE `DBJETOBJECT_VIEWS = &H4
'typedef DWORD USERATTRIBUTESFLAGS;
'enum USERATTRIBUTESFLAGS_ENUM
%EQUATE `DBJETOLEDB_USERATTRIBUTES_ALLCOLLECTIONS = 1
%EQUATE `DBJETOLEDB_USERATTRIBUTES_INHERITED = 2
' ########################################################################################
' IDBUserAttributes interface
' IID = CB9497B0-20B8-11D2-A4DC-00C04F991C78
' Inherited interface = IUnknown
' ########################################################################################
#IF NOT %DEF(%IDBUserAttributes_INTERFACE_DEFINED)
 %IDBUserAttributes_INTERFACE_DEFINED = 1
$IID_IDBUserAttributes = GUID$("{CB9497B0-20B8-11D2-A4DC-00C04F991C78}")
INTERFACE IDBUserAttributes $IID_IDBUserAttributes
 INHERIT IUnknown
 ' =====================================================================================
 METHOD CreateObject ( ' VTable offset = 12
 BYREF pParentID AS DBID
 , BYREF pObjectID AS DBID
 , BYVAL dwType AS DWORD
 ) AS LONG
 ' =====================================================================================
 METHOD DeleteObject ( ' VTable offset = 16
 BYREF pParentID AS DBID
 , BYREF pObjectID AS DBID
 , BYVAL dwType AS DWORD
 ) AS LONG
 ' =====================================================================================
 METHOD RenameObject ( ' VTable offset = 20
 BYREF pParentID AS DBID
 , BYREF pObjectID AS DBID
 , BYREF dwType AS WSTRINGZ
 ) AS LONG
 ' =====================================================================================
 METHOD DeleteAttribute ( ' VTable offset = 24
 BYREF pParentID AS DBID
 , BYREF pObjectID AS DBID
 , BYREF pSubObjectID AS DBID
 , BYREF pAttributeID AS DBID
 ) AS LONG
 ' =====================================================================================
 METHOD SetAttributeValue ( ' VTable offset = 28
 BYREF pParentID AS DBID
 , BYREF pObjectID AS DBID
 , BYREF pSubObjectID AS DBID
 , BYREF pAttributeID AS DBID
 , BYVAL vValue AS VARIANT
 , BYVAL grbit AS DWORD
 ) AS LONG
 ' =====================================================================================
 METHOD GetAttributeValue ( ' VTable offset = 32
 BYREF pParentID AS DBID
 , BYREF pObjectID AS DBID
 , BYREF pSubObjectID AS DBID
 , BYREF pAttributeID AS DBID
 , BYREF pvValue AS VARIANT
 , BYVAL grbit AS DWORD
 ) AS LONG
 ' =====================================================================================
 METHOD GetAttributeRowset ( ' VTable offset = 36
 BYVAL pUnkOuter AS IUnknown
 , BYVAL pwszParentID AS DWORD
 , BYVAL pwszObjectID AS DWORD
 , BYVAL pwszSubObjectID AS DWORD
 , BYVAL pwszAttributeID AS DWORD
 , BYVAL dwFlags AS DWORD
 , BYVAL cPropertySets AS DWORD
 , BYREF rgPropertySets AS DBPROPSET
 , BYREF riid AS GUID
 , BYREF ppRowset AS IUnknown
 ) AS LONG
 ' =====================================================================================
END INTERFACE
#ENDIF ' /* __IDBUserAttributes_INTERFACE_DEFINED__ */
' ########################################################################################
' IJetCompact interface
' IID = 2A4B6284-EEB4-11D1-A4D9-00C04F991C78
' Inherited interface = IUnknown
' ########################################################################################
#IF NOT %DEF(%IJetCompact_INTERFACE_DEFINED)
 %IJetCompact_INTERFACE_DEFINED = 1
$IID_IJetCompact = GUID$("{2A4B6284-EEB4-11D1-A4D9-00C04F991C78}")
INTERFACE IJetCompact $IID_IJetCompact
 INHERIT IUnknown
 ' =====================================================================================
 METHOD Compact ( ' VTable offset = 12
 BYVAL cPropertySets AS DWORD
 , BYREF rgPropertySets AS DBPROPSET
 ) AS LONG
 ' =====================================================================================
END INTERFACE
#ENDIF ' /* __IJetCompact_INTERFACE_DEFINED__ */
' ########################################################################################
' IIdle interface
' IID = F497CFC8-8ED8-11D1-9F09-00C04FC2C2E0
' Inherited interface = IUnknown
' ########################################################################################
#IF NOT %DEF(%IIdle_INTERFACE_DEFINED)
 %IIdle_INTERFACE_DEFINED = 1
$IID_IIdle = GUID$("{F497CFC8-8ED8-11D1-9F09-00C04FC2C2E0}")
INTERFACE IIdle $IID_IIdle
 INHERIT IUnknown
 ' =====================================================================================
 METHOD Idle ( ' VTable offset = 12
 BYVAL dwFlags AS DWORD
 ) AS LONG
 ' =====================================================================================
END INTERFACE
#ENDIF ' /* __IIdle_INTERFACE_DEFINED__ */
#ENDIF
