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