2 * Misc marshaling routinues
4 * Copyright 2009 Huw Davies
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2.1 of the License, or (at your option) any later version.
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with this library; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
24 #define NONAMELESSUNION
25 #define NONAMELESSSTRUCT
36 #include "wine/debug.h"
38 WINE_DEFAULT_DEBUG_CHANNEL(oledb);
40 HRESULT CALLBACK IDBCreateCommand_CreateCommand_Proxy(IDBCreateCommand* This, IUnknown *pUnkOuter,
41 REFIID riid, IUnknown **ppCommand)
46 TRACE("(%p, %p, %s, %p)\n", This, pUnkOuter, debugstr_guid(riid), ppCommand);
47 hr = IDBCreateCommand_RemoteCreateCommand_Proxy(This, pUnkOuter, riid, ppCommand, &error);
50 SetErrorInfo(0, error);
51 IErrorInfo_Release(error);
56 HRESULT __RPC_STUB IDBCreateCommand_CreateCommand_Stub(IDBCreateCommand* This, IUnknown *pUnkOuter,
57 REFIID riid, IUnknown **ppCommand, IErrorInfo **ppErrorInfoRem)
61 TRACE("(%p, %p, %s, %p, %p)\n", This, pUnkOuter, debugstr_guid(riid), ppCommand, ppErrorInfoRem);
63 *ppErrorInfoRem = NULL;
64 hr = IDBCreateCommand_CreateCommand(This, pUnkOuter, riid, ppCommand);
65 if(FAILED(hr)) GetErrorInfo(0, ppErrorInfoRem);
70 HRESULT CALLBACK IDBCreateSession_CreateSession_Proxy(IDBCreateSession* This, IUnknown *pUnkOuter,
71 REFIID riid, IUnknown **ppDBSession)
76 TRACE("(%p, %p, %s, %p)\n", This, pUnkOuter, debugstr_guid(riid), ppDBSession);
77 hr = IDBCreateSession_RemoteCreateSession_Proxy(This, pUnkOuter, riid, ppDBSession, &error);
80 SetErrorInfo(0, error);
81 IErrorInfo_Release(error);
86 HRESULT __RPC_STUB IDBCreateSession_CreateSession_Stub(IDBCreateSession* This, IUnknown *pUnkOuter,
87 REFIID riid, IUnknown **ppDBSession, IErrorInfo **ppErrorInfoRem)
90 TRACE("(%p, %p, %s, %p, %p)\n", This, pUnkOuter, debugstr_guid(riid),
91 ppDBSession, ppErrorInfoRem);
93 *ppErrorInfoRem = NULL;
94 hr = IDBCreateSession_CreateSession(This, pUnkOuter, riid, ppDBSession);
95 if(FAILED(hr)) GetErrorInfo(0, ppErrorInfoRem);
100 HRESULT CALLBACK IDBProperties_GetProperties_Proxy(IDBProperties* This, ULONG cPropertyIDSets, const DBPROPIDSET rgPropertyIDSets[],
101 ULONG *pcPropertySets, DBPROPSET **prgPropertySets)
103 FIXME("(%p, %d, %p, %p, %p): stub\n", This, cPropertyIDSets, rgPropertyIDSets, pcPropertySets,
108 HRESULT __RPC_STUB IDBProperties_GetProperties_Stub(IDBProperties* This, ULONG cPropertyIDSets, const DBPROPIDSET *rgPropertyIDSets,
109 ULONG *pcPropertySets, DBPROPSET **prgPropertySets, IErrorInfo **ppErrorInfoRem)
111 FIXME("(%p, %d, %p, %p, %p, %p): stub\n", This, cPropertyIDSets, rgPropertyIDSets, pcPropertySets,
112 prgPropertySets, ppErrorInfoRem);
116 HRESULT CALLBACK IDBProperties_GetPropertyInfo_Proxy(IDBProperties* This, ULONG cPropertyIDSets, const DBPROPIDSET rgPropertyIDSets[],
117 ULONG *pcPropertyInfoSets, DBPROPINFOSET **prgPropertyInfoSets,
118 OLECHAR **ppDescBuffer)
120 FIXME("(%p, %d, %p, %p, %p, %p): stub\n", This, cPropertyIDSets, rgPropertyIDSets, pcPropertyInfoSets,
121 prgPropertyInfoSets, ppDescBuffer);
125 HRESULT __RPC_STUB IDBProperties_GetPropertyInfo_Stub(IDBProperties* This, ULONG cPropertyIDSets, const DBPROPIDSET *rgPropertyIDSets,
126 ULONG *pcPropertyInfoSets, DBPROPINFOSET **prgPropertyInfoSets,
127 ULONG *pcOffsets, DBBYTEOFFSET **prgDescOffsets, ULONG *pcbDescBuffer,
128 OLECHAR **ppDescBuffer, IErrorInfo **ppErrorInfoRem)
130 FIXME("(%p, %d, %p, %p, %p, %p, %p, %p, %p, %p): stub\n", This, cPropertyIDSets, rgPropertyIDSets, pcPropertyInfoSets,
131 prgPropertyInfoSets, pcOffsets, prgDescOffsets, pcbDescBuffer, ppDescBuffer, ppErrorInfoRem);
135 HRESULT CALLBACK IDBProperties_SetProperties_Proxy(IDBProperties* This, ULONG cPropertySets, DBPROPSET rgPropertySets[])
137 ULONG prop_set, prop, total_props = 0;
140 DBPROPSTATUS *status;
142 TRACE("(%p, %d, %p)\n", This, cPropertySets, rgPropertySets);
144 for(prop_set = 0; prop_set < cPropertySets; prop_set++)
145 total_props += rgPropertySets[prop_set].cProperties;
147 if(total_props == 0) return S_OK;
149 status = CoTaskMemAlloc(total_props * sizeof(*status));
150 if(!status) return E_OUTOFMEMORY;
152 hr = IDBProperties_RemoteSetProperties_Proxy(This, cPropertySets, rgPropertySets,
153 total_props, status, &error);
156 SetErrorInfo(0, error);
157 IErrorInfo_Release(error);
161 for(prop_set = 0; prop_set < cPropertySets; prop_set++)
162 for(prop = 0; prop < rgPropertySets[prop_set].cProperties; prop++)
163 rgPropertySets[prop_set].rgProperties[prop].dwStatus = status[total_props++];
165 CoTaskMemFree(status);
169 HRESULT __RPC_STUB IDBProperties_SetProperties_Stub(IDBProperties* This, ULONG cPropertySets, DBPROPSET *rgPropertySets,
170 ULONG cTotalProps, DBPROPSTATUS *rgPropStatus, IErrorInfo **ppErrorInfoRem)
172 ULONG prop_set, prop, total_props = 0;
175 TRACE("(%p, %d, %p, %d, %p, %p)\n", This, cPropertySets, rgPropertySets, cTotalProps,
176 rgPropStatus, ppErrorInfoRem);
178 *ppErrorInfoRem = NULL;
179 hr = IDBProperties_SetProperties(This, cPropertySets, rgPropertySets);
180 if(FAILED(hr)) GetErrorInfo(0, ppErrorInfoRem);
182 for(prop_set = 0; prop_set < cPropertySets; prop_set++)
183 for(prop = 0; prop < rgPropertySets[prop_set].cProperties; prop++)
184 rgPropStatus[total_props++] = rgPropertySets[prop_set].rgProperties[prop].dwStatus;
189 HRESULT CALLBACK IDBInitialize_Initialize_Proxy(IDBInitialize* This)
194 TRACE("(%p)\n", This);
195 hr = IDBInitialize_RemoteInitialize_Proxy(This, &error);
198 SetErrorInfo(0, error);
199 IErrorInfo_Release(error);
204 HRESULT __RPC_STUB IDBInitialize_Initialize_Stub(IDBInitialize* This, IErrorInfo **ppErrorInfoRem)
207 TRACE("(%p, %p)\n", This, ppErrorInfoRem);
209 *ppErrorInfoRem = NULL;
210 hr = IDBInitialize_Initialize(This);
211 if(FAILED(hr)) GetErrorInfo(0, ppErrorInfoRem);
216 HRESULT CALLBACK IDBInitialize_Uninitialize_Proxy(IDBInitialize* This)
218 FIXME("(%p): stub\n", This);
222 HRESULT __RPC_STUB IDBInitialize_Uninitialize_Stub(IDBInitialize* This, IErrorInfo **ppErrorInfoRem)
224 FIXME("(%p, %p): stub\n", This, ppErrorInfoRem);
228 HRESULT CALLBACK IDBDataSourceAdmin_CreateDataSource_Proxy(IDBDataSourceAdmin* This, ULONG cPropertySets,
229 DBPROPSET rgPropertySets[], IUnknown *pUnkOuter,
230 REFIID riid, IUnknown **ppDBSession)
232 ULONG prop_set, prop, total_props = 0;
235 DBPROPSTATUS *status;
237 TRACE("(%p, %d, %p, %p, %s, %p)\n", This, cPropertySets, rgPropertySets, pUnkOuter,
238 debugstr_guid(riid), ppDBSession);
240 for(prop_set = 0; prop_set < cPropertySets; prop_set++)
241 total_props += rgPropertySets[prop_set].cProperties;
243 if(total_props == 0) return S_OK;
245 status = CoTaskMemAlloc(total_props * sizeof(*status));
246 if(!status) return E_OUTOFMEMORY;
248 hr = IDBDataSourceAdmin_RemoteCreateDataSource_Proxy(This, cPropertySets, rgPropertySets, pUnkOuter,
249 riid, ppDBSession, total_props, status, &error);
252 SetErrorInfo(0, error);
253 IErrorInfo_Release(error);
257 for(prop_set = 0; prop_set < cPropertySets; prop_set++)
258 for(prop = 0; prop < rgPropertySets[prop_set].cProperties; prop++)
259 rgPropertySets[prop_set].rgProperties[prop].dwStatus = status[total_props++];
261 CoTaskMemFree(status);
265 HRESULT __RPC_STUB IDBDataSourceAdmin_CreateDataSource_Stub(IDBDataSourceAdmin* This, ULONG cPropertySets,
266 DBPROPSET *rgPropertySets, IUnknown *pUnkOuter,
267 REFIID riid, IUnknown **ppDBSession, ULONG cTotalProps,
268 DBPROPSTATUS *rgPropStatus, IErrorInfo **ppErrorInfoRem)
270 ULONG prop_set, prop, total_props = 0;
273 TRACE("(%p, %d, %p, %p, %s, %p, %d, %p, %p)\n", This, cPropertySets, rgPropertySets, pUnkOuter,
274 debugstr_guid(riid), ppDBSession, cTotalProps, rgPropStatus, ppErrorInfoRem);
276 *ppErrorInfoRem = NULL;
277 hr = IDBDataSourceAdmin_CreateDataSource(This, cPropertySets, rgPropertySets, pUnkOuter, riid, ppDBSession);
278 if(FAILED(hr)) GetErrorInfo(0, ppErrorInfoRem);
280 for(prop_set = 0; prop_set < cPropertySets; prop_set++)
281 for(prop = 0; prop < rgPropertySets[prop_set].cProperties; prop++)
282 rgPropStatus[total_props++] = rgPropertySets[prop_set].rgProperties[prop].dwStatus;
287 HRESULT CALLBACK IDBDataSourceAdmin_DestroyDataSource_Proxy(IDBDataSourceAdmin* This)
289 FIXME("(%p): stub\n", This);
293 HRESULT __RPC_STUB IDBDataSourceAdmin_DestroyDataSource_Stub(IDBDataSourceAdmin* This, IErrorInfo **ppErrorInfoRem)
295 FIXME("(%p, %p): stub\n", This, ppErrorInfoRem);
299 HRESULT CALLBACK IDBDataSourceAdmin_GetCreationProperties_Proxy(IDBDataSourceAdmin* This, ULONG cPropertyIDSets,
300 const DBPROPIDSET rgPropertyIDSets[], ULONG *pcPropertyInfoSets,
301 DBPROPINFOSET **prgPropertyInfoSets, OLECHAR **ppDescBuffer)
303 FIXME("(%p, %d, %p, %p, %p, %p): stub\n", This, cPropertyIDSets, rgPropertyIDSets, pcPropertyInfoSets,
304 prgPropertyInfoSets, ppDescBuffer);
308 HRESULT __RPC_STUB IDBDataSourceAdmin_GetCreationProperties_Stub(IDBDataSourceAdmin* This, ULONG cPropertyIDSets,
309 const DBPROPIDSET *rgPropertyIDSets, ULONG *pcPropertyInfoSets,
310 DBPROPINFOSET **prgPropertyInfoSets, DBCOUNTITEM *pcOffsets,
311 DBBYTEOFFSET **prgDescOffsets, ULONG *pcbDescBuffer,
312 OLECHAR **ppDescBuffer, IErrorInfo **ppErrorInfoRem)
314 FIXME("(%p, %d, %p, %p, %p, %p, %p, %p, %p, %p): stub\n", This, cPropertyIDSets, rgPropertyIDSets, pcPropertyInfoSets,
315 prgPropertyInfoSets, pcOffsets, prgDescOffsets, pcbDescBuffer, ppDescBuffer, ppErrorInfoRem);
319 HRESULT CALLBACK IDBDataSourceAdmin_ModifyDataSource_Proxy(IDBDataSourceAdmin* This, ULONG cPropertySets, DBPROPSET rgPropertySets[])
321 FIXME("(%p, %d, %p): stub\n", This, cPropertySets, rgPropertySets);
325 HRESULT __RPC_STUB IDBDataSourceAdmin_ModifyDataSource_Stub(IDBDataSourceAdmin* This, ULONG cPropertySets,
326 DBPROPSET *rgPropertySets, IErrorInfo **ppErrorInfoRem)
328 FIXME("(%p, %d, %p, %p): stub\n", This, cPropertySets, rgPropertySets, ppErrorInfoRem);
332 HRESULT CALLBACK ISessionProperties_GetProperties_Proxy(ISessionProperties* This, ULONG cPropertyIDSets,
333 const DBPROPIDSET rgPropertyIDSets[], ULONG *pcPropertySets,
334 DBPROPSET **prgPropertySets)
336 FIXME("(%p, %d, %p, %p, %p): stub\n", This, cPropertyIDSets, rgPropertyIDSets,
337 pcPropertySets, prgPropertySets);
341 HRESULT __RPC_STUB ISessionProperties_GetProperties_Stub(ISessionProperties* This, ULONG cPropertyIDSets,
342 const DBPROPIDSET *rgPropertyIDSets, ULONG *pcPropertySets,
343 DBPROPSET **prgPropertySets, IErrorInfo **ppErrorInfoRem)
345 FIXME("(%p, %d, %p, %p, %p, %p): stub\n", This, cPropertyIDSets, rgPropertyIDSets,
346 pcPropertySets, prgPropertySets, ppErrorInfoRem);
350 HRESULT CALLBACK ISessionProperties_SetProperties_Proxy(ISessionProperties* This, ULONG cPropertySets, DBPROPSET rgPropertySets[])
352 ULONG prop_set, prop, total_props = 0;
355 DBPROPSTATUS *status;
357 TRACE("(%p, %d, %p)\n", This, cPropertySets, rgPropertySets);
359 for(prop_set = 0; prop_set < cPropertySets; prop_set++)
360 total_props += rgPropertySets[prop_set].cProperties;
362 if(total_props == 0) return S_OK;
364 status = CoTaskMemAlloc(total_props * sizeof(*status));
365 if(!status) return E_OUTOFMEMORY;
367 hr = ISessionProperties_RemoteSetProperties_Proxy(This, cPropertySets, rgPropertySets,
368 total_props, status, &error);
371 SetErrorInfo(0, error);
372 IErrorInfo_Release(error);
376 for(prop_set = 0; prop_set < cPropertySets; prop_set++)
377 for(prop = 0; prop < rgPropertySets[prop_set].cProperties; prop++)
378 rgPropertySets[prop_set].rgProperties[prop].dwStatus = status[total_props++];
380 CoTaskMemFree(status);
384 HRESULT __RPC_STUB ISessionProperties_SetProperties_Stub(ISessionProperties* This, ULONG cPropertySets, DBPROPSET *rgPropertySets,
385 ULONG cTotalProps, DBPROPSTATUS *rgPropStatus, IErrorInfo **ppErrorInfoRem)
387 ULONG prop_set, prop, total_props = 0;
390 TRACE("(%p, %d, %p, %d, %p, %p)\n", This, cPropertySets, rgPropertySets, cTotalProps,
391 rgPropStatus, ppErrorInfoRem);
393 *ppErrorInfoRem = NULL;
394 hr = ISessionProperties_SetProperties(This, cPropertySets, rgPropertySets);
395 if(FAILED(hr)) GetErrorInfo(0, ppErrorInfoRem);
397 for(prop_set = 0; prop_set < cPropertySets; prop_set++)
398 for(prop = 0; prop < rgPropertySets[prop_set].cProperties; prop++)
399 rgPropStatus[total_props++] = rgPropertySets[prop_set].rgProperties[prop].dwStatus;
404 HRESULT CALLBACK IOpenRowset_OpenRowset_Proxy(IOpenRowset* This, IUnknown *pUnkOuter, DBID *pTableID, DBID *pIndexID,
405 REFIID riid, ULONG cPropertySets, DBPROPSET rgPropertySets[], IUnknown **ppRowset)
407 FIXME("(%p, %p, %p, %p, %s, %d, %p, %p): stub\n", This, pUnkOuter, pTableID, pIndexID, debugstr_guid(riid),
408 cPropertySets, rgPropertySets, ppRowset);
412 HRESULT __RPC_STUB IOpenRowset_OpenRowset_Stub(IOpenRowset* This, IUnknown *pUnkOuter, DBID *pTableID, DBID *pIndexID,
413 REFIID riid, ULONG cPropertySets, DBPROPSET *rgPropertySets,
414 IUnknown **ppRowset, ULONG cTotalProps, DBPROPSTATUS *rgPropStatus,
415 IErrorInfo **ppErrorInfoRem)
417 FIXME("(%p, %p, %p, %p, %s, %d, %p, %p, %d, %p, %p): stub\n", This, pUnkOuter, pTableID, pIndexID, debugstr_guid(riid),
418 cPropertySets, rgPropertySets, ppRowset, cTotalProps, rgPropStatus, ppErrorInfoRem);
422 HRESULT CALLBACK IBindResource_Bind_Proxy(IBindResource* This, IUnknown *pUnkOuter, LPCOLESTR pwszURL, DBBINDURLFLAG dwBindURLFlags,
423 REFGUID rguid, REFIID riid, IAuthenticate *pAuthenticate, DBIMPLICITSESSION *pImplSession,
424 DBBINDURLSTATUS *pdwBindStatus, IUnknown **ppUnk)
428 TRACE("(%p, %p, %s, %08x, %s, %s, %p, %p, %p, %p)\n", This, pUnkOuter, debugstr_w(pwszURL), dwBindURLFlags,
429 debugstr_guid(rguid), debugstr_guid(riid), pAuthenticate, pImplSession, pdwBindStatus, ppUnk);
431 hr = IBindResource_RemoteBind_Proxy(This, pUnkOuter, pwszURL, dwBindURLFlags, rguid, riid, pAuthenticate,
432 pImplSession ? pImplSession->pUnkOuter : NULL, pImplSession ? pImplSession->piid : NULL,
433 pImplSession ? &pImplSession->pSession : NULL, pdwBindStatus, ppUnk);
437 HRESULT __RPC_STUB IBindResource_Bind_Stub(IBindResource* This, IUnknown *pUnkOuter, LPCOLESTR pwszURL, DBBINDURLFLAG dwBindURLFlags,
438 REFGUID rguid, REFIID riid, IAuthenticate *pAuthenticate, IUnknown *pSessionUnkOuter,
439 IID *piid, IUnknown **ppSession, DBBINDURLSTATUS *pdwBindStatus, IUnknown **ppUnk)
442 DBIMPLICITSESSION impl_session;
444 TRACE("(%p, %p, %s, %08x, %s, %s, %p, %p, %p, %p, %p, %p)\n", This, pUnkOuter, debugstr_w(pwszURL), dwBindURLFlags,
445 debugstr_guid(rguid), debugstr_guid(riid), pAuthenticate, pSessionUnkOuter, piid, ppSession, pdwBindStatus, ppUnk);
447 impl_session.pUnkOuter = pSessionUnkOuter;
448 impl_session.piid = piid;
449 impl_session.pSession = NULL;
451 hr = IBindResource_Bind(This, pUnkOuter, pwszURL, dwBindURLFlags, rguid, riid, pAuthenticate,
452 ppSession ? &impl_session : NULL, pdwBindStatus, ppUnk);
454 if(ppSession) *ppSession = impl_session.pSession;
458 HRESULT CALLBACK ICreateRow_CreateRow_Proxy(ICreateRow* This, IUnknown *pUnkOuter, LPCOLESTR pwszURL, DBBINDURLFLAG dwBindURLFlags,
459 REFGUID rguid, REFIID riid, IAuthenticate *pAuthenticate, DBIMPLICITSESSION *pImplSession,
460 DBBINDURLSTATUS *pdwBindStatus, LPOLESTR *ppwszNewURL, IUnknown **ppUnk)
464 TRACE("(%p, %p, %s, %08x, %s, %s, %p, %p, %p, %p, %p)\n", This, pUnkOuter, debugstr_w(pwszURL), dwBindURLFlags,
465 debugstr_guid(rguid), debugstr_guid(riid), pAuthenticate, pImplSession, pdwBindStatus, ppwszNewURL, ppUnk);
467 hr = ICreateRow_RemoteCreateRow_Proxy(This, pUnkOuter, pwszURL, dwBindURLFlags, rguid, riid, pAuthenticate,
468 pImplSession ? pImplSession->pUnkOuter : NULL, pImplSession ? pImplSession->piid : NULL,
469 pImplSession ? &pImplSession->pSession : NULL, pdwBindStatus, ppwszNewURL, ppUnk);
473 HRESULT __RPC_STUB ICreateRow_CreateRow_Stub(ICreateRow* This, IUnknown *pUnkOuter, LPCOLESTR pwszURL, DBBINDURLFLAG dwBindURLFlags,
474 REFGUID rguid, REFIID riid, IAuthenticate *pAuthenticate, IUnknown *pSessionUnkOuter,
475 IID *piid, IUnknown **ppSession, DBBINDURLSTATUS *pdwBindStatus,
476 LPOLESTR *ppwszNewURL, IUnknown **ppUnk)
479 DBIMPLICITSESSION impl_session;
481 TRACE("(%p, %p, %s, %08x, %s, %s, %p, %p, %p, %p, %p, %p, %p)\n", This, pUnkOuter, debugstr_w(pwszURL), dwBindURLFlags,
482 debugstr_guid(rguid), debugstr_guid(riid), pAuthenticate, pSessionUnkOuter, piid, ppSession, pdwBindStatus, ppwszNewURL,
485 impl_session.pUnkOuter = pSessionUnkOuter;
486 impl_session.piid = piid;
487 impl_session.pSession = NULL;
489 hr = ICreateRow_CreateRow(This, pUnkOuter, pwszURL, dwBindURLFlags, rguid, riid, pAuthenticate,
490 ppSession ? &impl_session : NULL, pdwBindStatus, ppwszNewURL, ppUnk);
492 if(ppSession) *ppSession = impl_session.pSession;
496 HRESULT CALLBACK IAccessor_AddRefAccessor_Proxy(IAccessor* This, HACCESSOR hAccessor, DBREFCOUNT *pcRefCount)
498 FIXME("(%p)->(%08lx, %p): stub\n", This, hAccessor, pcRefCount);
502 HRESULT __RPC_STUB IAccessor_AddRefAccessor_Stub(IAccessor* This, HACCESSOR hAccessor, DBREFCOUNT *pcRefCount,
503 IErrorInfo **ppErrorInfoRem)
505 FIXME("(%p)->(%08lx, %p, %p): stub\n", This, hAccessor, pcRefCount, ppErrorInfoRem);
509 HRESULT CALLBACK IAccessor_CreateAccessor_Proxy(IAccessor* This, DBACCESSORFLAGS dwAccessorFlags, DBCOUNTITEM cBindings,
510 const DBBINDING rgBindings[], DBLENGTH cbRowSize, HACCESSOR *phAccessor,
511 DBBINDSTATUS rgStatus[])
517 TRACE("(%p)->(%08x, %d, %p, %d, %p, %p)\n", This, dwAccessorFlags, cBindings, rgBindings,
518 cbRowSize, phAccessor, rgStatus);
520 for(i = 0; i < cBindings; i++)
522 TRACE("%d: ord %d val off %d len off %d stat off %d part %04x mem_owner %d max_len %d type %04x\n",
523 i, rgBindings[i].iOrdinal, rgBindings[i].obValue, rgBindings[i].obLength, rgBindings[i].obStatus,
524 rgBindings[i].dwPart, rgBindings[i].dwMemOwner, rgBindings[i].cbMaxLen, rgBindings[i].wType);
527 hr = IAccessor_RemoteCreateAccessor_Proxy(This, dwAccessorFlags, cBindings, (DBBINDING *)rgBindings,
528 cbRowSize, phAccessor, rgStatus, &error);
531 SetErrorInfo(0, error);
532 IErrorInfo_Release(error);
535 TRACE("returning %08x accessor %lx\n", hr, *phAccessor);
539 HRESULT __RPC_STUB IAccessor_CreateAccessor_Stub(IAccessor* This, DBACCESSORFLAGS dwAccessorFlags, DBCOUNTITEM cBindings,
540 DBBINDING *rgBindings, DBLENGTH cbRowSize, HACCESSOR *phAccessor,
541 DBBINDSTATUS *rgStatus, IErrorInfo **ppErrorInfoRem)
545 TRACE("(%p)->(%08x, %d, %p, %d, %p, %p, %p)\n", This, dwAccessorFlags, cBindings, rgBindings,
546 cbRowSize, phAccessor, rgStatus, ppErrorInfoRem);
548 *ppErrorInfoRem = NULL;
549 hr = IAccessor_CreateAccessor(This, dwAccessorFlags, cBindings, rgBindings,
550 cbRowSize, phAccessor, rgStatus);
551 if(FAILED(hr)) GetErrorInfo(0, ppErrorInfoRem);
556 HRESULT CALLBACK IAccessor_GetBindings_Proxy(IAccessor* This, HACCESSOR hAccessor, DBACCESSORFLAGS *pdwAccessorFlags,
557 DBCOUNTITEM *pcBindings, DBBINDING **prgBindings)
559 FIXME("(%p): stub\n", This);
563 HRESULT __RPC_STUB IAccessor_GetBindings_Stub(IAccessor* This, HACCESSOR hAccessor, DBACCESSORFLAGS *pdwAccessorFlags,
564 DBCOUNTITEM *pcBindings, DBBINDING **prgBindings, IErrorInfo **ppErrorInfoRem)
566 FIXME("(%p): stub\n", This);
570 HRESULT CALLBACK IAccessor_ReleaseAccessor_Proxy(IAccessor* This, HACCESSOR hAccessor, DBREFCOUNT *pcRefCount)
576 TRACE("(%p)->(%lx, %p)\n", This, hAccessor, pcRefCount);
578 hr = IAccessor_RemoteReleaseAccessor_Proxy(This, hAccessor, &ref, &error);
580 if(pcRefCount) *pcRefCount = ref;
583 SetErrorInfo(0, error);
584 IErrorInfo_Release(error);
589 HRESULT __RPC_STUB IAccessor_ReleaseAccessor_Stub(IAccessor* This, HACCESSOR hAccessor, DBREFCOUNT *pcRefCount,
590 IErrorInfo **ppErrorInfoRem)
594 TRACE("(%p)->(%lx, %p, %p)\n", This, hAccessor, pcRefCount, ppErrorInfoRem);
596 *ppErrorInfoRem = NULL;
598 hr = IAccessor_ReleaseAccessor(This, hAccessor, pcRefCount);
600 if(FAILED(hr)) GetErrorInfo(0, ppErrorInfoRem);
604 HRESULT CALLBACK IRowsetInfo_GetProperties_Proxy(IRowsetInfo* This, const ULONG cPropertyIDSets, const DBPROPIDSET rgPropertyIDSets[],
605 ULONG *pcPropertySets, DBPROPSET **prgPropertySets)
611 TRACE("(%p)->(%d, %p, %p, %p)\n", This, cPropertyIDSets, rgPropertyIDSets, pcPropertySets, prgPropertySets);
613 for(i = 0; i < cPropertyIDSets; i++)
616 TRACE("%d: %s %d props\n", i, debugstr_guid(&rgPropertyIDSets[i].guidPropertySet), rgPropertyIDSets[i].cPropertyIDs);
617 for(j = 0; j < rgPropertyIDSets[i].cPropertyIDs; j++)
618 TRACE("\t%d: prop id %d\n", j, rgPropertyIDSets[i].rgPropertyIDs[j]);
621 hr = IRowsetInfo_RemoteGetProperties_Proxy(This, cPropertyIDSets, rgPropertyIDSets, pcPropertySets, prgPropertySets, &error);
625 SetErrorInfo(0, error);
626 IErrorInfo_Release(error);
631 HRESULT __RPC_STUB IRowsetInfo_GetProperties_Stub(IRowsetInfo* This, ULONG cPropertyIDSets, const DBPROPIDSET *rgPropertyIDSets,
632 ULONG *pcPropertySets, DBPROPSET **prgPropertySets, IErrorInfo **ppErrorInfoRem)
636 TRACE("(%p)->(%d, %p, %p, %p, %p)\n", This, cPropertyIDSets, rgPropertyIDSets, pcPropertySets, prgPropertySets, ppErrorInfoRem);
638 *ppErrorInfoRem = NULL;
640 hr = IRowsetInfo_GetProperties(This, cPropertyIDSets, rgPropertyIDSets, pcPropertySets, prgPropertySets);
641 if(FAILED(hr)) GetErrorInfo(0, ppErrorInfoRem);
642 TRACE("returning %08x\n", hr);
646 HRESULT CALLBACK IRowsetInfo_GetReferencedRowset_Proxy(IRowsetInfo* This, DBORDINAL iOrdinal, REFIID riid, IUnknown **ppReferencedRowset)
648 FIXME("(%p)->(%d, %s, %p): stub\n", This, iOrdinal, debugstr_guid(riid), ppReferencedRowset);
652 HRESULT __RPC_STUB IRowsetInfo_GetReferencedRowset_Stub(IRowsetInfo* This, DBORDINAL iOrdinal, REFIID riid, IUnknown **ppReferencedRowset,
653 IErrorInfo **ppErrorInfoRem)
655 FIXME("(%p)->(%d, %s, %p, %p): stub\n", This, iOrdinal, debugstr_guid(riid), ppReferencedRowset, ppErrorInfoRem);
659 HRESULT CALLBACK IRowsetInfo_GetSpecification_Proxy(IRowsetInfo* This, REFIID riid, IUnknown **ppSpecification)
661 FIXME("(%p)->(%s, %p): stub\n", This, debugstr_guid(riid), ppSpecification);
665 HRESULT __RPC_STUB IRowsetInfo_GetSpecification_Stub(IRowsetInfo* This, REFIID riid, IUnknown **ppSpecification, IErrorInfo **ppErrorInfoRem)
667 FIXME("(%p)->(%s, %p, %p): stub\n", This, debugstr_guid(riid), ppSpecification, ppErrorInfoRem);
671 HRESULT CALLBACK ICommand_Cancel_Proxy(ICommand* This)
673 FIXME("(%p): stub\n", This);
677 HRESULT __RPC_STUB ICommand_Cancel_Stub(ICommand* This, IErrorInfo **ppErrorInfoRem)
679 FIXME("(%p)->(%p): stub\n", This, ppErrorInfoRem);
683 HRESULT CALLBACK ICommand_Execute_Proxy(ICommand* This, IUnknown *pUnkOuter, REFIID riid,
684 DBPARAMS *pParams, DBROWCOUNT *pcRowsAffected, IUnknown **ppRowset)
686 FIXME("(%p)->(%p, %s, %p, %p, %p): stub\n", This, pUnkOuter, debugstr_guid(riid), pParams,
687 pcRowsAffected, ppRowset);
688 if(pParams) TRACE("params {%p, %d, %08lx}\n", pParams->pData, pParams->cParamSets, pParams->hAccessor);
693 HRESULT __RPC_STUB ICommand_Execute_Stub(ICommand* This, IUnknown *pUnkOuter, REFIID riid, HACCESSOR hAccessor,
694 DB_UPARAMS cParamSets, GUID *pGuid, ULONG ulGuidOffset, RMTPACK *pInputParams,
695 RMTPACK *pOutputParams, DBCOUNTITEM cBindings, DBBINDING *rgBindings,
696 DBSTATUS *rgStatus, DBROWCOUNT *pcRowsAffected, IUnknown **ppRowset)
698 FIXME("(%p)->(%p, %s, %08lx, %d, %p, %d, %p, %p, %d, %p, %p, %p, %p): stub\n", This, pUnkOuter, debugstr_guid(riid),
699 hAccessor, cParamSets, pGuid, ulGuidOffset, pInputParams, pOutputParams, cBindings, rgBindings, rgStatus,
700 pcRowsAffected, ppRowset);
704 HRESULT CALLBACK ICommand_GetDBSession_Proxy(ICommand* This, REFIID riid, IUnknown **ppSession)
706 FIXME("(%p)->(%s, %p): stub\n", This, debugstr_guid(riid), ppSession);
710 HRESULT __RPC_STUB ICommand_GetDBSession_Stub(ICommand* This, REFIID riid, IUnknown **ppSession, IErrorInfo **ppErrorInfoRem)
712 FIXME("(%p)->(%s, %p, %p): stub\n", This, debugstr_guid(riid), ppSession, ppErrorInfoRem);
716 HRESULT CALLBACK ICommandText_GetCommandText_Proxy(ICommandText* This, GUID *pguidDialect, LPOLESTR *ppwszCommand)
718 FIXME("(%p)->(%p, %p): stub\n", This, pguidDialect, ppwszCommand);
722 HRESULT __RPC_STUB ICommandText_GetCommandText_Stub(ICommandText* This, GUID *pguidDialect,
723 LPOLESTR *ppwszCommand, IErrorInfo **ppErrorInfoRem)
725 FIXME("(%p)->(%p, %p, %p): stub\n", This, pguidDialect, ppwszCommand, ppErrorInfoRem);
729 HRESULT CALLBACK ICommandText_SetCommandText_Proxy(ICommandText* This, REFGUID rguidDialect, LPCOLESTR pwszCommand)
734 TRACE("(%p)->(%s, %s)\n", This, debugstr_guid(rguidDialect), debugstr_w(pwszCommand));
736 hr = ICommandText_RemoteSetCommandText_Proxy(This, rguidDialect, pwszCommand, &error);
739 SetErrorInfo(0, error);
740 IErrorInfo_Release(error);
745 HRESULT __RPC_STUB ICommandText_SetCommandText_Stub(ICommandText* This, REFGUID rguidDialect, LPCOLESTR pwszCommand,
746 IErrorInfo **ppErrorInfoRem)
750 TRACE("(%p)->(%s, %s, %p)\n", This, debugstr_guid(rguidDialect), debugstr_w(pwszCommand),
753 *ppErrorInfoRem = NULL;
754 hr = ICommandText_SetCommandText(This, rguidDialect, pwszCommand);
755 if(FAILED(hr)) GetErrorInfo(0, ppErrorInfoRem);