-- v3: include: Add rstidn.idl
From: Alistair Leslie-Hughes leslie_alistair@hotmail.com
--- include/Makefile.in | 1 + include/oledb.idl | 1 + include/rstscr.idl | 37 +++++++++++++++++++++++++++++++++++++ 3 files changed, 39 insertions(+) create mode 100644 include/rstscr.idl
diff --git a/include/Makefile.in b/include/Makefile.in index 0d8601d9ea9..e8018ab601c 100644 --- a/include/Makefile.in +++ b/include/Makefile.in @@ -682,6 +682,7 @@ SOURCES = \ rstinf.idl \ rstloc.idl \ rstnot.idl \ + rstscr.idl \ rstupd.idl \ rtlsupportapi.h \ rtutils.h \ diff --git a/include/oledb.idl b/include/oledb.idl index ce8aa74138a..e8cc5df609f 100644 --- a/include/oledb.idl +++ b/include/oledb.idl @@ -48,6 +48,7 @@ typedef LONG_PTR DB_LRESERVE; #include "rstbas.idl" #include "rstinf.idl" #include "rstloc.idl" +#include "rstscr.idl" #include "chprst.idl" #include "cmdbas.idl" #include "cmdtxt.idl" diff --git a/include/rstscr.idl b/include/rstscr.idl new file mode 100644 index 00000000000..fc7c34503b6 --- /dev/null +++ b/include/rstscr.idl @@ -0,0 +1,37 @@ +/* + * Copyright (C) 2024 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 + +[ + local, + object, + uuid(0c733a7e-2a1c-11ce-ade5-00aa0044773d), + pointer_default(unique) +] +interface IRowsetScroll : IRowsetLocate +{ + HRESULT GetApproximatePosition( [in] HCHAPTER reserved, [in] DBBKMARK cnt, [in, size_is(cnt)] const BYTE *bookmarks, + [out] DBCOUNTITEM *position, [out] DBCOUNTITEM *rows); + + HRESULT GetRowsAtRatio( [in] HWATCHREGION reserved1, [in] HCHAPTER reserved2, [in] DBCOUNTITEM numerator, + [in] DBCOUNTITEM Denominator, [in] DBROWCOUNT rows_cnt, [out] DBCOUNTITEM *obtained, + [out, size_is(,rows_cnt)] HROW **rows); +}
From: Alistair Leslie-Hughes leslie_alistair@hotmail.com
--- include/Makefile.in | 1 + include/oledb.idl | 1 + include/rstxsc.idl | 33 +++++++++++++++++++++++++++++++++ 3 files changed, 35 insertions(+) create mode 100644 include/rstxsc.idl
diff --git a/include/Makefile.in b/include/Makefile.in index e8018ab601c..d189f78162f 100644 --- a/include/Makefile.in +++ b/include/Makefile.in @@ -684,6 +684,7 @@ SOURCES = \ rstnot.idl \ rstscr.idl \ rstupd.idl \ + rstxsc.idl \ rtlsupportapi.h \ rtutils.h \ rtworkq.idl \ diff --git a/include/oledb.idl b/include/oledb.idl index e8cc5df609f..ff8ac71ebcf 100644 --- a/include/oledb.idl +++ b/include/oledb.idl @@ -49,6 +49,7 @@ typedef LONG_PTR DB_LRESERVE; #include "rstinf.idl" #include "rstloc.idl" #include "rstscr.idl" +#include "rstxsc.idl" #include "chprst.idl" #include "cmdbas.idl" #include "cmdtxt.idl" diff --git a/include/rstxsc.idl b/include/rstxsc.idl new file mode 100644 index 00000000000..2d4cb2f5bec --- /dev/null +++ b/include/rstxsc.idl @@ -0,0 +1,33 @@ +/* + * Copyright (C) 2024 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 + +[ + local, + object, + uuid(0c733a7f-2a1c-11ce-ade5-00aa0044773d), + pointer_default(unique) +] +interface IRowsetExactScroll : IRowsetScroll +{ + HRESULT GetExactPosition([in] HCHAPTER chapter, [in] DBBKMARK bookmark_cnt, [in, size_is(bookmark_cnt)] const BYTE *bookmarks, + [out] DBCOUNTITEM *position, [out] DBCOUNTITEM *rows); +}
From: Alistair Leslie-Hughes leslie_alistair@hotmail.com
--- include/Makefile.in | 1 + include/dbs.idl | 17 +++++++++++++++++ include/oledb.idl | 1 + include/rstfnd.idl | 35 +++++++++++++++++++++++++++++++++++ 4 files changed, 54 insertions(+) create mode 100644 include/rstfnd.idl
diff --git a/include/Makefile.in b/include/Makefile.in index d189f78162f..2d60264c905 100644 --- a/include/Makefile.in +++ b/include/Makefile.in @@ -679,6 +679,7 @@ SOURCES = \ rpcsal.h \ rstbas.idl \ rstchg.idl \ + rstfnd.idl \ rstinf.idl \ rstloc.idl \ rstnot.idl \ diff --git a/include/dbs.idl b/include/dbs.idl index 34e58e5a5d0..8b137453bfb 100644 --- a/include/dbs.idl +++ b/include/dbs.idl @@ -755,6 +755,23 @@ enum DBASYNCHOPENUM DBSYNCHOP_OPEN, };
+typedef DWORD DBCOMPAREOP; + +enum DBCOMPAREOPSENUM +{ + DBCOMPAREOPS_LT, + DBCOMPAREOPS_LE, + DBCOMPAREOPS_EQ, + DBCOMPAREOPS_GE, + DBCOMPAREOPS_GT, + DBCOMPAREOPS_BEGINSWITH, + DBCOMPAREOPS_CONTAINS, + DBCOMPAREOPS_NE, + DBCOMPAREOPS_IGNORE, + DBCOMPAREOPS_CASESENSITIVE = 0x1000, + DBCOMPAREOPS_CASEINSENSITIVE = 0x2000 +}; + typedef DWORD DBASYNCHPHASE;
enum DBASYNCHPHASEENUM diff --git a/include/oledb.idl b/include/oledb.idl index ff8ac71ebcf..7ef6ea12500 100644 --- a/include/oledb.idl +++ b/include/oledb.idl @@ -51,6 +51,7 @@ typedef LONG_PTR DB_LRESERVE; #include "rstscr.idl" #include "rstxsc.idl" #include "chprst.idl" +#include "rstfnd.idl" #include "cmdbas.idl" #include "cmdtxt.idl" #include "colinf.idl" diff --git a/include/rstfnd.idl b/include/rstfnd.idl new file mode 100644 index 00000000000..6e845d044a9 --- /dev/null +++ b/include/rstfnd.idl @@ -0,0 +1,35 @@ +/* + * Copyright (C) 2024 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 + +[ + local, + object, + uuid(0c733a9d-2a1c-11ce-ade5-00aa0044773d), + pointer_default(unique) +] +interface IRowsetFind : IUnknown +{ + HRESULT FindNextRow([in] HCHAPTER chapter, [in] HACCESSOR accessor, [in] void *find_value, + [in] DBCOMPAREOP compare_op, [in] DBBKMARK cbBookmark, [in, size_is(cbBookmark)] const BYTE *bookmarks, + [in] DBROWOFFSET offset, [in] DBROWCOUNT rows, [in, out] DBCOUNTITEM *obtained, + [out, size_is(,*pcRowsObtained)] HROW **hrows ); +}
From: Alistair Leslie-Hughes leslie_alistair@hotmail.com
--- dlls/msdaps/usrmarshal.c | 13 +++++++++++++ include/Makefile.in | 1 + include/oledb.idl | 1 + include/rstidn.idl | 36 ++++++++++++++++++++++++++++++++++++ 4 files changed, 51 insertions(+) create mode 100644 include/rstidn.idl
diff --git a/dlls/msdaps/usrmarshal.c b/dlls/msdaps/usrmarshal.c index 48308c7ee71..3aeaa38629a 100644 --- a/dlls/msdaps/usrmarshal.c +++ b/dlls/msdaps/usrmarshal.c @@ -1810,3 +1810,16 @@ HRESULT __RPC_STUB ITransactionObject_GetTransactionObject_Stub(ITransactionObje FIXME("(%p)->(%ld, %p, %p): stub\n", This, level, transaction, info); return E_NOTIMPL; } + +HRESULT CALLBACK IRowsetIdentity_IsSameRow_Proxy(IRowsetIdentity* This, HROW hThisRow, HROW hThatRow) +{ + FIXME("(%p)->(%Id, %Id): stub\n", This, hThisRow, hThatRow); + return E_NOTIMPL; +} + +HRESULT __RPC_STUB IRowsetIdentity_IsSameRow_Stub(IRowsetIdentity* This, HROW hThisRow, + HROW hThatRow, IErrorInfo **error_info) +{ + FIXME("(%p)->(%Id, %Id, %p): stub\n", This, hThisRow, hThatRow, error_info); + return E_NOTIMPL; +} diff --git a/include/Makefile.in b/include/Makefile.in index 2d60264c905..29e62859633 100644 --- a/include/Makefile.in +++ b/include/Makefile.in @@ -680,6 +680,7 @@ SOURCES = \ rstbas.idl \ rstchg.idl \ rstfnd.idl \ + rstidn.idl \ rstinf.idl \ rstloc.idl \ rstnot.idl \ diff --git a/include/oledb.idl b/include/oledb.idl index 7ef6ea12500..f123e3e3c9d 100644 --- a/include/oledb.idl +++ b/include/oledb.idl @@ -81,6 +81,7 @@ typedef LONG_PTR DB_LRESERVE; #include "cmdpre.idl" #include "rstchg.idl" #include "rstupd.idl" +#include "rstidn.idl" #include "mulres.idl" #include "transact.idl" #include "trnjoi.idl" diff --git a/include/rstidn.idl b/include/rstidn.idl new file mode 100644 index 00000000000..f66a6794511 --- /dev/null +++ b/include/rstidn.idl @@ -0,0 +1,36 @@ +/* + * Copyright (C) 2024 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(0c733a09-2a1c-11ce-ade5-00aa0044773d), + pointer_default(unique) +] +interface IRowsetIdentity : IUnknown +{ + [local] + HRESULT IsSameRow([in] HROW hThisRow, [in] HROW hThatRow); + + [call_as(IsSameRow)] + HRESULT RemoteIsSameRow( [in] HROW hThisRow, [in] HROW hThatRow, [out] IErrorInfo **error_info); +}
Hi,
It looks like your patch introduced the new failures shown below. Please investigate and fix them before resubmitting your patch. If they are not new, fixing them anyway would help a lot. Otherwise please ask for the known failures list to be updated.
The tests also ran into some preexisting test failures. If you know how to fix them that would be helpful. See the TestBot job for the details:
The full results can be found at: https://testbot.winehq.org/JobDetails.pl?Key=149309
Your paranoid android.
=== debian11b (64 bit WoW report) ===
winhttp: notification.c:118: Test failed: 1090: expected status 0x80000 got 0x200000