oledb32: Add interface ISourcesRowset.

This commit is contained in:
Alistair Leslie-Hughes 2013-06-03 12:29:34 +10:00 committed by Alexandre Julliard
parent a8728893b7
commit 83c14c723c
5 changed files with 92 additions and 0 deletions

View file

@ -1060,3 +1060,39 @@ HRESULT __RPC_STUB IRowsetNotify_OnRowsetChange_Stub(IRowsetNotify* This, IRowse
TRACE("(%p)->(%p %d %d %d)\n", This, rowset, reason, phase, cantdeny);
return IRowsetNotify_OnRowsetChange(This, rowset, reason, phase, cantdeny);
}
HRESULT CALLBACK ISourcesRowset_GetSourcesRowset_Proxy(ISourcesRowset* This, IUnknown *pUnkOuter, REFIID riid, ULONG cPropertySets,
DBPROPSET rgProperties[], IUnknown **ppSourcesRowset)
{
HRESULT hr;
IErrorInfo *error;
TRACE("(%p)->(%p %s %d %p %p)\n", This, pUnkOuter, debugstr_guid(riid), cPropertySets, rgProperties, ppSourcesRowset);
hr = ISourcesRowset_RemoteGetSourcesRowset_Proxy(This, pUnkOuter, riid, cPropertySets, rgProperties, ppSourcesRowset, 0, NULL, &error);
if(error)
{
SetErrorInfo(0, error);
IErrorInfo_Release(error);
}
return hr;
}
HRESULT __RPC_STUB ISourcesRowset_GetSourcesRowset_Stub(ISourcesRowset* This, IUnknown *pUnkOuter, REFIID riid, ULONG cPropertySets,
DBPROPSET *rgProperties, IUnknown **ppSourcesRowset, ULONG cTotalProps, DBPROPSTATUS *rgPropStatus,
IErrorInfo **ppErrorInfoRem)
{
HRESULT hr;
TRACE("(%p)->(%p %s %d %p %p %d %p %p)\n", This, pUnkOuter, debugstr_guid(riid), cPropertySets, rgProperties, ppSourcesRowset,
cTotalProps, rgPropStatus, ppErrorInfoRem);
*ppErrorInfoRem = NULL;
hr = ISourcesRowset_GetSourcesRowset(This, pUnkOuter, riid, cPropertySets, rgProperties, ppSourcesRowset);
if(FAILED(hr))
GetErrorInfo(0, ppErrorInfoRem);
return hr;
}

View file

@ -514,6 +514,7 @@ SRCDIR_INCLUDES = \
sql.h \
sqlext.h \
sqltypes.h \
srcrst.idl \
srrestoreptapi.h \
sspi.h \
sti.h \

View file

@ -53,6 +53,7 @@ typedef DWORD_PTR DBHASHVALUE;
#include "cmdtxt.idl"
#include "dbccmd.idl"
#include "dbcses.idl"
#include "srcrst.idl"
#include "dbprop.idl"
#include "dbinit.idl"
#include "dbdsad.idl"

53
include/srcrst.idl Normal file
View file

@ -0,0 +1,53 @@
/*
* Copyright (C) 2013 Alistair Leslie-Hughes
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
[
object,
uuid(0c733a1e-2a1c-11ce-ade5-00aa0044773d),
pointer_default(unique)
]
interface ISourcesRowset : IUnknown
{
typedef DWORD DBSOURCETYPE;
enum DBSOURCETYPEENUM
{
DBSOURCETYPE_DATASOURCE = 1,
DBSOURCETYPE_ENUMERATOR = 2,
};
enum DBSOURCETYPEENUM20
{
DBSOURCETYPE_DATASOURCE_TDP = 1,
DBSOURCETYPE_DATASOURCE_MDP = 3,
};
enum DBSOURCETYPEENUM25
{
DBSOURCETYPE_BINDER = 4,
};
[local]
HRESULT GetSourcesRowset([in] IUnknown * pUnkOuter, [in] REFIID riid, [in] ULONG cPropertySets,
[in, out] DBPROPSET rgProperties[], [out] IUnknown **ppSourcesRowset);
[call_as(GetSourcesRowset)]
HRESULT RemoteGetSourcesRowset([in] IUnknown * pUnkOuter, [in] REFIID riid, [in] ULONG cPropertySets,
[in] DBPROPSET * rgProperties, [out] IUnknown **ppSourcesRowset, [in] ULONG cTotalProps,
[out] DBPROPSTATUS *rgPropStatus, [out] IErrorInfo **ppErrorInfoRem);
}

View file

@ -158,6 +158,7 @@ my %private_idl_headers = (
"rstinf.idl" => 1,
"rstloc.idl" => 1,
"rstnot.idl" => 1,
"srcrst.idl" => 1,
"sesprp.idl" => 1,
"vmrender.idl" => 1,
"xmldom.idl" => 1,