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 ); +}