2 * Misc marshaling routines
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 "row_server.h"
38 #include "wine/debug.h"
40 WINE_DEFAULT_DEBUG_CHANNEL(oledb
);
42 HRESULT CALLBACK
IDBCreateCommand_CreateCommand_Proxy(IDBCreateCommand
* This
, IUnknown
*pUnkOuter
,
43 REFIID riid
, IUnknown
**ppCommand
)
48 TRACE("(%p, %p, %s, %p)\n", This
, pUnkOuter
, debugstr_guid(riid
), ppCommand
);
49 hr
= IDBCreateCommand_RemoteCreateCommand_Proxy(This
, pUnkOuter
, riid
, ppCommand
, &error
);
52 SetErrorInfo(0, error
);
53 IErrorInfo_Release(error
);
58 HRESULT __RPC_STUB
IDBCreateCommand_CreateCommand_Stub(IDBCreateCommand
* This
, IUnknown
*pUnkOuter
,
59 REFIID riid
, IUnknown
**ppCommand
, IErrorInfo
**ppErrorInfoRem
)
63 TRACE("(%p, %p, %s, %p, %p)\n", This
, pUnkOuter
, debugstr_guid(riid
), ppCommand
, ppErrorInfoRem
);
65 *ppErrorInfoRem
= NULL
;
66 hr
= IDBCreateCommand_CreateCommand(This
, pUnkOuter
, riid
, ppCommand
);
67 if(FAILED(hr
)) GetErrorInfo(0, ppErrorInfoRem
);
72 HRESULT CALLBACK
IDBCreateSession_CreateSession_Proxy(IDBCreateSession
* This
, IUnknown
*pUnkOuter
,
73 REFIID riid
, IUnknown
**ppDBSession
)
78 TRACE("(%p, %p, %s, %p)\n", This
, pUnkOuter
, debugstr_guid(riid
), ppDBSession
);
79 hr
= IDBCreateSession_RemoteCreateSession_Proxy(This
, pUnkOuter
, riid
, ppDBSession
, &error
);
82 SetErrorInfo(0, error
);
83 IErrorInfo_Release(error
);
88 HRESULT __RPC_STUB
IDBCreateSession_CreateSession_Stub(IDBCreateSession
* This
, IUnknown
*pUnkOuter
,
89 REFIID riid
, IUnknown
**ppDBSession
, IErrorInfo
**ppErrorInfoRem
)
92 TRACE("(%p, %p, %s, %p, %p)\n", This
, pUnkOuter
, debugstr_guid(riid
),
93 ppDBSession
, ppErrorInfoRem
);
95 *ppErrorInfoRem
= NULL
;
96 hr
= IDBCreateSession_CreateSession(This
, pUnkOuter
, riid
, ppDBSession
);
97 if(FAILED(hr
)) GetErrorInfo(0, ppErrorInfoRem
);
102 HRESULT CALLBACK
IDBProperties_GetProperties_Proxy(IDBProperties
* This
, ULONG cPropertyIDSets
, const DBPROPIDSET rgPropertyIDSets
[],
103 ULONG
*pcPropertySets
, DBPROPSET
**prgPropertySets
)
108 TRACE("(%p, %d, %p, %p, %p)\n", This
, cPropertyIDSets
, rgPropertyIDSets
, pcPropertySets
,
110 hr
= IDBProperties_RemoteGetProperties_Proxy(This
, cPropertyIDSets
, rgPropertyIDSets
,
111 pcPropertySets
, prgPropertySets
, &error
);
114 SetErrorInfo(0, error
);
115 IErrorInfo_Release(error
);
120 HRESULT __RPC_STUB
IDBProperties_GetProperties_Stub(IDBProperties
* This
, ULONG cPropertyIDSets
, const DBPROPIDSET
*rgPropertyIDSets
,
121 ULONG
*pcPropertySets
, DBPROPSET
**prgPropertySets
, IErrorInfo
**ppErrorInfoRem
)
125 TRACE("(%p, %d, %p, %p, %p, %p)\n", This
, cPropertyIDSets
, rgPropertyIDSets
, pcPropertySets
,
126 prgPropertySets
, ppErrorInfoRem
);
128 *ppErrorInfoRem
= NULL
;
129 hr
= IDBProperties_GetProperties(This
, cPropertyIDSets
, rgPropertyIDSets
,
130 pcPropertySets
, prgPropertySets
);
131 if(FAILED(hr
)) GetErrorInfo(0, ppErrorInfoRem
);
136 HRESULT CALLBACK
IDBProperties_GetPropertyInfo_Proxy(IDBProperties
* This
, ULONG cPropertyIDSets
, const DBPROPIDSET rgPropertyIDSets
[],
137 ULONG
*pcPropertyInfoSets
, DBPROPINFOSET
**prgPropertyInfoSets
,
138 OLECHAR
**ppDescBuffer
)
140 FIXME("(%p, %d, %p, %p, %p, %p): stub\n", This
, cPropertyIDSets
, rgPropertyIDSets
, pcPropertyInfoSets
,
141 prgPropertyInfoSets
, ppDescBuffer
);
145 HRESULT __RPC_STUB
IDBProperties_GetPropertyInfo_Stub(IDBProperties
* This
, ULONG cPropertyIDSets
, const DBPROPIDSET
*rgPropertyIDSets
,
146 ULONG
*pcPropertyInfoSets
, DBPROPINFOSET
**prgPropertyInfoSets
,
147 ULONG
*pcOffsets
, DBBYTEOFFSET
**prgDescOffsets
, ULONG
*pcbDescBuffer
,
148 OLECHAR
**ppDescBuffer
, IErrorInfo
**ppErrorInfoRem
)
150 FIXME("(%p, %d, %p, %p, %p, %p, %p, %p, %p, %p): stub\n", This
, cPropertyIDSets
, rgPropertyIDSets
, pcPropertyInfoSets
,
151 prgPropertyInfoSets
, pcOffsets
, prgDescOffsets
, pcbDescBuffer
, ppDescBuffer
, ppErrorInfoRem
);
155 HRESULT CALLBACK
IDBProperties_SetProperties_Proxy(IDBProperties
* This
, ULONG cPropertySets
, DBPROPSET rgPropertySets
[])
157 ULONG prop_set
, prop
, total_props
= 0;
160 DBPROPSTATUS
*status
;
162 TRACE("(%p, %d, %p)\n", This
, cPropertySets
, rgPropertySets
);
164 for(prop_set
= 0; prop_set
< cPropertySets
; prop_set
++)
165 total_props
+= rgPropertySets
[prop_set
].cProperties
;
167 if(total_props
== 0) return S_OK
;
169 status
= CoTaskMemAlloc(total_props
* sizeof(*status
));
170 if(!status
) return E_OUTOFMEMORY
;
172 hr
= IDBProperties_RemoteSetProperties_Proxy(This
, cPropertySets
, rgPropertySets
,
173 total_props
, status
, &error
);
176 SetErrorInfo(0, error
);
177 IErrorInfo_Release(error
);
181 for(prop_set
= 0; prop_set
< cPropertySets
; prop_set
++)
182 for(prop
= 0; prop
< rgPropertySets
[prop_set
].cProperties
; prop
++)
183 rgPropertySets
[prop_set
].rgProperties
[prop
].dwStatus
= status
[total_props
++];
185 CoTaskMemFree(status
);
189 HRESULT __RPC_STUB
IDBProperties_SetProperties_Stub(IDBProperties
* This
, ULONG cPropertySets
, DBPROPSET
*rgPropertySets
,
190 ULONG cTotalProps
, DBPROPSTATUS
*rgPropStatus
, IErrorInfo
**ppErrorInfoRem
)
192 ULONG prop_set
, prop
, total_props
= 0;
195 TRACE("(%p, %d, %p, %d, %p, %p)\n", This
, cPropertySets
, rgPropertySets
, cTotalProps
,
196 rgPropStatus
, ppErrorInfoRem
);
198 *ppErrorInfoRem
= NULL
;
199 hr
= IDBProperties_SetProperties(This
, cPropertySets
, rgPropertySets
);
200 if(FAILED(hr
)) GetErrorInfo(0, ppErrorInfoRem
);
202 for(prop_set
= 0; prop_set
< cPropertySets
; prop_set
++)
203 for(prop
= 0; prop
< rgPropertySets
[prop_set
].cProperties
; prop
++)
204 rgPropStatus
[total_props
++] = rgPropertySets
[prop_set
].rgProperties
[prop
].dwStatus
;
209 HRESULT CALLBACK
IDBInitialize_Initialize_Proxy(IDBInitialize
* This
)
214 TRACE("(%p)\n", This
);
215 hr
= IDBInitialize_RemoteInitialize_Proxy(This
, &error
);
218 SetErrorInfo(0, error
);
219 IErrorInfo_Release(error
);
224 HRESULT __RPC_STUB
IDBInitialize_Initialize_Stub(IDBInitialize
* This
, IErrorInfo
**ppErrorInfoRem
)
227 TRACE("(%p, %p)\n", This
, ppErrorInfoRem
);
229 *ppErrorInfoRem
= NULL
;
230 hr
= IDBInitialize_Initialize(This
);
231 if(FAILED(hr
)) GetErrorInfo(0, ppErrorInfoRem
);
236 HRESULT CALLBACK
IDBInitialize_Uninitialize_Proxy(IDBInitialize
* This
)
241 TRACE("(%p)\n", This
);
242 hr
= IDBInitialize_RemoteUninitialize_Proxy(This
, &error
);
245 SetErrorInfo(0, error
);
246 IErrorInfo_Release(error
);
251 HRESULT __RPC_STUB
IDBInitialize_Uninitialize_Stub(IDBInitialize
* This
, IErrorInfo
**error
)
255 TRACE("(%p, %p)\n", This
, error
);
257 hr
= IDBInitialize_Uninitialize(This
);
258 if(FAILED(hr
)) GetErrorInfo(0, error
);
263 HRESULT CALLBACK
IDBDataSourceAdmin_CreateDataSource_Proxy(IDBDataSourceAdmin
* This
, ULONG cPropertySets
,
264 DBPROPSET rgPropertySets
[], IUnknown
*pUnkOuter
,
265 REFIID riid
, IUnknown
**ppDBSession
)
267 ULONG prop_set
, prop
, total_props
= 0;
270 DBPROPSTATUS
*status
;
272 TRACE("(%p, %d, %p, %p, %s, %p)\n", This
, cPropertySets
, rgPropertySets
, pUnkOuter
,
273 debugstr_guid(riid
), ppDBSession
);
275 for(prop_set
= 0; prop_set
< cPropertySets
; prop_set
++)
276 total_props
+= rgPropertySets
[prop_set
].cProperties
;
278 if(total_props
== 0) return S_OK
;
280 status
= CoTaskMemAlloc(total_props
* sizeof(*status
));
281 if(!status
) return E_OUTOFMEMORY
;
283 hr
= IDBDataSourceAdmin_RemoteCreateDataSource_Proxy(This
, cPropertySets
, rgPropertySets
, pUnkOuter
,
284 riid
, ppDBSession
, total_props
, status
, &error
);
287 SetErrorInfo(0, error
);
288 IErrorInfo_Release(error
);
292 for(prop_set
= 0; prop_set
< cPropertySets
; prop_set
++)
293 for(prop
= 0; prop
< rgPropertySets
[prop_set
].cProperties
; prop
++)
294 rgPropertySets
[prop_set
].rgProperties
[prop
].dwStatus
= status
[total_props
++];
296 CoTaskMemFree(status
);
300 HRESULT __RPC_STUB
IDBDataSourceAdmin_CreateDataSource_Stub(IDBDataSourceAdmin
* This
, ULONG cPropertySets
,
301 DBPROPSET
*rgPropertySets
, IUnknown
*pUnkOuter
,
302 REFIID riid
, IUnknown
**ppDBSession
, ULONG cTotalProps
,
303 DBPROPSTATUS
*rgPropStatus
, IErrorInfo
**ppErrorInfoRem
)
305 ULONG prop_set
, prop
, total_props
= 0;
308 TRACE("(%p, %d, %p, %p, %s, %p, %d, %p, %p)\n", This
, cPropertySets
, rgPropertySets
, pUnkOuter
,
309 debugstr_guid(riid
), ppDBSession
, cTotalProps
, rgPropStatus
, ppErrorInfoRem
);
311 *ppErrorInfoRem
= NULL
;
312 hr
= IDBDataSourceAdmin_CreateDataSource(This
, cPropertySets
, rgPropertySets
, pUnkOuter
, riid
, ppDBSession
);
313 if(FAILED(hr
)) GetErrorInfo(0, ppErrorInfoRem
);
315 for(prop_set
= 0; prop_set
< cPropertySets
; prop_set
++)
316 for(prop
= 0; prop
< rgPropertySets
[prop_set
].cProperties
; prop
++)
317 rgPropStatus
[total_props
++] = rgPropertySets
[prop_set
].rgProperties
[prop
].dwStatus
;
322 HRESULT CALLBACK
IDBDataSourceAdmin_DestroyDataSource_Proxy(IDBDataSourceAdmin
* This
)
327 TRACE("(%p)\n", This
);
328 hr
= IDBDataSourceAdmin_RemoteDestroyDataSource_Proxy(This
, &error
);
331 SetErrorInfo(0, error
);
332 IErrorInfo_Release(error
);
337 HRESULT __RPC_STUB
IDBDataSourceAdmin_DestroyDataSource_Stub(IDBDataSourceAdmin
* This
, IErrorInfo
**error
)
341 TRACE("(%p, %p)\n", This
, error
);
343 hr
= IDBDataSourceAdmin_DestroyDataSource(This
);
344 if(FAILED(hr
)) GetErrorInfo(0, error
);
349 HRESULT CALLBACK
IDBDataSourceAdmin_GetCreationProperties_Proxy(IDBDataSourceAdmin
* This
, ULONG cPropertyIDSets
,
350 const DBPROPIDSET rgPropertyIDSets
[], ULONG
*pcPropertyInfoSets
,
351 DBPROPINFOSET
**prgPropertyInfoSets
, OLECHAR
**ppDescBuffer
)
353 FIXME("(%p, %d, %p, %p, %p, %p): stub\n", This
, cPropertyIDSets
, rgPropertyIDSets
, pcPropertyInfoSets
,
354 prgPropertyInfoSets
, ppDescBuffer
);
358 HRESULT __RPC_STUB
IDBDataSourceAdmin_GetCreationProperties_Stub(IDBDataSourceAdmin
* This
, ULONG cPropertyIDSets
,
359 const DBPROPIDSET
*rgPropertyIDSets
, ULONG
*pcPropertyInfoSets
,
360 DBPROPINFOSET
**prgPropertyInfoSets
, DBCOUNTITEM
*pcOffsets
,
361 DBBYTEOFFSET
**prgDescOffsets
, ULONG
*pcbDescBuffer
,
362 OLECHAR
**ppDescBuffer
, IErrorInfo
**error
)
366 TRACE("(%p, %d, %p, %p, %p, %p, %p, %p, %p, %p)\n", This
, cPropertyIDSets
, rgPropertyIDSets
, pcPropertyInfoSets
,
367 prgPropertyInfoSets
, pcOffsets
, prgDescOffsets
, pcbDescBuffer
, ppDescBuffer
, error
);
369 hr
= IDBDataSourceAdmin_GetCreationProperties(This
, cPropertyIDSets
, rgPropertyIDSets
, pcPropertyInfoSets
,
370 prgPropertyInfoSets
, ppDescBuffer
);
371 if(FAILED(hr
)) GetErrorInfo(0, error
);
376 HRESULT CALLBACK
IDBDataSourceAdmin_ModifyDataSource_Proxy(IDBDataSourceAdmin
* This
, ULONG cPropertySets
, DBPROPSET rgPropertySets
[])
381 TRACE("(%p, %d, %p)\n", This
, cPropertySets
, rgPropertySets
);
382 hr
= IDBDataSourceAdmin_RemoteModifyDataSource_Proxy(This
, cPropertySets
, rgPropertySets
, &error
);
385 SetErrorInfo(0, error
);
386 IErrorInfo_Release(error
);
392 HRESULT __RPC_STUB
IDBDataSourceAdmin_ModifyDataSource_Stub(IDBDataSourceAdmin
* This
, ULONG cPropertySets
,
393 DBPROPSET
*rgPropertySets
, IErrorInfo
**error
)
397 TRACE("(%p, %d, %p, %p)\n", This
, cPropertySets
, rgPropertySets
, error
);
399 hr
= IDBDataSourceAdmin_ModifyDataSource(This
, cPropertySets
, rgPropertySets
);
400 if(FAILED(hr
)) GetErrorInfo(0, error
);
405 HRESULT CALLBACK
ISessionProperties_GetProperties_Proxy(ISessionProperties
* This
, ULONG cPropertyIDSets
,
406 const DBPROPIDSET rgPropertyIDSets
[], ULONG
*pcPropertySets
,
407 DBPROPSET
**prgPropertySets
)
409 FIXME("(%p, %d, %p, %p, %p): stub\n", This
, cPropertyIDSets
, rgPropertyIDSets
,
410 pcPropertySets
, prgPropertySets
);
414 HRESULT __RPC_STUB
ISessionProperties_GetProperties_Stub(ISessionProperties
* This
, ULONG cPropertyIDSets
,
415 const DBPROPIDSET
*rgPropertyIDSets
, ULONG
*pcPropertySets
,
416 DBPROPSET
**prgPropertySets
, IErrorInfo
**ppErrorInfoRem
)
418 FIXME("(%p, %d, %p, %p, %p, %p): stub\n", This
, cPropertyIDSets
, rgPropertyIDSets
,
419 pcPropertySets
, prgPropertySets
, ppErrorInfoRem
);
423 HRESULT CALLBACK
ISessionProperties_SetProperties_Proxy(ISessionProperties
* This
, ULONG cPropertySets
, DBPROPSET rgPropertySets
[])
425 ULONG prop_set
, prop
, total_props
= 0;
428 DBPROPSTATUS
*status
;
430 TRACE("(%p, %d, %p)\n", This
, cPropertySets
, rgPropertySets
);
432 for(prop_set
= 0; prop_set
< cPropertySets
; prop_set
++)
433 total_props
+= rgPropertySets
[prop_set
].cProperties
;
435 if(total_props
== 0) return S_OK
;
437 status
= CoTaskMemAlloc(total_props
* sizeof(*status
));
438 if(!status
) return E_OUTOFMEMORY
;
440 hr
= ISessionProperties_RemoteSetProperties_Proxy(This
, cPropertySets
, rgPropertySets
,
441 total_props
, status
, &error
);
444 SetErrorInfo(0, error
);
445 IErrorInfo_Release(error
);
449 for(prop_set
= 0; prop_set
< cPropertySets
; prop_set
++)
450 for(prop
= 0; prop
< rgPropertySets
[prop_set
].cProperties
; prop
++)
451 rgPropertySets
[prop_set
].rgProperties
[prop
].dwStatus
= status
[total_props
++];
453 CoTaskMemFree(status
);
457 HRESULT __RPC_STUB
ISessionProperties_SetProperties_Stub(ISessionProperties
* This
, ULONG cPropertySets
, DBPROPSET
*rgPropertySets
,
458 ULONG cTotalProps
, DBPROPSTATUS
*rgPropStatus
, IErrorInfo
**ppErrorInfoRem
)
460 ULONG prop_set
, prop
, total_props
= 0;
463 TRACE("(%p, %d, %p, %d, %p, %p)\n", This
, cPropertySets
, rgPropertySets
, cTotalProps
,
464 rgPropStatus
, ppErrorInfoRem
);
466 *ppErrorInfoRem
= NULL
;
467 hr
= ISessionProperties_SetProperties(This
, cPropertySets
, rgPropertySets
);
468 if(FAILED(hr
)) GetErrorInfo(0, ppErrorInfoRem
);
470 for(prop_set
= 0; prop_set
< cPropertySets
; prop_set
++)
471 for(prop
= 0; prop
< rgPropertySets
[prop_set
].cProperties
; prop
++)
472 rgPropStatus
[total_props
++] = rgPropertySets
[prop_set
].rgProperties
[prop
].dwStatus
;
477 HRESULT CALLBACK
IOpenRowset_OpenRowset_Proxy(IOpenRowset
* This
, IUnknown
*pUnkOuter
, DBID
*pTableID
, DBID
*pIndexID
,
478 REFIID riid
, ULONG cPropertySets
, DBPROPSET rgPropertySets
[], IUnknown
**ppRowset
)
480 FIXME("(%p, %p, %p, %p, %s, %d, %p, %p): stub\n", This
, pUnkOuter
, pTableID
, pIndexID
, debugstr_guid(riid
),
481 cPropertySets
, rgPropertySets
, ppRowset
);
485 HRESULT __RPC_STUB
IOpenRowset_OpenRowset_Stub(IOpenRowset
* This
, IUnknown
*pUnkOuter
, DBID
*pTableID
, DBID
*pIndexID
,
486 REFIID riid
, ULONG cPropertySets
, DBPROPSET
*rgPropertySets
,
487 IUnknown
**ppRowset
, ULONG cTotalProps
, DBPROPSTATUS
*rgPropStatus
,
488 IErrorInfo
**ppErrorInfoRem
)
490 FIXME("(%p, %p, %p, %p, %s, %d, %p, %p, %d, %p, %p): stub\n", This
, pUnkOuter
, pTableID
, pIndexID
, debugstr_guid(riid
),
491 cPropertySets
, rgPropertySets
, ppRowset
, cTotalProps
, rgPropStatus
, ppErrorInfoRem
);
495 HRESULT CALLBACK
IBindResource_Bind_Proxy(IBindResource
* This
, IUnknown
*pUnkOuter
, LPCOLESTR pwszURL
, DBBINDURLFLAG dwBindURLFlags
,
496 REFGUID rguid
, REFIID riid
, IAuthenticate
*pAuthenticate
, DBIMPLICITSESSION
*pImplSession
,
497 DBBINDURLSTATUS
*pdwBindStatus
, IUnknown
**ppUnk
)
501 TRACE("(%p, %p, %s, %08x, %s, %s, %p, %p, %p, %p)\n", This
, pUnkOuter
, debugstr_w(pwszURL
), dwBindURLFlags
,
502 debugstr_guid(rguid
), debugstr_guid(riid
), pAuthenticate
, pImplSession
, pdwBindStatus
, ppUnk
);
506 FIXME("Aggregation not supported\n");
507 return CLASS_E_NOAGGREGATION
;
510 hr
= IBindResource_RemoteBind_Proxy(This
, pUnkOuter
, pwszURL
, dwBindURLFlags
, rguid
, riid
, pAuthenticate
,
511 pImplSession
? pImplSession
->pUnkOuter
: NULL
, pImplSession
? pImplSession
->piid
: NULL
,
512 pImplSession
? &pImplSession
->pSession
: NULL
, pdwBindStatus
, ppUnk
);
516 HRESULT __RPC_STUB
IBindResource_Bind_Stub(IBindResource
* This
, IUnknown
*pUnkOuter
, LPCOLESTR pwszURL
, DBBINDURLFLAG dwBindURLFlags
,
517 REFGUID rguid
, REFIID riid
, IAuthenticate
*pAuthenticate
, IUnknown
*pSessionUnkOuter
,
518 IID
*piid
, IUnknown
**ppSession
, DBBINDURLSTATUS
*pdwBindStatus
, IUnknown
**ppUnk
)
521 DBIMPLICITSESSION impl_session
;
522 IWineRowServer
*server
;
526 TRACE("(%p, %p, %s, %08x, %s, %s, %p, %p, %p, %p, %p, %p)\n", This
, pUnkOuter
, debugstr_w(pwszURL
), dwBindURLFlags
,
527 debugstr_guid(rguid
), debugstr_guid(riid
), pAuthenticate
, pSessionUnkOuter
, piid
, ppSession
, pdwBindStatus
, ppUnk
);
531 if(IsEqualGUID(rguid
, &DBGUID_ROWSET
))
532 hr
= CoCreateInstance(&CLSID_wine_rowset_server
, NULL
, CLSCTX_INPROC_SERVER
, &IID_IWineRowServer
, (void**)&server
);
533 else if(IsEqualGUID(rguid
, &DBGUID_ROW
))
534 hr
= CoCreateInstance(&CLSID_wine_row_server
, NULL
, CLSCTX_INPROC_SERVER
, &IID_IWineRowServer
, (void**)&server
);
538 FIXME("Unhandled object %s\n", debugstr_guid(rguid
));
541 if(FAILED(hr
)) return hr
;
543 impl_session
.pUnkOuter
= pSessionUnkOuter
;
544 impl_session
.piid
= piid
;
545 impl_session
.pSession
= NULL
;
547 IWineRowServer_GetMarshal(server
, &marshal
);
549 hr
= IBindResource_Bind(This
, (IUnknown
*)marshal
, pwszURL
, dwBindURLFlags
, rguid
, &IID_IUnknown
, pAuthenticate
,
550 ppSession
? &impl_session
: NULL
, pdwBindStatus
, &obj
);
552 IMarshal_Release(marshal
);
555 IWineRowServer_Release(server
);
559 IWineRowServer_SetInnerUnk(server
, obj
);
560 hr
= IUnknown_QueryInterface(obj
, riid
, (void**)ppUnk
);
561 IUnknown_Release(obj
);
563 if(ppSession
) *ppSession
= impl_session
.pSession
;
567 HRESULT CALLBACK
ICreateRow_CreateRow_Proxy(ICreateRow
* This
, IUnknown
*pUnkOuter
, LPCOLESTR pwszURL
, DBBINDURLFLAG dwBindURLFlags
,
568 REFGUID rguid
, REFIID riid
, IAuthenticate
*pAuthenticate
, DBIMPLICITSESSION
*pImplSession
,
569 DBBINDURLSTATUS
*pdwBindStatus
, LPOLESTR
*ppwszNewURL
, IUnknown
**ppUnk
)
573 TRACE("(%p, %p, %s, %08x, %s, %s, %p, %p, %p, %p, %p)\n", This
, pUnkOuter
, debugstr_w(pwszURL
), dwBindURLFlags
,
574 debugstr_guid(rguid
), debugstr_guid(riid
), pAuthenticate
, pImplSession
, pdwBindStatus
, ppwszNewURL
, ppUnk
);
578 FIXME("Aggregation not supported\n");
579 return CLASS_E_NOAGGREGATION
;
582 hr
= ICreateRow_RemoteCreateRow_Proxy(This
, pUnkOuter
, pwszURL
, dwBindURLFlags
, rguid
, riid
, pAuthenticate
,
583 pImplSession
? pImplSession
->pUnkOuter
: NULL
, pImplSession
? pImplSession
->piid
: NULL
,
584 pImplSession
? &pImplSession
->pSession
: NULL
, pdwBindStatus
, ppwszNewURL
, ppUnk
);
588 HRESULT __RPC_STUB
ICreateRow_CreateRow_Stub(ICreateRow
* This
, IUnknown
*pUnkOuter
, LPCOLESTR pwszURL
, DBBINDURLFLAG dwBindURLFlags
,
589 REFGUID rguid
, REFIID riid
, IAuthenticate
*pAuthenticate
, IUnknown
*pSessionUnkOuter
,
590 IID
*piid
, IUnknown
**ppSession
, DBBINDURLSTATUS
*pdwBindStatus
,
591 LPOLESTR
*ppwszNewURL
, IUnknown
**ppUnk
)
594 DBIMPLICITSESSION impl_session
;
595 IWineRowServer
*row_server
;
599 TRACE("(%p, %p, %s, %08x, %s, %s, %p, %p, %p, %p, %p, %p, %p)\n", This
, pUnkOuter
, debugstr_w(pwszURL
), dwBindURLFlags
,
600 debugstr_guid(rguid
), debugstr_guid(riid
), pAuthenticate
, pSessionUnkOuter
, piid
, ppSession
, pdwBindStatus
, ppwszNewURL
,
605 hr
= CoCreateInstance(&CLSID_wine_row_server
, NULL
, CLSCTX_INPROC_SERVER
, &IID_IWineRowServer
, (void**)&row_server
);
606 if(FAILED(hr
)) return hr
;
608 impl_session
.pUnkOuter
= pSessionUnkOuter
;
609 impl_session
.piid
= piid
;
610 impl_session
.pSession
= NULL
;
612 IWineRowServer_GetMarshal(row_server
, &marshal
);
614 hr
= ICreateRow_CreateRow(This
, (IUnknown
*) marshal
, pwszURL
, dwBindURLFlags
, rguid
, &IID_IUnknown
, pAuthenticate
,
615 ppSession
? &impl_session
: NULL
, pdwBindStatus
, ppwszNewURL
, &obj
);
616 IMarshal_Release(marshal
);
620 IWineRowServer_Release(row_server
);
624 IWineRowServer_SetInnerUnk(row_server
, obj
);
625 hr
= IUnknown_QueryInterface(obj
, riid
, (void**)ppUnk
);
626 IUnknown_Release(obj
);
628 if(ppSession
) *ppSession
= impl_session
.pSession
;
632 HRESULT CALLBACK
IAccessor_AddRefAccessor_Proxy(IAccessor
* This
, HACCESSOR hAccessor
, DBREFCOUNT
*pcRefCount
)
634 FIXME("(%p)->(%08lx, %p): stub\n", This
, hAccessor
, pcRefCount
);
638 HRESULT __RPC_STUB
IAccessor_AddRefAccessor_Stub(IAccessor
* This
, HACCESSOR hAccessor
, DBREFCOUNT
*pcRefCount
,
639 IErrorInfo
**ppErrorInfoRem
)
641 FIXME("(%p)->(%08lx, %p, %p): stub\n", This
, hAccessor
, pcRefCount
, ppErrorInfoRem
);
645 HRESULT CALLBACK
IAccessor_CreateAccessor_Proxy(IAccessor
* This
, DBACCESSORFLAGS dwAccessorFlags
, DBCOUNTITEM cBindings
,
646 const DBBINDING rgBindings
[], DBLENGTH cbRowSize
, HACCESSOR
*phAccessor
,
647 DBBINDSTATUS rgStatus
[])
653 TRACE("(%p)->(%08x, %ld, %p, %ld, %p, %p)\n", This
, dwAccessorFlags
, cBindings
, rgBindings
,
654 cbRowSize
, phAccessor
, rgStatus
);
656 for(i
= 0; i
< cBindings
; i
++)
658 TRACE("%ld: ord %ld val off %ld len off %ld stat off %ld part %04x mem_owner %d max_len %ld type %04x\n",
659 i
, rgBindings
[i
].iOrdinal
, rgBindings
[i
].obValue
, rgBindings
[i
].obLength
, rgBindings
[i
].obStatus
,
660 rgBindings
[i
].dwPart
, rgBindings
[i
].dwMemOwner
, rgBindings
[i
].cbMaxLen
, rgBindings
[i
].wType
);
663 hr
= IAccessor_RemoteCreateAccessor_Proxy(This
, dwAccessorFlags
, cBindings
, (DBBINDING
*)rgBindings
,
664 cbRowSize
, phAccessor
, rgStatus
, &error
);
667 SetErrorInfo(0, error
);
668 IErrorInfo_Release(error
);
671 TRACE("returning %08x accessor %lx\n", hr
, *phAccessor
);
675 HRESULT __RPC_STUB
IAccessor_CreateAccessor_Stub(IAccessor
* This
, DBACCESSORFLAGS dwAccessorFlags
, DBCOUNTITEM cBindings
,
676 DBBINDING
*rgBindings
, DBLENGTH cbRowSize
, HACCESSOR
*phAccessor
,
677 DBBINDSTATUS
*rgStatus
, IErrorInfo
**ppErrorInfoRem
)
681 TRACE("(%p)->(%08x, %ld, %p, %ld, %p, %p, %p)\n", This
, dwAccessorFlags
, cBindings
, rgBindings
,
682 cbRowSize
, phAccessor
, rgStatus
, ppErrorInfoRem
);
684 *ppErrorInfoRem
= NULL
;
685 hr
= IAccessor_CreateAccessor(This
, dwAccessorFlags
, cBindings
, rgBindings
,
686 cbRowSize
, phAccessor
, rgStatus
);
687 if(FAILED(hr
)) GetErrorInfo(0, ppErrorInfoRem
);
692 HRESULT CALLBACK
IAccessor_GetBindings_Proxy(IAccessor
* This
, HACCESSOR hAccessor
, DBACCESSORFLAGS
*pdwAccessorFlags
,
693 DBCOUNTITEM
*pcBindings
, DBBINDING
**prgBindings
)
695 FIXME("(%p): stub\n", This
);
699 HRESULT __RPC_STUB
IAccessor_GetBindings_Stub(IAccessor
* This
, HACCESSOR hAccessor
, DBACCESSORFLAGS
*pdwAccessorFlags
,
700 DBCOUNTITEM
*pcBindings
, DBBINDING
**prgBindings
, IErrorInfo
**ppErrorInfoRem
)
702 FIXME("(%p): stub\n", This
);
706 HRESULT CALLBACK
IAccessor_ReleaseAccessor_Proxy(IAccessor
* This
, HACCESSOR hAccessor
, DBREFCOUNT
*pcRefCount
)
712 TRACE("(%p)->(%lx, %p)\n", This
, hAccessor
, pcRefCount
);
714 hr
= IAccessor_RemoteReleaseAccessor_Proxy(This
, hAccessor
, &ref
, &error
);
716 if(pcRefCount
) *pcRefCount
= ref
;
719 SetErrorInfo(0, error
);
720 IErrorInfo_Release(error
);
725 HRESULT __RPC_STUB
IAccessor_ReleaseAccessor_Stub(IAccessor
* This
, HACCESSOR hAccessor
, DBREFCOUNT
*pcRefCount
,
726 IErrorInfo
**ppErrorInfoRem
)
730 TRACE("(%p)->(%lx, %p, %p)\n", This
, hAccessor
, pcRefCount
, ppErrorInfoRem
);
732 *ppErrorInfoRem
= NULL
;
734 hr
= IAccessor_ReleaseAccessor(This
, hAccessor
, pcRefCount
);
736 if(FAILED(hr
)) GetErrorInfo(0, ppErrorInfoRem
);
740 HRESULT CALLBACK
IRowsetInfo_GetProperties_Proxy(IRowsetInfo
* This
, const ULONG cPropertyIDSets
, const DBPROPIDSET rgPropertyIDSets
[],
741 ULONG
*pcPropertySets
, DBPROPSET
**prgPropertySets
)
747 TRACE("(%p)->(%d, %p, %p, %p)\n", This
, cPropertyIDSets
, rgPropertyIDSets
, pcPropertySets
, prgPropertySets
);
749 for(i
= 0; i
< cPropertyIDSets
; i
++)
752 TRACE("%d: %s %d props\n", i
, debugstr_guid(&rgPropertyIDSets
[i
].guidPropertySet
), rgPropertyIDSets
[i
].cPropertyIDs
);
753 for(j
= 0; j
< rgPropertyIDSets
[i
].cPropertyIDs
; j
++)
754 TRACE("\t%u: prop id %d\n", j
, rgPropertyIDSets
[i
].rgPropertyIDs
[j
]);
757 hr
= IRowsetInfo_RemoteGetProperties_Proxy(This
, cPropertyIDSets
, rgPropertyIDSets
, pcPropertySets
, prgPropertySets
, &error
);
761 SetErrorInfo(0, error
);
762 IErrorInfo_Release(error
);
767 HRESULT __RPC_STUB
IRowsetInfo_GetProperties_Stub(IRowsetInfo
* This
, ULONG cPropertyIDSets
, const DBPROPIDSET
*rgPropertyIDSets
,
768 ULONG
*pcPropertySets
, DBPROPSET
**prgPropertySets
, IErrorInfo
**ppErrorInfoRem
)
772 TRACE("(%p)->(%d, %p, %p, %p, %p)\n", This
, cPropertyIDSets
, rgPropertyIDSets
, pcPropertySets
, prgPropertySets
, ppErrorInfoRem
);
774 *ppErrorInfoRem
= NULL
;
776 hr
= IRowsetInfo_GetProperties(This
, cPropertyIDSets
, rgPropertyIDSets
, pcPropertySets
, prgPropertySets
);
777 if(FAILED(hr
)) GetErrorInfo(0, ppErrorInfoRem
);
778 TRACE("returning %08x\n", hr
);
782 HRESULT CALLBACK
IRowsetInfo_GetReferencedRowset_Proxy(IRowsetInfo
* This
, DBORDINAL iOrdinal
, REFIID riid
, IUnknown
**ppReferencedRowset
)
784 FIXME("(%p)->(%ld, %s, %p): stub\n", This
, iOrdinal
, debugstr_guid(riid
), ppReferencedRowset
);
788 HRESULT __RPC_STUB
IRowsetInfo_GetReferencedRowset_Stub(IRowsetInfo
* This
, DBORDINAL iOrdinal
, REFIID riid
, IUnknown
**ppReferencedRowset
,
789 IErrorInfo
**ppErrorInfoRem
)
791 FIXME("(%p)->(%ld, %s, %p, %p): stub\n", This
, iOrdinal
, debugstr_guid(riid
), ppReferencedRowset
, ppErrorInfoRem
);
795 HRESULT CALLBACK
IRowsetInfo_GetSpecification_Proxy(IRowsetInfo
* This
, REFIID riid
, IUnknown
**ppSpecification
)
797 FIXME("(%p)->(%s, %p): stub\n", This
, debugstr_guid(riid
), ppSpecification
);
801 HRESULT __RPC_STUB
IRowsetInfo_GetSpecification_Stub(IRowsetInfo
* This
, REFIID riid
, IUnknown
**ppSpecification
, IErrorInfo
**ppErrorInfoRem
)
803 FIXME("(%p)->(%s, %p, %p): stub\n", This
, debugstr_guid(riid
), ppSpecification
, ppErrorInfoRem
);
807 HRESULT CALLBACK
ICommand_Cancel_Proxy(ICommand
* This
)
809 FIXME("(%p): stub\n", This
);
813 HRESULT __RPC_STUB
ICommand_Cancel_Stub(ICommand
* This
, IErrorInfo
**ppErrorInfoRem
)
815 FIXME("(%p)->(%p): stub\n", This
, ppErrorInfoRem
);
819 HRESULT CALLBACK
ICommand_Execute_Proxy(ICommand
* This
, IUnknown
*pUnkOuter
, REFIID riid
,
820 DBPARAMS
*pParams
, DBROWCOUNT
*pcRowsAffected
, IUnknown
**ppRowset
)
827 TRACE("(%p)->(%p, %s, %p, %p, %p)\n", This
, pUnkOuter
, debugstr_guid(riid
), pParams
,
828 pcRowsAffected
, ppRowset
);
832 FIXME("Unhandled params {%p, %ld, %08lx}\n", pParams
->pData
, pParams
->cParamSets
, pParams
->hAccessor
);
838 FIXME("Aggregation not supported\n");
839 return CLASS_E_NOAGGREGATION
;
842 hr
= ICommand_RemoteExecute_Proxy(This
, pUnkOuter
, riid
, 0, 0, NULL
, 0, NULL
, NULL
, 0, NULL
, NULL
, &affected
,
845 TRACE("Execute returns %08x\n", hr
);
847 if(pcRowsAffected
) *pcRowsAffected
= affected
;
852 HRESULT __RPC_STUB
ICommand_Execute_Stub(ICommand
* This
, IUnknown
*pUnkOuter
, REFIID riid
, HACCESSOR hAccessor
,
853 DB_UPARAMS cParamSets
, GUID
*pGuid
, ULONG ulGuidOffset
, RMTPACK
*pInputParams
,
854 RMTPACK
*pOutputParams
, DBCOUNTITEM cBindings
, DBBINDING
*rgBindings
,
855 DBSTATUS
*rgStatus
, DBROWCOUNT
*pcRowsAffected
, IUnknown
**ppRowset
)
857 IWineRowServer
*rowset_server
;
859 IUnknown
*obj
= NULL
;
862 TRACE("(%p)->(%p, %s, %08lx, %ld, %p, %d, %p, %p, %ld, %p, %p, %p, %p)\n", This
, pUnkOuter
, debugstr_guid(riid
),
863 hAccessor
, cParamSets
, pGuid
, ulGuidOffset
, pInputParams
, pOutputParams
, cBindings
, rgBindings
, rgStatus
,
864 pcRowsAffected
, ppRowset
);
868 hr
= CoCreateInstance(&CLSID_wine_rowset_server
, NULL
, CLSCTX_INPROC_SERVER
, &IID_IWineRowServer
, (void**)&rowset_server
);
869 if(FAILED(hr
)) return hr
;
871 IWineRowServer_GetMarshal(rowset_server
, &marshal
);
873 hr
= ICommand_Execute(This
, (IUnknown
*)marshal
, &IID_IUnknown
, NULL
, pcRowsAffected
, &obj
);
875 IMarshal_Release(marshal
);
879 IWineRowServer_Release(rowset_server
);
883 IWineRowServer_SetInnerUnk(rowset_server
, obj
);
884 hr
= IUnknown_QueryInterface(obj
, riid
, (void**)ppRowset
);
885 IUnknown_Release(obj
);
890 HRESULT CALLBACK
ICommand_GetDBSession_Proxy(ICommand
* This
, REFIID riid
, IUnknown
**ppSession
)
892 FIXME("(%p)->(%s, %p): stub\n", This
, debugstr_guid(riid
), ppSession
);
896 HRESULT __RPC_STUB
ICommand_GetDBSession_Stub(ICommand
* This
, REFIID riid
, IUnknown
**ppSession
, IErrorInfo
**ppErrorInfoRem
)
898 FIXME("(%p)->(%s, %p, %p): stub\n", This
, debugstr_guid(riid
), ppSession
, ppErrorInfoRem
);
902 HRESULT CALLBACK
ICommandText_GetCommandText_Proxy(ICommandText
* This
, GUID
*pguidDialect
, LPOLESTR
*ppwszCommand
)
904 FIXME("(%p)->(%p, %p): stub\n", This
, pguidDialect
, ppwszCommand
);
908 HRESULT __RPC_STUB
ICommandText_GetCommandText_Stub(ICommandText
* This
, GUID
*pguidDialect
,
909 LPOLESTR
*ppwszCommand
, IErrorInfo
**ppErrorInfoRem
)
911 FIXME("(%p)->(%p, %p, %p): stub\n", This
, pguidDialect
, ppwszCommand
, ppErrorInfoRem
);
915 HRESULT CALLBACK
ICommandText_SetCommandText_Proxy(ICommandText
* This
, REFGUID rguidDialect
, LPCOLESTR pwszCommand
)
920 TRACE("(%p)->(%s, %s)\n", This
, debugstr_guid(rguidDialect
), debugstr_w(pwszCommand
));
922 hr
= ICommandText_RemoteSetCommandText_Proxy(This
, rguidDialect
, pwszCommand
, &error
);
925 SetErrorInfo(0, error
);
926 IErrorInfo_Release(error
);
931 HRESULT __RPC_STUB
ICommandText_SetCommandText_Stub(ICommandText
* This
, REFGUID rguidDialect
, LPCOLESTR pwszCommand
,
932 IErrorInfo
**ppErrorInfoRem
)
936 TRACE("(%p)->(%s, %s, %p)\n", This
, debugstr_guid(rguidDialect
), debugstr_w(pwszCommand
),
939 *ppErrorInfoRem
= NULL
;
940 hr
= ICommandText_SetCommandText(This
, rguidDialect
, pwszCommand
);
941 if(FAILED(hr
)) GetErrorInfo(0, ppErrorInfoRem
);
946 HRESULT CALLBACK
IDBAsynchNotify_OnLowResource_Proxy(IDBAsynchNotify
* This
, DB_DWRESERVE dwReserved
)
948 FIXME("(%p)->(%08lx): stub\n", This
, dwReserved
);
952 HRESULT __RPC_STUB
IDBAsynchNotify_OnLowResource_Stub(IDBAsynchNotify
* This
, DB_DWRESERVE dwReserved
)
954 FIXME("(%p)->(%08lx): stub\n", This
, dwReserved
);
958 HRESULT CALLBACK
IDBAsynchNotify_OnProgress_Proxy(IDBAsynchNotify
* This
, HCHAPTER hChapter
, DBASYNCHOP eOperation
,
959 DBCOUNTITEM ulProgress
, DBCOUNTITEM ulProgressMax
, DBASYNCHPHASE eAsynchPhase
,
960 LPOLESTR pwszStatusText
)
962 TRACE("(%p)->(%lx, %d, %ld, %ld, %d, %s)\n", This
, hChapter
, eOperation
, ulProgress
, ulProgressMax
,
963 eAsynchPhase
, debugstr_w(pwszStatusText
));
965 return IDBAsynchNotify_RemoteOnProgress_Proxy(This
, hChapter
, eOperation
, ulProgress
, ulProgressMax
, eAsynchPhase
,
969 HRESULT __RPC_STUB
IDBAsynchNotify_OnProgress_Stub(IDBAsynchNotify
* This
, HCHAPTER hChapter
, DBASYNCHOP eOperation
,
970 DBCOUNTITEM ulProgress
, DBCOUNTITEM ulProgressMax
, DBASYNCHPHASE eAsynchPhase
,
971 LPOLESTR pwszStatusText
)
973 TRACE("(%p)->(%lx, %d, %ld, %ld, %d, %s)\n", This
, hChapter
, eOperation
, ulProgress
, ulProgressMax
,
974 eAsynchPhase
, debugstr_w(pwszStatusText
));
975 return IDBAsynchNotify_OnProgress(This
, hChapter
, eOperation
, ulProgress
, ulProgressMax
, eAsynchPhase
,
979 HRESULT CALLBACK
IDBAsynchNotify_OnStop_Proxy(IDBAsynchNotify
* This
, HCHAPTER hChapter
, DBASYNCHOP eOperation
,
980 HRESULT hrStatus
, LPOLESTR pwszStatusText
)
982 TRACE("(%p)->(%lx, %d, %08x, %s)\n", This
, hChapter
, eOperation
, hrStatus
, debugstr_w(pwszStatusText
));
983 return IDBAsynchNotify_RemoteOnStop_Proxy(This
, hChapter
, eOperation
, hrStatus
, pwszStatusText
);
986 HRESULT __RPC_STUB
IDBAsynchNotify_OnStop_Stub(IDBAsynchNotify
* This
, HCHAPTER hChapter
, DBASYNCHOP eOperation
,
987 HRESULT hrStatus
, LPOLESTR pwszStatusText
)
989 TRACE("(%p)->(%lx, %d, %08x, %s)\n", This
, hChapter
, eOperation
, hrStatus
, debugstr_w(pwszStatusText
));
990 return IDBAsynchNotify_OnStop(This
, hChapter
, eOperation
, hrStatus
, pwszStatusText
);
993 HRESULT CALLBACK
IDBAsynchStatus_Abort_Proxy(IDBAsynchStatus
* This
, HCHAPTER hChapter
, DBASYNCHOP eOperation
)
995 FIXME("(%p)->(%lx, %d): stub\n", This
, hChapter
, eOperation
);
999 HRESULT __RPC_STUB
IDBAsynchStatus_Abort_Stub(IDBAsynchStatus
* This
, HCHAPTER hChapter
, DBASYNCHOP eOperation
,
1000 IErrorInfo
**ppErrorInfoRem
)
1002 FIXME("(%p)->(%lx, %d, %p): stub\n", This
, hChapter
, eOperation
, ppErrorInfoRem
);
1006 HRESULT CALLBACK
IDBAsynchStatus_GetStatus_Proxy(IDBAsynchStatus
* This
, HCHAPTER hChapter
, DBASYNCHOP eOperation
,
1007 DBCOUNTITEM
*pulProgress
, DBCOUNTITEM
*pulProgressMax
, DBASYNCHPHASE
*peAsynchPhase
,
1008 LPOLESTR
*ppwszStatusText
)
1010 FIXME("(%p)->(%lx, %d, %p, %p, %p, %p): stub\n", This
, hChapter
, eOperation
, pulProgress
, pulProgressMax
,
1011 peAsynchPhase
, ppwszStatusText
);
1015 HRESULT __RPC_STUB
IDBAsynchStatus_GetStatus_Stub(IDBAsynchStatus
* This
, HCHAPTER hChapter
, DBASYNCHOP eOperation
,
1016 DBCOUNTITEM
*pulProgress
, DBCOUNTITEM
*pulProgressMax
, DBASYNCHPHASE
*peAsynchPhase
,
1017 LPOLESTR
*ppwszStatusText
, IErrorInfo
**ppErrorInfoRem
)
1019 FIXME("(%p)->(%lx, %d, %p, %p, %p, %p, %p): stub\n", This
, hChapter
, eOperation
, pulProgress
, pulProgressMax
,
1020 peAsynchPhase
, ppwszStatusText
, ppErrorInfoRem
);
1024 HRESULT CALLBACK
IRowsetNotify_OnRowChange_Proxy(IRowsetNotify
* This
, IRowset
*rowset
, DBCOUNTITEM rows
, HROW
*hrows
, DBREASON reason
,
1025 DBEVENTPHASE phase
, BOOL cantdeny
)
1027 TRACE("(%p)->(%p %ld %p %d %d %d)\n", This
, rowset
, rows
, hrows
, reason
, phase
, cantdeny
);
1028 return IRowsetNotify_RemoteOnRowChange_Proxy(This
, rowset
, rows
, hrows
, reason
, phase
, cantdeny
);
1031 HRESULT __RPC_STUB
IRowsetNotify_OnRowChange_Stub(IRowsetNotify
* This
, IRowset
*rowset
, DBCOUNTITEM rows
, HROW
*hrows
, DBREASON reason
,
1032 DBEVENTPHASE phase
, BOOL cantdeny
)
1034 TRACE("(%p)->(%p %ld %p %d %d %d)\n", This
, rowset
, rows
, hrows
, reason
, phase
, cantdeny
);
1035 return IRowsetNotify_OnRowChange(This
, rowset
, rows
, hrows
, reason
, phase
, cantdeny
);
1038 HRESULT CALLBACK
IRowsetNotify_OnFieldChange_Proxy(IRowsetNotify
* This
, IRowset
*rowset
, HROW row
, DBORDINAL ccols
, DBORDINAL
*columns
,
1039 DBREASON reason
, DBEVENTPHASE phase
, BOOL cantdeny
)
1041 TRACE("(%p)->(%p %lx %ld %p %d %d %d)\n", This
, rowset
, row
, ccols
, columns
, reason
, phase
, cantdeny
);
1042 return IRowsetNotify_RemoteOnFieldChange_Proxy(This
, rowset
, row
, ccols
, columns
, reason
, phase
, cantdeny
);
1045 HRESULT __RPC_STUB
IRowsetNotify_OnFieldChange_Stub(IRowsetNotify
* This
, IRowset
*rowset
, HROW row
, DBORDINAL ccols
, DBORDINAL
*columns
,
1046 DBREASON reason
, DBEVENTPHASE phase
, BOOL cantdeny
)
1048 TRACE("(%p)->(%p %lx %ld %p %d %d %d)\n", This
, rowset
, row
, ccols
, columns
, reason
, phase
, cantdeny
);
1049 return IRowsetNotify_OnFieldChange(This
, rowset
, row
, ccols
, columns
, reason
, phase
, cantdeny
);
1052 HRESULT CALLBACK
IRowsetNotify_OnRowsetChange_Proxy(IRowsetNotify
* This
, IRowset
*rowset
, DBREASON reason
, DBEVENTPHASE phase
, BOOL cantdeny
)
1054 TRACE("(%p)->(%p %d %d %d)\n", This
, rowset
, reason
, phase
, cantdeny
);
1055 return IRowsetNotify_RemoteOnRowsetChange_Proxy(This
, rowset
, reason
, phase
, cantdeny
);
1058 HRESULT __RPC_STUB
IRowsetNotify_OnRowsetChange_Stub(IRowsetNotify
* This
, IRowset
*rowset
, DBREASON reason
, DBEVENTPHASE phase
, BOOL cantdeny
)
1060 TRACE("(%p)->(%p %d %d %d)\n", This
, rowset
, reason
, phase
, cantdeny
);
1061 return IRowsetNotify_OnRowsetChange(This
, rowset
, reason
, phase
, cantdeny
);