1*c2c66affSColin Finck/* 2*c2c66affSColin Finck * Copyright (C) 2006 Mike McCormack 3*c2c66affSColin Finck * 4*c2c66affSColin Finck * This library is free software; you can redistribute it and/or 5*c2c66affSColin Finck * modify it under the terms of the GNU Lesser General Public 6*c2c66affSColin Finck * License as published by the Free Software Foundation; either 7*c2c66affSColin Finck * version 2.1 of the License, or (at your option) any later version. 8*c2c66affSColin Finck * 9*c2c66affSColin Finck * This library is distributed in the hope that it will be useful, 10*c2c66affSColin Finck * but WITHOUT ANY WARRANTY; without even the implied warranty of 11*c2c66affSColin Finck * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12*c2c66affSColin Finck * Lesser General Public License for more details. 13*c2c66affSColin Finck * 14*c2c66affSColin Finck * You should have received a copy of the GNU Lesser General Public 15*c2c66affSColin Finck * License along with this library; if not, write to the Free Software 16*c2c66affSColin Finck * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA 17*c2c66affSColin Finck */ 18*c2c66affSColin Finck 19*c2c66affSColin Finck[ 20*c2c66affSColin Finck object, 21*c2c66affSColin Finck uuid(0c733a8a-2a1c-11ce-ade5-00aa0044773d), 22*c2c66affSColin Finck pointer_default(unique) 23*c2c66affSColin Finck] 24*c2c66affSColin Finckinterface IDBProperties : IUnknown { 25*c2c66affSColin Finck [local] HRESULT GetProperties( 26*c2c66affSColin Finck [in] ULONG cPropertyIDSets, 27*c2c66affSColin Finck [in, size_is(cPropertyIDSets)] const DBPROPIDSET rgPropertyIDSets[], 28*c2c66affSColin Finck [in, out] ULONG *pcPropertySets, 29*c2c66affSColin Finck [out, size_is(,*pcPropertySets)] DBPROPSET **prgPropertySets); 30*c2c66affSColin Finck 31*c2c66affSColin Finck [call_as(GetProperties)] HRESULT RemoteGetProperties( 32*c2c66affSColin Finck [in] ULONG cPropertyIDSets, 33*c2c66affSColin Finck [in, unique, size_is(cPropertyIDSets)] const DBPROPIDSET *rgPropertyIDSets, 34*c2c66affSColin Finck [in, out] ULONG *pcPropertySets, 35*c2c66affSColin Finck [out, size_is(,*pcPropertySets)] DBPROPSET **prgPropertySets, 36*c2c66affSColin Finck [out] IErrorInfo **ppErrorInfoRem); 37*c2c66affSColin Finck 38*c2c66affSColin Finck [local] HRESULT GetPropertyInfo( 39*c2c66affSColin Finck [in] ULONG cPropertyIDSets, 40*c2c66affSColin Finck [in, size_is(cPropertyIDSets)] const DBPROPIDSET rgPropertyIDSets[], 41*c2c66affSColin Finck [in, out] ULONG *pcPropertyInfoSets, 42*c2c66affSColin Finck [out, size_is(,*pcPropertyInfoSets)] DBPROPINFOSET **prgPropertyInfoSets, 43*c2c66affSColin Finck [out, annotation("__deref_out_z_opt")] OLECHAR **ppDescBuffer); 44*c2c66affSColin Finck 45*c2c66affSColin Finck [call_as(GetPropertyInfo)] HRESULT RemoteGetPropertyInfo( 46*c2c66affSColin Finck [in] ULONG cPropertyIDSets, 47*c2c66affSColin Finck [in, unique, size_is(cPropertyIDSets)] const DBPROPIDSET *rgPropertyIDSets, 48*c2c66affSColin Finck [in, out] ULONG *pcPropertyInfoSets, 49*c2c66affSColin Finck [out, size_is(,*pcPropertyInfoSets)] DBPROPINFOSET **prgPropertyInfoSets, 50*c2c66affSColin Finck [in, out] ULONG *pcOffsets, 51*c2c66affSColin Finck [out, size_is(,*pcOffsets)] DBBYTEOFFSET **prgDescOffsets, 52*c2c66affSColin Finck [in, out] ULONG *pcbDescBuffer, 53*c2c66affSColin Finck [in, out, unique, size_is(,*pcbDescBuffer)] OLECHAR **ppDescBuffer, 54*c2c66affSColin Finck [out] IErrorInfo **ppErrorInfoRem); 55*c2c66affSColin Finck 56*c2c66affSColin Finck [local] HRESULT SetProperties( 57*c2c66affSColin Finck [in] ULONG cPropertySets, 58*c2c66affSColin Finck [in, out, size_is(cPropertySets)] DBPROPSET rgPropertySets[]); 59*c2c66affSColin Finck 60*c2c66affSColin Finck [call_as(SetProperties)] HRESULT RemoteSetProperties( 61*c2c66affSColin Finck [in] ULONG cPropertySets, 62*c2c66affSColin Finck [in, unique, size_is(cPropertySets)] DBPROPSET *rgPropertySets, 63*c2c66affSColin Finck [in] ULONG cTotalProps, 64*c2c66affSColin Finck [out, size_is(cTotalProps)] DBPROPSTATUS *rgPropStatus, 65*c2c66affSColin Finck [out] IErrorInfo **ppErrorInfoRem); 66*c2c66affSColin Finck} 67