dbs.idl revision 114410893548b9522c46fdcbd8f63385eb8bfb68
bfdab5d58a717a6d1fa9c1170a2a3b8355213367gryzor/*
bfdab5d58a717a6d1fa9c1170a2a3b8355213367gryzor * Copyright (C) 2006 Mike McCormack
bfdab5d58a717a6d1fa9c1170a2a3b8355213367gryzor *
a0150d3262def12738daa9eb9d47bd34fe918b9algentis * This library is free software; you can redistribute it and/or
bfdab5d58a717a6d1fa9c1170a2a3b8355213367gryzor * modify it under the terms of the GNU Lesser General Public
bfdab5d58a717a6d1fa9c1170a2a3b8355213367gryzor * License as published by the Free Software Foundation; either
bfdab5d58a717a6d1fa9c1170a2a3b8355213367gryzor * version 2.1 of the License, or (at your option) any later version.
bfdab5d58a717a6d1fa9c1170a2a3b8355213367gryzor *
bfdab5d58a717a6d1fa9c1170a2a3b8355213367gryzor * This library is distributed in the hope that it will be useful,
bfdab5d58a717a6d1fa9c1170a2a3b8355213367gryzor * but WITHOUT ANY WARRANTY; without even the implied warranty of
bfdab5d58a717a6d1fa9c1170a2a3b8355213367gryzor * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
bfdab5d58a717a6d1fa9c1170a2a3b8355213367gryzor * Lesser General Public License for more details.
bfdab5d58a717a6d1fa9c1170a2a3b8355213367gryzor *
bfdab5d58a717a6d1fa9c1170a2a3b8355213367gryzor * You should have received a copy of the GNU Lesser General Public
bfdab5d58a717a6d1fa9c1170a2a3b8355213367gryzor * License along with this library; if not, write to the Free Software
bfdab5d58a717a6d1fa9c1170a2a3b8355213367gryzor * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
bfdab5d58a717a6d1fa9c1170a2a3b8355213367gryzor */
bfdab5d58a717a6d1fa9c1170a2a3b8355213367gryzor
bfdab5d58a717a6d1fa9c1170a2a3b8355213367gryzor/*
bfdab5d58a717a6d1fa9c1170a2a3b8355213367gryzor * Sun LGPL Disclaimer: For the avoidance of doubt, except that if any license choice
bfdab5d58a717a6d1fa9c1170a2a3b8355213367gryzor * other than GPL or LGPL is available it will apply instead, Sun elects to use only
bfdab5d58a717a6d1fa9c1170a2a3b8355213367gryzor * the Lesser General Public License version 2.1 (LGPLv2) at this time for any software where
bfdab5d58a717a6d1fa9c1170a2a3b8355213367gryzor * a choice of LGPL license versions is made available with the language indicating
bfdab5d58a717a6d1fa9c1170a2a3b8355213367gryzor * that LGPLv2 or any later version may be used, or where a choice of which version
bfdab5d58a717a6d1fa9c1170a2a3b8355213367gryzor * of the LGPL is applied is otherwise unspecified.
bfdab5d58a717a6d1fa9c1170a2a3b8355213367gryzor */
bfdab5d58a717a6d1fa9c1170a2a3b8355213367gryzor
bfdab5d58a717a6d1fa9c1170a2a3b8355213367gryzortypedef DWORD DBKIND;
bfdab5d58a717a6d1fa9c1170a2a3b8355213367gryzor
bfdab5d58a717a6d1fa9c1170a2a3b8355213367gryzorenum DBKINDENUM {
bfdab5d58a717a6d1fa9c1170a2a3b8355213367gryzor DBKIND_GUID_NAME,
bfdab5d58a717a6d1fa9c1170a2a3b8355213367gryzor DBKIND_GUID_PROPID,
bfdab5d58a717a6d1fa9c1170a2a3b8355213367gryzor DBKIND_NAME,
bfdab5d58a717a6d1fa9c1170a2a3b8355213367gryzor DBKIND_PGUID_NAME,
bfdab5d58a717a6d1fa9c1170a2a3b8355213367gryzor DBKIND_PGUID_PROPID,
bfdab5d58a717a6d1fa9c1170a2a3b8355213367gryzor DBKIND_PROPID,
bfdab5d58a717a6d1fa9c1170a2a3b8355213367gryzor DBKIND_GUID,
bfdab5d58a717a6d1fa9c1170a2a3b8355213367gryzor};
bfdab5d58a717a6d1fa9c1170a2a3b8355213367gryzor
bfdab5d58a717a6d1fa9c1170a2a3b8355213367gryzortypedef struct tagDBID {
bfdab5d58a717a6d1fa9c1170a2a3b8355213367gryzor [switch_type(DBKIND), switch_is(eKind)] union
bfdab5d58a717a6d1fa9c1170a2a3b8355213367gryzor {
bfdab5d58a717a6d1fa9c1170a2a3b8355213367gryzor [case(DBKIND_GUID_NAME, DBKIND_GUID_PROPID, DBKIND_GUID, DBKIND_NAME, DBKIND_PROPID)]
bfdab5d58a717a6d1fa9c1170a2a3b8355213367gryzor GUID guid;
bfdab5d58a717a6d1fa9c1170a2a3b8355213367gryzor [case(DBKIND_PGUID_NAME, DBKIND_PGUID_PROPID)]
bfdab5d58a717a6d1fa9c1170a2a3b8355213367gryzor GUID *pguid;
bfdab5d58a717a6d1fa9c1170a2a3b8355213367gryzor [default]
bfdab5d58a717a6d1fa9c1170a2a3b8355213367gryzor ;
bfdab5d58a717a6d1fa9c1170a2a3b8355213367gryzor } uGuid;
bfdab5d58a717a6d1fa9c1170a2a3b8355213367gryzor DBKIND eKind;
bfdab5d58a717a6d1fa9c1170a2a3b8355213367gryzor [switch_type(DBKIND), switch_is(eKind)] union
bfdab5d58a717a6d1fa9c1170a2a3b8355213367gryzor {
bfdab5d58a717a6d1fa9c1170a2a3b8355213367gryzor [case(DBKIND_GUID_NAME, DBKIND_NAME, DBKIND_PGUID_NAME)]
bfdab5d58a717a6d1fa9c1170a2a3b8355213367gryzor LPOLESTR pwszName;
bfdab5d58a717a6d1fa9c1170a2a3b8355213367gryzor [case(DBKIND_GUID_PROPID, DBKIND_GUID, DBKIND_PGUID_PROPID, DBKIND_PROPID)]
bfdab5d58a717a6d1fa9c1170a2a3b8355213367gryzor ULONG ulPropid;
bfdab5d58a717a6d1fa9c1170a2a3b8355213367gryzor [default]
bfdab5d58a717a6d1fa9c1170a2a3b8355213367gryzor ;
bfdab5d58a717a6d1fa9c1170a2a3b8355213367gryzor } uName;
bfdab5d58a717a6d1fa9c1170a2a3b8355213367gryzor} DBID;
bfdab5d58a717a6d1fa9c1170a2a3b8355213367gryzor
bfdab5d58a717a6d1fa9c1170a2a3b8355213367gryzortypedef DWORD DBPROPID;
bfdab5d58a717a6d1fa9c1170a2a3b8355213367gryzor
bfdab5d58a717a6d1fa9c1170a2a3b8355213367gryzortypedef struct tagDBPROPIDSET {
bfdab5d58a717a6d1fa9c1170a2a3b8355213367gryzor [size_is(cPropertyIDs)] DBPROPID *rgPropertyIDs;
bfdab5d58a717a6d1fa9c1170a2a3b8355213367gryzor ULONG cPropertyIDs;
bfdab5d58a717a6d1fa9c1170a2a3b8355213367gryzor GUID guidPropertySet;
bfdab5d58a717a6d1fa9c1170a2a3b8355213367gryzor} DBPROPIDSET;
bfdab5d58a717a6d1fa9c1170a2a3b8355213367gryzor
bfdab5d58a717a6d1fa9c1170a2a3b8355213367gryzortypedef DWORD DBPROPOPTIONS;
bfdab5d58a717a6d1fa9c1170a2a3b8355213367gryzor
bfdab5d58a717a6d1fa9c1170a2a3b8355213367gryzorenum DBPROPOPTIONENUM {
bfdab5d58a717a6d1fa9c1170a2a3b8355213367gryzor DBPROPOPTIONS_REQUIRED = 0,
bfdab5d58a717a6d1fa9c1170a2a3b8355213367gryzor DBPROPOPTIONS_SETIFCHEAP = 1,
bfdab5d58a717a6d1fa9c1170a2a3b8355213367gryzor DBPROPOPTIONS_OPTIONAL = 1,
bfdab5d58a717a6d1fa9c1170a2a3b8355213367gryzor};
bfdab5d58a717a6d1fa9c1170a2a3b8355213367gryzor
bfdab5d58a717a6d1fa9c1170a2a3b8355213367gryzortypedef DWORD DBPROPSTATUS;
bfdab5d58a717a6d1fa9c1170a2a3b8355213367gryzor
bfdab5d58a717a6d1fa9c1170a2a3b8355213367gryzortypedef struct tagDBPROP {
bfdab5d58a717a6d1fa9c1170a2a3b8355213367gryzor DBPROPID dwPropertyID;
bfdab5d58a717a6d1fa9c1170a2a3b8355213367gryzor DBPROPOPTIONS dwOptions;
bfdab5d58a717a6d1fa9c1170a2a3b8355213367gryzor DBPROPSTATUS dwStatus;
bfdab5d58a717a6d1fa9c1170a2a3b8355213367gryzor DBID colid;
bfdab5d58a717a6d1fa9c1170a2a3b8355213367gryzor VARIANT vValue;
bfdab5d58a717a6d1fa9c1170a2a3b8355213367gryzor} DBPROP;
0679f53d7ea85c2cbb4970366f592782d9e26f5flgentis
0679f53d7ea85c2cbb4970366f592782d9e26f5flgentistypedef struct tagDBPROPSET {
0679f53d7ea85c2cbb4970366f592782d9e26f5flgentis [size_is(cProperties)] DBPROP *rgProperties;
0679f53d7ea85c2cbb4970366f592782d9e26f5flgentis ULONG cProperties;
bfdab5d58a717a6d1fa9c1170a2a3b8355213367gryzor GUID guidPropertySet;
bfdab5d58a717a6d1fa9c1170a2a3b8355213367gryzor} DBPROPSET;
bfdab5d58a717a6d1fa9c1170a2a3b8355213367gryzor
bfdab5d58a717a6d1fa9c1170a2a3b8355213367gryzortypedef DWORD DBPROPFLAGS;
bfdab5d58a717a6d1fa9c1170a2a3b8355213367gryzor
bfdab5d58a717a6d1fa9c1170a2a3b8355213367gryzortypedef struct tagDBPROPINFO {
bfdab5d58a717a6d1fa9c1170a2a3b8355213367gryzor LPOLESTR pwszDescription;
bfdab5d58a717a6d1fa9c1170a2a3b8355213367gryzor DBPROPID dwPropertyID;
bfdab5d58a717a6d1fa9c1170a2a3b8355213367gryzor DBPROPFLAGS dwFlags;
bfdab5d58a717a6d1fa9c1170a2a3b8355213367gryzor VARTYPE vtType;
bfdab5d58a717a6d1fa9c1170a2a3b8355213367gryzor VARIANT vValues;
bfdab5d58a717a6d1fa9c1170a2a3b8355213367gryzor} DBPROPINFO;
bfdab5d58a717a6d1fa9c1170a2a3b8355213367gryzor
bfdab5d58a717a6d1fa9c1170a2a3b8355213367gryzortypedef DBPROPINFO *PDBPROPINFO;
bfdab5d58a717a6d1fa9c1170a2a3b8355213367gryzor
bfdab5d58a717a6d1fa9c1170a2a3b8355213367gryzortypedef struct tagDBPROPINFOSET {
bfdab5d58a717a6d1fa9c1170a2a3b8355213367gryzor [size_is(cPropertyInfos)] PDBPROPINFO rgPropertyInfos;
bfdab5d58a717a6d1fa9c1170a2a3b8355213367gryzor ULONG cPropertyInfos;
bfdab5d58a717a6d1fa9c1170a2a3b8355213367gryzor GUID guidPropertySet;
bfdab5d58a717a6d1fa9c1170a2a3b8355213367gryzor} DBPROPINFOSET;
bfdab5d58a717a6d1fa9c1170a2a3b8355213367gryzor
bfdab5d58a717a6d1fa9c1170a2a3b8355213367gryzortypedef DWORD DBBINDURLFLAG;
bfdab5d58a717a6d1fa9c1170a2a3b8355213367gryzortypedef DWORD DBBINDURLSTATUS;
bfdab5d58a717a6d1fa9c1170a2a3b8355213367gryzor
bfdab5d58a717a6d1fa9c1170a2a3b8355213367gryzortypedef struct tagDBIMPLICITSESSION
bfdab5d58a717a6d1fa9c1170a2a3b8355213367gryzor{
bfdab5d58a717a6d1fa9c1170a2a3b8355213367gryzor IUnknown *pUnkOuter;
bfdab5d58a717a6d1fa9c1170a2a3b8355213367gryzor IID *piid;
bfdab5d58a717a6d1fa9c1170a2a3b8355213367gryzor IUnknown *pSession;
bfdab5d58a717a6d1fa9c1170a2a3b8355213367gryzor} DBIMPLICITSESSION;
bfdab5d58a717a6d1fa9c1170a2a3b8355213367gryzor