[PATCH 3/3] msado15: Implement ADORecordsetConstruction get/put Rowset
Alistair Leslie-Hughes
leslie_alistair at hotmail.com
Sat Oct 31 02:43:59 CDT 2020
On 30/10/20 8:09 pm, Hans Leidekker wrote:
> On Fri, 2020-10-30 at 18:50 +1100, Alistair Leslie-Hughes wrote:
>> static HRESULT WINAPI rsconstruction_put_Rowset(ADORecordsetConstruction *iface, IUnknown *row_set)
>> {
>> struct recordset *recordset = impl_from_ADORecordsetConstruction( iface );
>> - FIXME("%p, %p\n", recordset, row_set);
>> - return E_NOTIMPL;
>> +
>> + TRACE("%p, %p\n", recordset, row_set);
>> +
>> + if (recordset->row_set) IUnknown_Release(recordset->row_set);
>> + recordset->row_set = row_set;
>> + if (recordset->row_set) IUnknown_AddRef(recordset->row_set);
>> +
>> + return S_OK;
>> }
>
> This is supposed to turn the row_set into a Recordset object but
> you only store a reference. This could use some tests around
> the interaction between these objects.
>
Based off this one, it appears the pointer is stored. How that point is
used internally is another issue. I suspect that when set, the rowset
point is used to get/set data.
https://docs.microsoft.com/en-us/archive/msdn-magazine/2000/july/house-of-com-using-ado-to-create-xml-based-recordsets
I'll attempt to add tests to illustrate how the objects relate.
Regards
Alistair.
More information about the wine-devel
mailing list