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
)
106 TRACE("(%p, %d, %p, %p, %p)\n", This
, cPropertyIDSets
, rgPropertyIDSets
, pcPropertySets
,
108 hr
= IDBProperties_RemoteGetProperties_Proxy(This
, cPropertyIDSets
, rgPropertyIDSets
,
109 pcPropertySets
, prgPropertySets
, &error
);
112 SetErrorInfo(0, error
);
113 IErrorInfo_Release(error
);
118 HRESULT __RPC_STUB
IDBProperties_GetProperties_Stub(IDBProperties
* This
, ULONG cPropertyIDSets
, const DBPROPIDSET
*rgPropertyIDSets
,
119 ULONG
*pcPropertySets
, DBPROPSET
**prgPropertySets
, IErrorInfo
**ppErrorInfoRem
)
123 TRACE("(%p, %d, %p, %p, %p, %p)\n", This
, cPropertyIDSets
, rgPropertyIDSets
, pcPropertySets
,
124 prgPropertySets
, ppErrorInfoRem
);
126 *ppErrorInfoRem
= NULL
;
127 hr
= IDBProperties_GetProperties(This
, cPropertyIDSets
, rgPropertyIDSets
,
128 pcPropertySets
, prgPropertySets
);
129 if(FAILED(hr
)) GetErrorInfo(0, ppErrorInfoRem
);
134 HRESULT CALLBACK
IDBProperties_GetPropertyInfo_Proxy(IDBProperties
* This
, ULONG cPropertyIDSets
, const DBPROPIDSET rgPropertyIDSets
[],
135 ULONG
*pcPropertyInfoSets
, DBPROPINFOSET
**prgPropertyInfoSets
,
136 OLECHAR
**ppDescBuffer
)
138 FIXME("(%p, %d, %p, %p, %p, %p): stub\n", This
, cPropertyIDSets
, rgPropertyIDSets
, pcPropertyInfoSets
,
139 prgPropertyInfoSets
, ppDescBuffer
);
143 HRESULT __RPC_STUB
IDBProperties_GetPropertyInfo_Stub(IDBProperties
* This
, ULONG cPropertyIDSets
, const DBPROPIDSET
*rgPropertyIDSets
,
144 ULONG
*pcPropertyInfoSets
, DBPROPINFOSET
**prgPropertyInfoSets
,
145 ULONG
*pcOffsets
, DBBYTEOFFSET
**prgDescOffsets
, ULONG
*pcbDescBuffer
,
146 OLECHAR
**ppDescBuffer
, IErrorInfo
**ppErrorInfoRem
)
148 FIXME("(%p, %d, %p, %p, %p, %p, %p, %p, %p, %p): stub\n", This
, cPropertyIDSets
, rgPropertyIDSets
, pcPropertyInfoSets
,
149 prgPropertyInfoSets
, pcOffsets
, prgDescOffsets
, pcbDescBuffer
, ppDescBuffer
, ppErrorInfoRem
);
153 HRESULT CALLBACK
IDBProperties_SetProperties_Proxy(IDBProperties
* This
, ULONG cPropertySets
, DBPROPSET rgPropertySets
[])
155 ULONG prop_set
, prop
, total_props
= 0;
158 DBPROPSTATUS
*status
;
160 TRACE("(%p, %d, %p)\n", This
, cPropertySets
, rgPropertySets
);
162 for(prop_set
= 0; prop_set
< cPropertySets
; prop_set
++)
163 total_props
+= rgPropertySets
[prop_set
].cProperties
;
165 if(total_props
== 0) return S_OK
;
167 status
= CoTaskMemAlloc(total_props
* sizeof(*status
));
168 if(!status
) return E_OUTOFMEMORY
;
170 hr
= IDBProperties_RemoteSetProperties_Proxy(This
, cPropertySets
, rgPropertySets
,
171 total_props
, status
, &error
);
174 SetErrorInfo(0, error
);
175 IErrorInfo_Release(error
);
179 for(prop_set
= 0; prop_set
< cPropertySets
; prop_set
++)
180 for(prop
= 0; prop
< rgPropertySets
[prop_set
].cProperties
; prop
++)
181 rgPropertySets
[prop_set
].rgProperties
[prop
].dwStatus
= status
[total_props
++];
183 CoTaskMemFree(status
);
187 HRESULT __RPC_STUB
IDBProperties_SetProperties_Stub(IDBProperties
* This
, ULONG cPropertySets
, DBPROPSET
*rgPropertySets
,
188 ULONG cTotalProps
, DBPROPSTATUS
*rgPropStatus
, IErrorInfo
**ppErrorInfoRem
)
190 ULONG prop_set
, prop
, total_props
= 0;
193 TRACE("(%p, %d, %p, %d, %p, %p)\n", This
, cPropertySets
, rgPropertySets
, cTotalProps
,
194 rgPropStatus
, ppErrorInfoRem
);
196 *ppErrorInfoRem
= NULL
;
197 hr
= IDBProperties_SetProperties(This
, cPropertySets
, rgPropertySets
);
198 if(FAILED(hr
)) GetErrorInfo(0, ppErrorInfoRem
);
200 for(prop_set
= 0; prop_set
< cPropertySets
; prop_set
++)
201 for(prop
= 0; prop
< rgPropertySets
[prop_set
].cProperties
; prop
++)
202 rgPropStatus
[total_props
++] = rgPropertySets
[prop_set
].rgProperties
[prop
].dwStatus
;
207 HRESULT CALLBACK
IDBInitialize_Initialize_Proxy(IDBInitialize
* This
)
212 TRACE("(%p)\n", This
);
213 hr
= IDBInitialize_RemoteInitialize_Proxy(This
, &error
);
216 SetErrorInfo(0, error
);
217 IErrorInfo_Release(error
);
222 HRESULT __RPC_STUB
IDBInitialize_Initialize_Stub(IDBInitialize
* This
, IErrorInfo
**ppErrorInfoRem
)
225 TRACE("(%p, %p)\n", This
, ppErrorInfoRem
);
227 *ppErrorInfoRem
= NULL
;
228 hr
= IDBInitialize_Initialize(This
);
229 if(FAILED(hr
)) GetErrorInfo(0, ppErrorInfoRem
);
234 HRESULT CALLBACK
IDBInitialize_Uninitialize_Proxy(IDBInitialize
* This
)
236 FIXME("(%p): stub\n", This
);
240 HRESULT __RPC_STUB
IDBInitialize_Uninitialize_Stub(IDBInitialize
* This
, IErrorInfo
**ppErrorInfoRem
)
242 FIXME("(%p, %p): stub\n", This
, ppErrorInfoRem
);
246 HRESULT CALLBACK
IDBDataSourceAdmin_CreateDataSource_Proxy(IDBDataSourceAdmin
* This
, ULONG cPropertySets
,
247 DBPROPSET rgPropertySets
[], IUnknown
*pUnkOuter
,
248 REFIID riid
, IUnknown
**ppDBSession
)
250 ULONG prop_set
, prop
, total_props
= 0;
253 DBPROPSTATUS
*status
;
255 TRACE("(%p, %d, %p, %p, %s, %p)\n", This
, cPropertySets
, rgPropertySets
, pUnkOuter
,
256 debugstr_guid(riid
), ppDBSession
);
258 for(prop_set
= 0; prop_set
< cPropertySets
; prop_set
++)
259 total_props
+= rgPropertySets
[prop_set
].cProperties
;
261 if(total_props
== 0) return S_OK
;
263 status
= CoTaskMemAlloc(total_props
* sizeof(*status
));
264 if(!status
) return E_OUTOFMEMORY
;
266 hr
= IDBDataSourceAdmin_RemoteCreateDataSource_Proxy(This
, cPropertySets
, rgPropertySets
, pUnkOuter
,
267 riid
, ppDBSession
, total_props
, status
, &error
);
270 SetErrorInfo(0, error
);
271 IErrorInfo_Release(error
);
275 for(prop_set
= 0; prop_set
< cPropertySets
; prop_set
++)
276 for(prop
= 0; prop
< rgPropertySets
[prop_set
].cProperties
; prop
++)
277 rgPropertySets
[prop_set
].rgProperties
[prop
].dwStatus
= status
[total_props
++];
279 CoTaskMemFree(status
);
283 HRESULT __RPC_STUB
IDBDataSourceAdmin_CreateDataSource_Stub(IDBDataSourceAdmin
* This
, ULONG cPropertySets
,
284 DBPROPSET
*rgPropertySets
, IUnknown
*pUnkOuter
,
285 REFIID riid
, IUnknown
**ppDBSession
, ULONG cTotalProps
,
286 DBPROPSTATUS
*rgPropStatus
, IErrorInfo
**ppErrorInfoRem
)
288 ULONG prop_set
, prop
, total_props
= 0;
291 TRACE("(%p, %d, %p, %p, %s, %p, %d, %p, %p)\n", This
, cPropertySets
, rgPropertySets
, pUnkOuter
,
292 debugstr_guid(riid
), ppDBSession
, cTotalProps
, rgPropStatus
, ppErrorInfoRem
);
294 *ppErrorInfoRem
= NULL
;
295 hr
= IDBDataSourceAdmin_CreateDataSource(This
, cPropertySets
, rgPropertySets
, pUnkOuter
, riid
, ppDBSession
);
296 if(FAILED(hr
)) GetErrorInfo(0, ppErrorInfoRem
);
298 for(prop_set
= 0; prop_set
< cPropertySets
; prop_set
++)
299 for(prop
= 0; prop
< rgPropertySets
[prop_set
].cProperties
; prop
++)
300 rgPropStatus
[total_props
++] = rgPropertySets
[prop_set
].rgProperties
[prop
].dwStatus
;
305 HRESULT CALLBACK
IDBDataSourceAdmin_DestroyDataSource_Proxy(IDBDataSourceAdmin
* This
)
307 FIXME("(%p): stub\n", This
);
311 HRESULT __RPC_STUB
IDBDataSourceAdmin_DestroyDataSource_Stub(IDBDataSourceAdmin
* This
, IErrorInfo
**ppErrorInfoRem
)
313 FIXME("(%p, %p): stub\n", This
, ppErrorInfoRem
);
317 HRESULT CALLBACK
IDBDataSourceAdmin_GetCreationProperties_Proxy(IDBDataSourceAdmin
* This
, ULONG cPropertyIDSets
,
318 const DBPROPIDSET rgPropertyIDSets
[], ULONG
*pcPropertyInfoSets
,
319 DBPROPINFOSET
**prgPropertyInfoSets
, OLECHAR
**ppDescBuffer
)
321 FIXME("(%p, %d, %p, %p, %p, %p): stub\n", This
, cPropertyIDSets
, rgPropertyIDSets
, pcPropertyInfoSets
,
322 prgPropertyInfoSets
, ppDescBuffer
);
326 HRESULT __RPC_STUB
IDBDataSourceAdmin_GetCreationProperties_Stub(IDBDataSourceAdmin
* This
, ULONG cPropertyIDSets
,
327 const DBPROPIDSET
*rgPropertyIDSets
, ULONG
*pcPropertyInfoSets
,
328 DBPROPINFOSET
**prgPropertyInfoSets
, DBCOUNTITEM
*pcOffsets
,
329 DBBYTEOFFSET
**prgDescOffsets
, ULONG
*pcbDescBuffer
,
330 OLECHAR
**ppDescBuffer
, IErrorInfo
**ppErrorInfoRem
)
332 FIXME("(%p, %d, %p, %p, %p, %p, %p, %p, %p, %p): stub\n", This
, cPropertyIDSets
, rgPropertyIDSets
, pcPropertyInfoSets
,
333 prgPropertyInfoSets
, pcOffsets
, prgDescOffsets
, pcbDescBuffer
, ppDescBuffer
, ppErrorInfoRem
);
337 HRESULT CALLBACK
IDBDataSourceAdmin_ModifyDataSource_Proxy(IDBDataSourceAdmin
* This
, ULONG cPropertySets
, DBPROPSET rgPropertySets
[])
339 FIXME("(%p, %d, %p): stub\n", This
, cPropertySets
, rgPropertySets
);
343 HRESULT __RPC_STUB
IDBDataSourceAdmin_ModifyDataSource_Stub(IDBDataSourceAdmin
* This
, ULONG cPropertySets
,
344 DBPROPSET
*rgPropertySets
, IErrorInfo
**ppErrorInfoRem
)
346 FIXME("(%p, %d, %p, %p): stub\n", This
, cPropertySets
, rgPropertySets
, ppErrorInfoRem
);
350 HRESULT CALLBACK
ISessionProperties_GetProperties_Proxy(ISessionProperties
* This
, ULONG cPropertyIDSets
,
351 const DBPROPIDSET rgPropertyIDSets
[], ULONG
*pcPropertySets
,
352 DBPROPSET
**prgPropertySets
)
354 FIXME("(%p, %d, %p, %p, %p): stub\n", This
, cPropertyIDSets
, rgPropertyIDSets
,
355 pcPropertySets
, prgPropertySets
);
359 HRESULT __RPC_STUB
ISessionProperties_GetProperties_Stub(ISessionProperties
* This
, ULONG cPropertyIDSets
,
360 const DBPROPIDSET
*rgPropertyIDSets
, ULONG
*pcPropertySets
,
361 DBPROPSET
**prgPropertySets
, IErrorInfo
**ppErrorInfoRem
)
363 FIXME("(%p, %d, %p, %p, %p, %p): stub\n", This
, cPropertyIDSets
, rgPropertyIDSets
,
364 pcPropertySets
, prgPropertySets
, ppErrorInfoRem
);
368 HRESULT CALLBACK
ISessionProperties_SetProperties_Proxy(ISessionProperties
* This
, ULONG cPropertySets
, DBPROPSET rgPropertySets
[])
370 ULONG prop_set
, prop
, total_props
= 0;
373 DBPROPSTATUS
*status
;
375 TRACE("(%p, %d, %p)\n", This
, cPropertySets
, rgPropertySets
);
377 for(prop_set
= 0; prop_set
< cPropertySets
; prop_set
++)
378 total_props
+= rgPropertySets
[prop_set
].cProperties
;
380 if(total_props
== 0) return S_OK
;
382 status
= CoTaskMemAlloc(total_props
* sizeof(*status
));
383 if(!status
) return E_OUTOFMEMORY
;
385 hr
= ISessionProperties_RemoteSetProperties_Proxy(This
, cPropertySets
, rgPropertySets
,
386 total_props
, status
, &error
);
389 SetErrorInfo(0, error
);
390 IErrorInfo_Release(error
);
394 for(prop_set
= 0; prop_set
< cPropertySets
; prop_set
++)
395 for(prop
= 0; prop
< rgPropertySets
[prop_set
].cProperties
; prop
++)
396 rgPropertySets
[prop_set
].rgProperties
[prop
].dwStatus
= status
[total_props
++];
398 CoTaskMemFree(status
);
402 HRESULT __RPC_STUB
ISessionProperties_SetProperties_Stub(ISessionProperties
* This
, ULONG cPropertySets
, DBPROPSET
*rgPropertySets
,
403 ULONG cTotalProps
, DBPROPSTATUS
*rgPropStatus
, IErrorInfo
**ppErrorInfoRem
)
405 ULONG prop_set
, prop
, total_props
= 0;
408 TRACE("(%p, %d, %p, %d, %p, %p)\n", This
, cPropertySets
, rgPropertySets
, cTotalProps
,
409 rgPropStatus
, ppErrorInfoRem
);
411 *ppErrorInfoRem
= NULL
;
412 hr
= ISessionProperties_SetProperties(This
, cPropertySets
, rgPropertySets
);
413 if(FAILED(hr
)) GetErrorInfo(0, ppErrorInfoRem
);
415 for(prop_set
= 0; prop_set
< cPropertySets
; prop_set
++)
416 for(prop
= 0; prop
< rgPropertySets
[prop_set
].cProperties
; prop
++)
417 rgPropStatus
[total_props
++] = rgPropertySets
[prop_set
].rgProperties
[prop
].dwStatus
;
422 HRESULT CALLBACK
IOpenRowset_OpenRowset_Proxy(IOpenRowset
* This
, IUnknown
*pUnkOuter
, DBID
*pTableID
, DBID
*pIndexID
,
423 REFIID riid
, ULONG cPropertySets
, DBPROPSET rgPropertySets
[], IUnknown
**ppRowset
)
425 FIXME("(%p, %p, %p, %p, %s, %d, %p, %p): stub\n", This
, pUnkOuter
, pTableID
, pIndexID
, debugstr_guid(riid
),
426 cPropertySets
, rgPropertySets
, ppRowset
);
430 HRESULT __RPC_STUB
IOpenRowset_OpenRowset_Stub(IOpenRowset
* This
, IUnknown
*pUnkOuter
, DBID
*pTableID
, DBID
*pIndexID
,
431 REFIID riid
, ULONG cPropertySets
, DBPROPSET
*rgPropertySets
,
432 IUnknown
**ppRowset
, ULONG cTotalProps
, DBPROPSTATUS
*rgPropStatus
,
433 IErrorInfo
**ppErrorInfoRem
)
435 FIXME("(%p, %p, %p, %p, %s, %d, %p, %p, %d, %p, %p): stub\n", This
, pUnkOuter
, pTableID
, pIndexID
, debugstr_guid(riid
),
436 cPropertySets
, rgPropertySets
, ppRowset
, cTotalProps
, rgPropStatus
, ppErrorInfoRem
);
440 HRESULT CALLBACK
IBindResource_Bind_Proxy(IBindResource
* This
, IUnknown
*pUnkOuter
, LPCOLESTR pwszURL
, DBBINDURLFLAG dwBindURLFlags
,
441 REFGUID rguid
, REFIID riid
, IAuthenticate
*pAuthenticate
, DBIMPLICITSESSION
*pImplSession
,
442 DBBINDURLSTATUS
*pdwBindStatus
, IUnknown
**ppUnk
)
446 TRACE("(%p, %p, %s, %08x, %s, %s, %p, %p, %p, %p)\n", This
, pUnkOuter
, debugstr_w(pwszURL
), dwBindURLFlags
,
447 debugstr_guid(rguid
), debugstr_guid(riid
), pAuthenticate
, pImplSession
, pdwBindStatus
, ppUnk
);
449 hr
= IBindResource_RemoteBind_Proxy(This
, pUnkOuter
, pwszURL
, dwBindURLFlags
, rguid
, riid
, pAuthenticate
,
450 pImplSession
? pImplSession
->pUnkOuter
: NULL
, pImplSession
? pImplSession
->piid
: NULL
,
451 pImplSession
? &pImplSession
->pSession
: NULL
, pdwBindStatus
, ppUnk
);
455 HRESULT __RPC_STUB
IBindResource_Bind_Stub(IBindResource
* This
, IUnknown
*pUnkOuter
, LPCOLESTR pwszURL
, DBBINDURLFLAG dwBindURLFlags
,
456 REFGUID rguid
, REFIID riid
, IAuthenticate
*pAuthenticate
, IUnknown
*pSessionUnkOuter
,
457 IID
*piid
, IUnknown
**ppSession
, DBBINDURLSTATUS
*pdwBindStatus
, IUnknown
**ppUnk
)
460 DBIMPLICITSESSION impl_session
;
462 TRACE("(%p, %p, %s, %08x, %s, %s, %p, %p, %p, %p, %p, %p)\n", This
, pUnkOuter
, debugstr_w(pwszURL
), dwBindURLFlags
,
463 debugstr_guid(rguid
), debugstr_guid(riid
), pAuthenticate
, pSessionUnkOuter
, piid
, ppSession
, pdwBindStatus
, ppUnk
);
465 impl_session
.pUnkOuter
= pSessionUnkOuter
;
466 impl_session
.piid
= piid
;
467 impl_session
.pSession
= NULL
;
469 hr
= IBindResource_Bind(This
, pUnkOuter
, pwszURL
, dwBindURLFlags
, rguid
, riid
, pAuthenticate
,
470 ppSession
? &impl_session
: NULL
, pdwBindStatus
, ppUnk
);
472 if(ppSession
) *ppSession
= impl_session
.pSession
;
476 HRESULT CALLBACK
ICreateRow_CreateRow_Proxy(ICreateRow
* This
, IUnknown
*pUnkOuter
, LPCOLESTR pwszURL
, DBBINDURLFLAG dwBindURLFlags
,
477 REFGUID rguid
, REFIID riid
, IAuthenticate
*pAuthenticate
, DBIMPLICITSESSION
*pImplSession
,
478 DBBINDURLSTATUS
*pdwBindStatus
, LPOLESTR
*ppwszNewURL
, IUnknown
**ppUnk
)
482 TRACE("(%p, %p, %s, %08x, %s, %s, %p, %p, %p, %p, %p)\n", This
, pUnkOuter
, debugstr_w(pwszURL
), dwBindURLFlags
,
483 debugstr_guid(rguid
), debugstr_guid(riid
), pAuthenticate
, pImplSession
, pdwBindStatus
, ppwszNewURL
, ppUnk
);
485 hr
= ICreateRow_RemoteCreateRow_Proxy(This
, pUnkOuter
, pwszURL
, dwBindURLFlags
, rguid
, riid
, pAuthenticate
,
486 pImplSession
? pImplSession
->pUnkOuter
: NULL
, pImplSession
? pImplSession
->piid
: NULL
,
487 pImplSession
? &pImplSession
->pSession
: NULL
, pdwBindStatus
, ppwszNewURL
, ppUnk
);
491 HRESULT __RPC_STUB
ICreateRow_CreateRow_Stub(ICreateRow
* This
, IUnknown
*pUnkOuter
, LPCOLESTR pwszURL
, DBBINDURLFLAG dwBindURLFlags
,
492 REFGUID rguid
, REFIID riid
, IAuthenticate
*pAuthenticate
, IUnknown
*pSessionUnkOuter
,
493 IID
*piid
, IUnknown
**ppSession
, DBBINDURLSTATUS
*pdwBindStatus
,
494 LPOLESTR
*ppwszNewURL
, IUnknown
**ppUnk
)
497 DBIMPLICITSESSION impl_session
;
499 TRACE("(%p, %p, %s, %08x, %s, %s, %p, %p, %p, %p, %p, %p, %p)\n", This
, pUnkOuter
, debugstr_w(pwszURL
), dwBindURLFlags
,
500 debugstr_guid(rguid
), debugstr_guid(riid
), pAuthenticate
, pSessionUnkOuter
, piid
, ppSession
, pdwBindStatus
, ppwszNewURL
,
503 impl_session
.pUnkOuter
= pSessionUnkOuter
;
504 impl_session
.piid
= piid
;
505 impl_session
.pSession
= NULL
;
507 hr
= ICreateRow_CreateRow(This
, pUnkOuter
, pwszURL
, dwBindURLFlags
, rguid
, riid
, pAuthenticate
,
508 ppSession
? &impl_session
: NULL
, pdwBindStatus
, ppwszNewURL
, ppUnk
);
510 if(ppSession
) *ppSession
= impl_session
.pSession
;
514 HRESULT CALLBACK
IAccessor_AddRefAccessor_Proxy(IAccessor
* This
, HACCESSOR hAccessor
, DBREFCOUNT
*pcRefCount
)
516 FIXME("(%p)->(%08lx, %p): stub\n", This
, hAccessor
, pcRefCount
);
520 HRESULT __RPC_STUB
IAccessor_AddRefAccessor_Stub(IAccessor
* This
, HACCESSOR hAccessor
, DBREFCOUNT
*pcRefCount
,
521 IErrorInfo
**ppErrorInfoRem
)
523 FIXME("(%p)->(%08lx, %p, %p): stub\n", This
, hAccessor
, pcRefCount
, ppErrorInfoRem
);
527 HRESULT CALLBACK
IAccessor_CreateAccessor_Proxy(IAccessor
* This
, DBACCESSORFLAGS dwAccessorFlags
, DBCOUNTITEM cBindings
,
528 const DBBINDING rgBindings
[], DBLENGTH cbRowSize
, HACCESSOR
*phAccessor
,
529 DBBINDSTATUS rgStatus
[])
535 TRACE("(%p)->(%08x, %d, %p, %d, %p, %p)\n", This
, dwAccessorFlags
, cBindings
, rgBindings
,
536 cbRowSize
, phAccessor
, rgStatus
);
538 for(i
= 0; i
< cBindings
; i
++)
540 TRACE("%d: ord %d val off %d len off %d stat off %d part %04x mem_owner %d max_len %d type %04x\n",
541 i
, rgBindings
[i
].iOrdinal
, rgBindings
[i
].obValue
, rgBindings
[i
].obLength
, rgBindings
[i
].obStatus
,
542 rgBindings
[i
].dwPart
, rgBindings
[i
].dwMemOwner
, rgBindings
[i
].cbMaxLen
, rgBindings
[i
].wType
);
545 hr
= IAccessor_RemoteCreateAccessor_Proxy(This
, dwAccessorFlags
, cBindings
, (DBBINDING
*)rgBindings
,
546 cbRowSize
, phAccessor
, rgStatus
, &error
);
549 SetErrorInfo(0, error
);
550 IErrorInfo_Release(error
);
553 TRACE("returning %08x accessor %lx\n", hr
, *phAccessor
);
557 HRESULT __RPC_STUB
IAccessor_CreateAccessor_Stub(IAccessor
* This
, DBACCESSORFLAGS dwAccessorFlags
, DBCOUNTITEM cBindings
,
558 DBBINDING
*rgBindings
, DBLENGTH cbRowSize
, HACCESSOR
*phAccessor
,
559 DBBINDSTATUS
*rgStatus
, IErrorInfo
**ppErrorInfoRem
)
563 TRACE("(%p)->(%08x, %d, %p, %d, %p, %p, %p)\n", This
, dwAccessorFlags
, cBindings
, rgBindings
,
564 cbRowSize
, phAccessor
, rgStatus
, ppErrorInfoRem
);
566 *ppErrorInfoRem
= NULL
;
567 hr
= IAccessor_CreateAccessor(This
, dwAccessorFlags
, cBindings
, rgBindings
,
568 cbRowSize
, phAccessor
, rgStatus
);
569 if(FAILED(hr
)) GetErrorInfo(0, ppErrorInfoRem
);
574 HRESULT CALLBACK
IAccessor_GetBindings_Proxy(IAccessor
* This
, HACCESSOR hAccessor
, DBACCESSORFLAGS
*pdwAccessorFlags
,
575 DBCOUNTITEM
*pcBindings
, DBBINDING
**prgBindings
)
577 FIXME("(%p): stub\n", This
);
581 HRESULT __RPC_STUB
IAccessor_GetBindings_Stub(IAccessor
* This
, HACCESSOR hAccessor
, DBACCESSORFLAGS
*pdwAccessorFlags
,
582 DBCOUNTITEM
*pcBindings
, DBBINDING
**prgBindings
, IErrorInfo
**ppErrorInfoRem
)
584 FIXME("(%p): stub\n", This
);
588 HRESULT CALLBACK
IAccessor_ReleaseAccessor_Proxy(IAccessor
* This
, HACCESSOR hAccessor
, DBREFCOUNT
*pcRefCount
)
594 TRACE("(%p)->(%lx, %p)\n", This
, hAccessor
, pcRefCount
);
596 hr
= IAccessor_RemoteReleaseAccessor_Proxy(This
, hAccessor
, &ref
, &error
);
598 if(pcRefCount
) *pcRefCount
= ref
;
601 SetErrorInfo(0, error
);
602 IErrorInfo_Release(error
);
607 HRESULT __RPC_STUB
IAccessor_ReleaseAccessor_Stub(IAccessor
* This
, HACCESSOR hAccessor
, DBREFCOUNT
*pcRefCount
,
608 IErrorInfo
**ppErrorInfoRem
)
612 TRACE("(%p)->(%lx, %p, %p)\n", This
, hAccessor
, pcRefCount
, ppErrorInfoRem
);
614 *ppErrorInfoRem
= NULL
;
616 hr
= IAccessor_ReleaseAccessor(This
, hAccessor
, pcRefCount
);
618 if(FAILED(hr
)) GetErrorInfo(0, ppErrorInfoRem
);
622 HRESULT CALLBACK
IRowsetInfo_GetProperties_Proxy(IRowsetInfo
* This
, const ULONG cPropertyIDSets
, const DBPROPIDSET rgPropertyIDSets
[],
623 ULONG
*pcPropertySets
, DBPROPSET
**prgPropertySets
)
629 TRACE("(%p)->(%d, %p, %p, %p)\n", This
, cPropertyIDSets
, rgPropertyIDSets
, pcPropertySets
, prgPropertySets
);
631 for(i
= 0; i
< cPropertyIDSets
; i
++)
634 TRACE("%d: %s %d props\n", i
, debugstr_guid(&rgPropertyIDSets
[i
].guidPropertySet
), rgPropertyIDSets
[i
].cPropertyIDs
);
635 for(j
= 0; j
< rgPropertyIDSets
[i
].cPropertyIDs
; j
++)
636 TRACE("\t%d: prop id %d\n", j
, rgPropertyIDSets
[i
].rgPropertyIDs
[j
]);
639 hr
= IRowsetInfo_RemoteGetProperties_Proxy(This
, cPropertyIDSets
, rgPropertyIDSets
, pcPropertySets
, prgPropertySets
, &error
);
643 SetErrorInfo(0, error
);
644 IErrorInfo_Release(error
);
649 HRESULT __RPC_STUB
IRowsetInfo_GetProperties_Stub(IRowsetInfo
* This
, ULONG cPropertyIDSets
, const DBPROPIDSET
*rgPropertyIDSets
,
650 ULONG
*pcPropertySets
, DBPROPSET
**prgPropertySets
, IErrorInfo
**ppErrorInfoRem
)
654 TRACE("(%p)->(%d, %p, %p, %p, %p)\n", This
, cPropertyIDSets
, rgPropertyIDSets
, pcPropertySets
, prgPropertySets
, ppErrorInfoRem
);
656 *ppErrorInfoRem
= NULL
;
658 hr
= IRowsetInfo_GetProperties(This
, cPropertyIDSets
, rgPropertyIDSets
, pcPropertySets
, prgPropertySets
);
659 if(FAILED(hr
)) GetErrorInfo(0, ppErrorInfoRem
);
660 TRACE("returning %08x\n", hr
);
664 HRESULT CALLBACK
IRowsetInfo_GetReferencedRowset_Proxy(IRowsetInfo
* This
, DBORDINAL iOrdinal
, REFIID riid
, IUnknown
**ppReferencedRowset
)
666 FIXME("(%p)->(%d, %s, %p): stub\n", This
, iOrdinal
, debugstr_guid(riid
), ppReferencedRowset
);
670 HRESULT __RPC_STUB
IRowsetInfo_GetReferencedRowset_Stub(IRowsetInfo
* This
, DBORDINAL iOrdinal
, REFIID riid
, IUnknown
**ppReferencedRowset
,
671 IErrorInfo
**ppErrorInfoRem
)
673 FIXME("(%p)->(%d, %s, %p, %p): stub\n", This
, iOrdinal
, debugstr_guid(riid
), ppReferencedRowset
, ppErrorInfoRem
);
677 HRESULT CALLBACK
IRowsetInfo_GetSpecification_Proxy(IRowsetInfo
* This
, REFIID riid
, IUnknown
**ppSpecification
)
679 FIXME("(%p)->(%s, %p): stub\n", This
, debugstr_guid(riid
), ppSpecification
);
683 HRESULT __RPC_STUB
IRowsetInfo_GetSpecification_Stub(IRowsetInfo
* This
, REFIID riid
, IUnknown
**ppSpecification
, IErrorInfo
**ppErrorInfoRem
)
685 FIXME("(%p)->(%s, %p, %p): stub\n", This
, debugstr_guid(riid
), ppSpecification
, ppErrorInfoRem
);
689 HRESULT CALLBACK
ICommand_Cancel_Proxy(ICommand
* This
)
691 FIXME("(%p): stub\n", This
);
695 HRESULT __RPC_STUB
ICommand_Cancel_Stub(ICommand
* This
, IErrorInfo
**ppErrorInfoRem
)
697 FIXME("(%p)->(%p): stub\n", This
, ppErrorInfoRem
);
701 HRESULT CALLBACK
ICommand_Execute_Proxy(ICommand
* This
, IUnknown
*pUnkOuter
, REFIID riid
,
702 DBPARAMS
*pParams
, DBROWCOUNT
*pcRowsAffected
, IUnknown
**ppRowset
)
704 FIXME("(%p)->(%p, %s, %p, %p, %p): stub\n", This
, pUnkOuter
, debugstr_guid(riid
), pParams
,
705 pcRowsAffected
, ppRowset
);
706 if(pParams
) TRACE("params {%p, %d, %08lx}\n", pParams
->pData
, pParams
->cParamSets
, pParams
->hAccessor
);
711 HRESULT __RPC_STUB
ICommand_Execute_Stub(ICommand
* This
, IUnknown
*pUnkOuter
, REFIID riid
, HACCESSOR hAccessor
,
712 DB_UPARAMS cParamSets
, GUID
*pGuid
, ULONG ulGuidOffset
, RMTPACK
*pInputParams
,
713 RMTPACK
*pOutputParams
, DBCOUNTITEM cBindings
, DBBINDING
*rgBindings
,
714 DBSTATUS
*rgStatus
, DBROWCOUNT
*pcRowsAffected
, IUnknown
**ppRowset
)
716 FIXME("(%p)->(%p, %s, %08lx, %d, %p, %d, %p, %p, %d, %p, %p, %p, %p): stub\n", This
, pUnkOuter
, debugstr_guid(riid
),
717 hAccessor
, cParamSets
, pGuid
, ulGuidOffset
, pInputParams
, pOutputParams
, cBindings
, rgBindings
, rgStatus
,
718 pcRowsAffected
, ppRowset
);
722 HRESULT CALLBACK
ICommand_GetDBSession_Proxy(ICommand
* This
, REFIID riid
, IUnknown
**ppSession
)
724 FIXME("(%p)->(%s, %p): stub\n", This
, debugstr_guid(riid
), ppSession
);
728 HRESULT __RPC_STUB
ICommand_GetDBSession_Stub(ICommand
* This
, REFIID riid
, IUnknown
**ppSession
, IErrorInfo
**ppErrorInfoRem
)
730 FIXME("(%p)->(%s, %p, %p): stub\n", This
, debugstr_guid(riid
), ppSession
, ppErrorInfoRem
);
734 HRESULT CALLBACK
ICommandText_GetCommandText_Proxy(ICommandText
* This
, GUID
*pguidDialect
, LPOLESTR
*ppwszCommand
)
736 FIXME("(%p)->(%p, %p): stub\n", This
, pguidDialect
, ppwszCommand
);
740 HRESULT __RPC_STUB
ICommandText_GetCommandText_Stub(ICommandText
* This
, GUID
*pguidDialect
,
741 LPOLESTR
*ppwszCommand
, IErrorInfo
**ppErrorInfoRem
)
743 FIXME("(%p)->(%p, %p, %p): stub\n", This
, pguidDialect
, ppwszCommand
, ppErrorInfoRem
);
747 HRESULT CALLBACK
ICommandText_SetCommandText_Proxy(ICommandText
* This
, REFGUID rguidDialect
, LPCOLESTR pwszCommand
)
752 TRACE("(%p)->(%s, %s)\n", This
, debugstr_guid(rguidDialect
), debugstr_w(pwszCommand
));
754 hr
= ICommandText_RemoteSetCommandText_Proxy(This
, rguidDialect
, pwszCommand
, &error
);
757 SetErrorInfo(0, error
);
758 IErrorInfo_Release(error
);
763 HRESULT __RPC_STUB
ICommandText_SetCommandText_Stub(ICommandText
* This
, REFGUID rguidDialect
, LPCOLESTR pwszCommand
,
764 IErrorInfo
**ppErrorInfoRem
)
768 TRACE("(%p)->(%s, %s, %p)\n", This
, debugstr_guid(rguidDialect
), debugstr_w(pwszCommand
),
771 *ppErrorInfoRem
= NULL
;
772 hr
= ICommandText_SetCommandText(This
, rguidDialect
, pwszCommand
);
773 if(FAILED(hr
)) GetErrorInfo(0, ppErrorInfoRem
);
778 HRESULT CALLBACK
IDBAsynchNotify_OnLowResource_Proxy(IDBAsynchNotify
* This
, DB_DWRESERVE dwReserved
)
780 FIXME("(%p)->(%08x): stub\n", This
, dwReserved
);
784 HRESULT __RPC_STUB
IDBAsynchNotify_OnLowResource_Stub(IDBAsynchNotify
* This
, DB_DWRESERVE dwReserved
)
786 FIXME("(%p)->(%08x): stub\n", This
, dwReserved
);
790 HRESULT CALLBACK
IDBAsynchNotify_OnProgress_Proxy(IDBAsynchNotify
* This
, HCHAPTER hChapter
, DBASYNCHOP eOperation
,
791 DBCOUNTITEM ulProgress
, DBCOUNTITEM ulProgressMax
, DBASYNCHPHASE eAsynchPhase
,
792 LPOLESTR pwszStatusText
)
794 FIXME("(%p)->(%lx, %d, %d, %d, %d, %s): stub\n", This
, hChapter
, eOperation
, ulProgress
, ulProgressMax
,
795 eAsynchPhase
, debugstr_w(pwszStatusText
));
799 HRESULT __RPC_STUB
IDBAsynchNotify_OnProgress_Stub(IDBAsynchNotify
* This
, HCHAPTER hChapter
, DBASYNCHOP eOperation
,
800 DBCOUNTITEM ulProgress
, DBCOUNTITEM ulProgressMax
, DBASYNCHPHASE eAsynchPhase
,
801 LPOLESTR pwszStatusText
)
803 FIXME("(%p)->(%lx, %d, %d, %d, %d, %s): stub\n", This
, hChapter
, eOperation
, ulProgress
, ulProgressMax
,
804 eAsynchPhase
, debugstr_w(pwszStatusText
));
808 HRESULT CALLBACK
IDBAsynchNotify_OnStop_Proxy(IDBAsynchNotify
* This
, HCHAPTER hChapter
, DBASYNCHOP eOperation
,
809 HRESULT hrStatus
, LPOLESTR pwszStatusText
)
811 FIXME("(%p)->(%lx, %d, %08x, %s): stub\n", This
, hChapter
, eOperation
, hrStatus
, debugstr_w(pwszStatusText
));
815 HRESULT __RPC_STUB
IDBAsynchNotify_OnStop_Stub(IDBAsynchNotify
* This
, HCHAPTER hChapter
, DBASYNCHOP eOperation
,
816 HRESULT hrStatus
, LPOLESTR pwszStatusText
)
818 FIXME("(%p)->(%lx, %d, %08x, %s): stub\n", This
, hChapter
, eOperation
, hrStatus
, debugstr_w(pwszStatusText
));
822 HRESULT CALLBACK
IDBAsynchStatus_Abort_Proxy(IDBAsynchStatus
* This
, HCHAPTER hChapter
, DBASYNCHOP eOperation
)
824 FIXME("(%p)->(%lx, %d): stub\n", This
, hChapter
, eOperation
);
828 HRESULT __RPC_STUB
IDBAsynchStatus_Abort_Stub(IDBAsynchStatus
* This
, HCHAPTER hChapter
, DBASYNCHOP eOperation
,
829 IErrorInfo
**ppErrorInfoRem
)
831 FIXME("(%p)->(%lx, %d, %p): stub\n", This
, hChapter
, eOperation
, ppErrorInfoRem
);
835 HRESULT CALLBACK
IDBAsynchStatus_GetStatus_Proxy(IDBAsynchStatus
* This
, HCHAPTER hChapter
, DBASYNCHOP eOperation
,
836 DBCOUNTITEM
*pulProgress
, DBCOUNTITEM
*pulProgressMax
, DBASYNCHPHASE
*peAsynchPhase
,
837 LPOLESTR
*ppwszStatusText
)
839 FIXME("(%p)->(%lx, %d, %p, %p, %p, %p): stub\n", This
, hChapter
, eOperation
, pulProgress
, pulProgressMax
,
840 peAsynchPhase
, ppwszStatusText
);
844 HRESULT __RPC_STUB
IDBAsynchStatus_GetStatus_Stub(IDBAsynchStatus
* This
, HCHAPTER hChapter
, DBASYNCHOP eOperation
,
845 DBCOUNTITEM
*pulProgress
, DBCOUNTITEM
*pulProgressMax
, DBASYNCHPHASE
*peAsynchPhase
,
846 LPOLESTR
*ppwszStatusText
, IErrorInfo
**ppErrorInfoRem
)
848 FIXME("(%p)->(%lx, %d, %p, %p, %p, %p, %p): stub\n", This
, hChapter
, eOperation
, pulProgress
, pulProgressMax
,
849 peAsynchPhase
, ppwszStatusText
, ppErrorInfoRem
);