Huw Davies : msdaps: Implement IRowsetInfo_GetProperties proxy and stub.

Alexandre Julliard julliard at winehq.org
Tue Oct 27 09:46:34 CDT 2009


Module: wine
Branch: master
Commit: 021eaadea37b8748290dd827f3a8b565f7b62d74
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=021eaadea37b8748290dd827f3a8b565f7b62d74

Author: Huw Davies <huw at codeweavers.com>
Date:   Tue Oct 27 10:19:26 2009 +0000

msdaps: Implement IRowsetInfo_GetProperties proxy and stub.

---

 dlls/msdaps/usrmarshal.c |   24 ++++++++++++++++++++----
 1 files changed, 20 insertions(+), 4 deletions(-)

diff --git a/dlls/msdaps/usrmarshal.c b/dlls/msdaps/usrmarshal.c
index 6ed855a..5752404 100644
--- a/dlls/msdaps/usrmarshal.c
+++ b/dlls/msdaps/usrmarshal.c
@@ -604,9 +604,11 @@ HRESULT __RPC_STUB IAccessor_ReleaseAccessor_Stub(IAccessor* This, HACCESSOR hAc
 HRESULT CALLBACK IRowsetInfo_GetProperties_Proxy(IRowsetInfo* This, const ULONG cPropertyIDSets, const DBPROPIDSET rgPropertyIDSets[],
                                                  ULONG *pcPropertySets, DBPROPSET **prgPropertySets)
 {
+    HRESULT hr;
+    IErrorInfo *error;
     ULONG i;
 
-    FIXME("(%p)->(%d, %p, %p, %p): stub\n", This, cPropertyIDSets, rgPropertyIDSets, pcPropertySets, prgPropertySets);
+    TRACE("(%p)->(%d, %p, %p, %p)\n", This, cPropertyIDSets, rgPropertyIDSets, pcPropertySets, prgPropertySets);
 
     for(i = 0; i < cPropertyIDSets; i++)
     {
@@ -616,15 +618,29 @@ HRESULT CALLBACK IRowsetInfo_GetProperties_Proxy(IRowsetInfo* This, const ULONG
             TRACE("\t%d: prop id %d\n", j, rgPropertyIDSets[i].rgPropertyIDs[j]);
     }
 
-    return E_NOTIMPL;
+    hr = IRowsetInfo_RemoteGetProperties_Proxy(This, cPropertyIDSets, rgPropertyIDSets, pcPropertySets, prgPropertySets, &error);
+
+    if(error)
+    {
+        SetErrorInfo(0, error);
+        IErrorInfo_Release(error);
+    }
+    return hr;
 }
 
 HRESULT __RPC_STUB IRowsetInfo_GetProperties_Stub(IRowsetInfo* This, ULONG cPropertyIDSets, const DBPROPIDSET *rgPropertyIDSets,
                                                   ULONG *pcPropertySets, DBPROPSET **prgPropertySets, IErrorInfo **ppErrorInfoRem)
 {
-    FIXME("(%p)->(%d, %p, %p, %p, %p): stub\n", This, cPropertyIDSets, rgPropertyIDSets, pcPropertySets, prgPropertySets, ppErrorInfoRem);
+    HRESULT hr;
 
-    return E_NOTIMPL;
+    TRACE("(%p)->(%d, %p, %p, %p, %p)\n", This, cPropertyIDSets, rgPropertyIDSets, pcPropertySets, prgPropertySets, ppErrorInfoRem);
+
+    *ppErrorInfoRem = NULL;
+
+    hr = IRowsetInfo_GetProperties(This, cPropertyIDSets, rgPropertyIDSets, pcPropertySets, prgPropertySets);
+    if(FAILED(hr)) GetErrorInfo(0, ppErrorInfoRem);
+    TRACE("returning %08x\n", hr);
+    return hr;
 }
 
 HRESULT CALLBACK IRowsetInfo_GetReferencedRowset_Proxy(IRowsetInfo* This, DBORDINAL iOrdinal, REFIID riid, IUnknown **ppReferencedRowset)




More information about the wine-cvs mailing list