DBPROPSET **prgPropertySets)
{
server *This = impl_from_IWineRowServer(iface);
- FIXME("(%p)->(%d, %p, %p, %p)\n", This, cPropertyIDSets, rgPropertyIDSets, pcPropertySets, prgPropertySets);
- return E_NOTIMPL;
+ IRowsetInfo *rowsetinfo;
+ HRESULT hr;
+
+ TRACE("(%p)->(%d, %p, %p, %p)\n", This, cPropertyIDSets, rgPropertyIDSets, pcPropertySets, prgPropertySets);
+
+ hr = IUnknown_QueryInterface(This->inner_unk, &IID_IRowsetInfo, (void**)&rowsetinfo);
+ if(FAILED(hr)) return hr;
+
+ hr = IRowsetInfo_GetProperties(rowsetinfo, cPropertyIDSets, rgPropertyIDSets, pcPropertySets, prgPropertySets);
+ IRowsetInfo_Release(rowsetinfo);
+
+ TRACE("returning %08x\n", hr);
+ return hr;
}
static HRESULT WINAPI server_GetReferencedRowset(IWineRowServer* iface, DBORDINAL iOrdinal,
DBPROPSET **prgPropertySets)
{
rowset_proxy *This = impl_from_IRowsetInfo(iface);
- FIXME("(%p)\n", This);
- return E_NOTIMPL;
+ HRESULT hr;
+
+ TRACE("(%p)->(%d, %p, %p, %p)\n", This, cPropertyIDSets, rgPropertyIDSets, pcPropertySets, prgPropertySets);
+
+ hr = IWineRowServer_GetProperties(This->server, cPropertyIDSets, rgPropertyIDSets, pcPropertySets, prgPropertySets);
+
+ return hr;
}
static HRESULT WINAPI rowsetinfo_GetReferencedRowset(IRowsetInfo *iface, DBORDINAL iOrdinal, REFIID riid,