Signed-off-by: Alistair Leslie-Hughes <leslie_alistair(a)hotmail.com>
---
dlls/msdaps/usrmarshal.c | 27 ++++++++++++++++++++++++++
include/Makefile.in | 1 +
include/oledb.idl | 1 +
include/trnlcl.idl | 41 ++++++++++++++++++++++++++++++++++++++++
4 files changed, 70 insertions(+)
create mode 100644 include/trnlcl.idl
diff --git a/dlls/msdaps/usrmarshal.c b/dlls/msdaps/usrmarshal.c
index dc0f2261096..e6ddf9b4885 100644
--- a/dlls/msdaps/usrmarshal.c
+++ b/dlls/msdaps/usrmarshal.c
@@ -1769,3 +1769,30 @@ HRESULT CALLBACK ITransactionJoin_JoinTransaction_Proxy(ITransactionJoin* This,
FIXME("(%p)->(%p, %d, 0x%08x, %p): stub\n", This, unk, level, flags, options);
return E_NOTIMPL;
}
+
+HRESULT __RPC_STUB ITransactionLocal_GetOptionsObject_Stub(ITransactionLocal* This,
+ ITransactionOptions **options, IErrorInfo **info)
+{
+ FIXME("(%p)->(%p, %p): stub\n", This, options, info);
+ return E_NOTIMPL;
+}
+
+HRESULT CALLBACK ITransactionLocal_GetOptionsObject_Proxy(ITransactionLocal* This, ITransactionOptions **options)
+{
+ FIXME("(%p)->(%p): stub\n", This, options);
+ return E_NOTIMPL;
+}
+
+HRESULT CALLBACK ITransactionLocal_StartTransaction_Proxy(ITransactionLocal* This, ISOLEVEL level,
+ ULONG flags, ITransactionOptions *options, ULONG *trans_level)
+{
+ FIXME("(%p)->(%d, 0x%08x, %p, %p): stub\n", This, level, flags, options, trans_level);
+ return E_NOTIMPL;
+}
+
+HRESULT __RPC_STUB ITransactionLocal_StartTransaction_Stub(ITransactionLocal* This, ISOLEVEL level,
+ ULONG flags, ITransactionOptions *options, ULONG *trans_level, IErrorInfo **info)
+{
+ FIXME("(%p)->(%d, 0x%08x, %p, %p, %p): stub\n", This, level, flags, options, trans_level, info);
+ return E_NOTIMPL;
+}
diff --git a/include/Makefile.in b/include/Makefile.in
index e5ae8429ed0..b965bdb9917 100644
--- a/include/Makefile.in
+++ b/include/Makefile.in
@@ -717,6 +717,7 @@ SOURCES = \
traffic.h \
transact.idl \
trnjoi.idl \
+ trnlcl.idl \
twain.h \
txcoord.idl \
txdtc.idl \
diff --git a/include/oledb.idl b/include/oledb.idl
index abd4d55069c..d7e56f222e6 100644
--- a/include/oledb.idl
+++ b/include/oledb.idl
@@ -81,6 +81,7 @@ typedef LONG_PTR DB_LRESERVE;
#include "mulres.idl"
#include "transact.idl"
#include "trnjoi.idl"
+#include "trnlcl.idl"
#include "cmdwpr.idl"
cpp_quote("#include <accctrl.h>")
diff --git a/include/trnlcl.idl b/include/trnlcl.idl
new file mode 100644
index 00000000000..5224997b38f
--- /dev/null
+++ b/include/trnlcl.idl
@@ -0,0 +1,41 @@
+/*
+ * Copyright (C) 2022 Alistair Leslie-Hughes
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+#if 0
+#pragma makedep install
+#endif
+
+[
+ object,
+ uuid(0c733a5f-2a1c-11ce-ade5-00aa0044773d),
+ pointer_default(unique)
+]
+interface ITransactionLocal : ITransaction
+{
+ [local]
+ HRESULT GetOptionsObject([out] ITransactionOptions **options);
+
+ [call_as(GetOptionsObject)]
+ HRESULT RemoteGetOptionsObject([out] ITransactionOptions **options, [out] IErrorInfo **info);
+
+ [local]
+ HRESULT StartTransaction([in] ISOLEVEL level, [in] ULONG flags, [in] ITransactionOptions *options, [out] ULONG *trans_level);
+
+ [call_as(StartTransaction)]
+ HRESULT RemoteStartTransaction([in] ISOLEVEL level, [in] ULONG flags, [in] ITransactionOptions *options,
+ [in, out] ULONG *trans_level, [out] IErrorInfo **info);
+}
--
2.34.1