diff --git a/dlls/msdaps/usrmarshal.c b/dlls/msdaps/usrmarshal.c index 690077d92d6..92bd8024837 100644 --- a/dlls/msdaps/usrmarshal.c +++ b/dlls/msdaps/usrmarshal.c @@ -321,14 +321,29 @@ HRESULT __RPC_STUB IDBDataSourceAdmin_CreateDataSource_Stub(IDBDataSourceAdmin* HRESULT CALLBACK IDBDataSourceAdmin_DestroyDataSource_Proxy(IDBDataSourceAdmin* This) { - FIXME("(%p): stub\n", This); - return E_NOTIMPL; + IErrorInfo *error; + HRESULT hr; + + TRACE("(%p)\n", This); + hr = IDBDataSourceAdmin_RemoteDestroyDataSource_Proxy(This, &error); + if(error) + { + SetErrorInfo(0, error); + IErrorInfo_Release(error); + } + return hr; } -HRESULT __RPC_STUB IDBDataSourceAdmin_DestroyDataSource_Stub(IDBDataSourceAdmin* This, IErrorInfo **ppErrorInfoRem) +HRESULT __RPC_STUB IDBDataSourceAdmin_DestroyDataSource_Stub(IDBDataSourceAdmin* This, IErrorInfo **error) { - FIXME("(%p, %p): stub\n", This, ppErrorInfoRem); - return E_NOTIMPL; + HRESULT hr; + + TRACE("(%p, %p)\n", This, error); + *error = NULL; + hr = IDBDataSourceAdmin_DestroyDataSource(This); + if(FAILED(hr)) GetErrorInfo(0, error); + + return hr; } HRESULT CALLBACK IDBDataSourceAdmin_GetCreationProperties_Proxy(IDBDataSourceAdmin* This, ULONG cPropertyIDSets, @@ -344,24 +359,47 @@ HRESULT __RPC_STUB IDBDataSourceAdmin_GetCreationProperties_Stub(IDBDataSourceAd const DBPROPIDSET *rgPropertyIDSets, ULONG *pcPropertyInfoSets, DBPROPINFOSET **prgPropertyInfoSets, DBCOUNTITEM *pcOffsets, DBBYTEOFFSET **prgDescOffsets, ULONG *pcbDescBuffer, - OLECHAR **ppDescBuffer, IErrorInfo **ppErrorInfoRem) + OLECHAR **ppDescBuffer, IErrorInfo **error) { - FIXME("(%p, %d, %p, %p, %p, %p, %p, %p, %p, %p): stub\n", This, cPropertyIDSets, rgPropertyIDSets, pcPropertyInfoSets, - prgPropertyInfoSets, pcOffsets, prgDescOffsets, pcbDescBuffer, ppDescBuffer, ppErrorInfoRem); - return E_NOTIMPL; + HRESULT hr; + + TRACE("(%p, %d, %p, %p, %p, %p, %p, %p, %p, %p)\n", This, cPropertyIDSets, rgPropertyIDSets, pcPropertyInfoSets, + prgPropertyInfoSets, pcOffsets, prgDescOffsets, pcbDescBuffer, ppDescBuffer, error); + *error = NULL; + hr = IDBDataSourceAdmin_GetCreationProperties(This, cPropertyIDSets, rgPropertyIDSets, pcPropertyInfoSets, + prgPropertyInfoSets, ppDescBuffer); + if(FAILED(hr)) GetErrorInfo(0, error); + + return hr; } HRESULT CALLBACK IDBDataSourceAdmin_ModifyDataSource_Proxy(IDBDataSourceAdmin* This, ULONG cPropertySets, DBPROPSET rgPropertySets[]) { - FIXME("(%p, %d, %p): stub\n", This, cPropertySets, rgPropertySets); - return E_NOTIMPL; + IErrorInfo *error; + HRESULT hr; + + TRACE("(%p, %d, %p)\n", This, cPropertySets, rgPropertySets); + hr = IDBDataSourceAdmin_RemoteModifyDataSource_Proxy(This, cPropertySets, rgPropertySets, &error); + if(error) + { + SetErrorInfo(0, error); + IErrorInfo_Release(error); + } + + return hr; } HRESULT __RPC_STUB IDBDataSourceAdmin_ModifyDataSource_Stub(IDBDataSourceAdmin* This, ULONG cPropertySets, - DBPROPSET *rgPropertySets, IErrorInfo **ppErrorInfoRem) + DBPROPSET *rgPropertySets, IErrorInfo **error) { - FIXME("(%p, %d, %p, %p): stub\n", This, cPropertySets, rgPropertySets, ppErrorInfoRem); - return E_NOTIMPL; + HRESULT hr; + + TRACE("(%p, %d, %p, %p)\n", This, cPropertySets, rgPropertySets, error); + *error = NULL; + hr = IDBDataSourceAdmin_ModifyDataSource(This, cPropertySets, rgPropertySets); + if(FAILED(hr)) GetErrorInfo(0, error); + + return hr; } HRESULT CALLBACK ISessionProperties_GetProperties_Proxy(ISessionProperties* This, ULONG cPropertyIDSets,