Alistair Leslie-Hughes : msdasql: Implement IDBProperties SetProperties.
Module: wine Branch: master Commit: 0f0d3c48594ed6025ad0ce18d8edd90b550ec1f6 URL: https://source.winehq.org/git/wine.git/?a=commit;h=0f0d3c48594ed6025ad0ce18d... Author: Alistair Leslie-Hughes <leslie_alistair(a)hotmail.com> Date: Mon Nov 8 21:29:06 2021 +1100 msdasql: Implement IDBProperties SetProperties. Signed-off-by: Alistair Leslie-Hughes <leslie_alistair(a)hotmail.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/msdasql/msdasql_main.c | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/dlls/msdasql/msdasql_main.c b/dlls/msdasql/msdasql_main.c index d14f7957978..e58facc47fc 100644 --- a/dlls/msdasql/msdasql_main.c +++ b/dlls/msdasql/msdasql_main.c @@ -424,10 +424,27 @@ static HRESULT WINAPI dbprops_SetProperties(IDBProperties *iface, ULONG cPropert DBPROPSET rgPropertySets[]) { struct msdasql *provider = impl_from_IDBProperties(iface); + int i, j, k; - FIXME("(%p)->(%d %p)\n", provider, cPropertySets, rgPropertySets); + TRACE("(%p)->(%d %p)\n", provider, cPropertySets, rgPropertySets); - return E_NOTIMPL; + for (i=0; i < cPropertySets; i++) + { + for (j=0; j < rgPropertySets[i].cProperties; j++) + { + for(k=0; k < ARRAY_SIZE(provider->properties); k++) + { + if (provider->properties[k].id == rgPropertySets[i].rgProperties[j].dwPropertyID) + { + TRACE("Found property %d\n", provider->properties[k].id); + VariantCopy(&provider->properties[k].value, &rgPropertySets[i].rgProperties[j].vValue); + break; + } + } + } + } + + return S_OK; } static const struct IDBPropertiesVtbl dbprops_vtbl =
participants (1)
-
Alexandre Julliard