Module: wine Branch: master Commit: 18323f0ba5d80f59b5ca294fde73f2a43ba33166 URL: http://source.winehq.org/git/wine.git/?a=commit;h=18323f0ba5d80f59b5ca294fde...
Author: Huw Davies huw@codeweavers.com Date: Mon Oct 26 13:40:40 2009 +0000
msdaps: Implement CreateAccessor Proxy and Stub.
---
dlls/msdaps/usrmarshal.c | 28 ++++++++++++++++++++++++---- 1 files changed, 24 insertions(+), 4 deletions(-)
diff --git a/dlls/msdaps/usrmarshal.c b/dlls/msdaps/usrmarshal.c index b900a7f..01dcfc6 100644 --- a/dlls/msdaps/usrmarshal.c +++ b/dlls/msdaps/usrmarshal.c @@ -510,8 +510,11 @@ HRESULT CALLBACK IAccessor_CreateAccessor_Proxy(IAccessor* This, DBACCESSORFLAGS const DBBINDING rgBindings[], DBLENGTH cbRowSize, HACCESSOR *phAccessor, DBBINDSTATUS rgStatus[]) { + HRESULT hr; + IErrorInfo *error; DBCOUNTITEM i; - FIXME("(%p)->(%08x, %d, %p, %d, %p, %p): stub\n", This, dwAccessorFlags, cBindings, rgBindings, + + TRACE("(%p)->(%08x, %d, %p, %d, %p, %p)\n", This, dwAccessorFlags, cBindings, rgBindings, cbRowSize, phAccessor, rgStatus);
for(i = 0; i < cBindings; i++) @@ -521,16 +524,33 @@ HRESULT CALLBACK IAccessor_CreateAccessor_Proxy(IAccessor* This, DBACCESSORFLAGS rgBindings[i].dwPart, rgBindings[i].dwMemOwner, rgBindings[i].cbMaxLen, rgBindings[i].wType); }
- return E_NOTIMPL; + hr = IAccessor_RemoteCreateAccessor_Proxy(This, dwAccessorFlags, cBindings, (DBBINDING *)rgBindings, + cbRowSize, phAccessor, rgStatus, &error); + if(error) + { + SetErrorInfo(0, error); + IErrorInfo_Release(error); + } + + TRACE("returning %08x accessor %lx\n", hr, *phAccessor); + return hr; }
HRESULT __RPC_STUB IAccessor_CreateAccessor_Stub(IAccessor* This, DBACCESSORFLAGS dwAccessorFlags, DBCOUNTITEM cBindings, DBBINDING *rgBindings, DBLENGTH cbRowSize, HACCESSOR *phAccessor, DBBINDSTATUS *rgStatus, IErrorInfo **ppErrorInfoRem) { - FIXME("(%p)->(%08x, %d, %p, %d, %p, %p, %p): stub\n", This, dwAccessorFlags, cBindings, rgBindings, + HRESULT hr; + + TRACE("(%p)->(%08x, %d, %p, %d, %p, %p, %p)\n", This, dwAccessorFlags, cBindings, rgBindings, cbRowSize, phAccessor, rgStatus, ppErrorInfoRem); - return E_NOTIMPL; + + *ppErrorInfoRem = NULL; + hr = IAccessor_CreateAccessor(This, dwAccessorFlags, cBindings, rgBindings, + cbRowSize, phAccessor, rgStatus); + if(FAILED(hr)) GetErrorInfo(0, ppErrorInfoRem); + + return hr; }
HRESULT CALLBACK IAccessor_GetBindings_Proxy(IAccessor* This, HACCESSOR hAccessor, DBACCESSORFLAGS *pdwAccessorFlags,