diff --git a/include/Makefile.in b/include/Makefile.in index f799f45b59e..66d8c0d1aee 100644 --- a/include/Makefile.in +++ b/include/Makefile.in @@ -402,6 +402,7 @@ SRCDIR_INCLUDES = \ rpcndr.h \ rpcnterr.h \ rpcproxy.h \ + rstbas.idl \ rstinf.idl \ rtutils.h \ scarderr.h \ diff --git a/include/oledb.idl b/include/oledb.idl index 3ef9241b72c..a1b4643d4f0 100644 --- a/include/oledb.idl +++ b/include/oledb.idl @@ -42,6 +42,7 @@ typedef LONG DB_LPARAMS; #include "dbs.idl" #include "access.idl" +#include "rstbas.idl" #include "rstinf.idl" #include "cmdbas.idl" #include "cmdtxt.idl" diff --git a/include/rstbas.idl b/include/rstbas.idl new file mode 100644 index 00000000000..94d23f1ee3b --- /dev/null +++ b/include/rstbas.idl @@ -0,0 +1,51 @@ +/* + * Copyright (C) 2009 Huw Davies + * + * 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 + */ + +[ + local, + object, + uuid(0c733a7c-2a1c-11ce-ade5-00aa0044773d), + pointer_default(unique) +] +interface IRowset : IUnknown +{ + typedef DWORD DBROWOPTIONS; + + HRESULT AddRefRows([in] DBCOUNTITEM cRows, + [in, size_is(cRows)] const HROW rghRows[], + [out, size_is(cRows)] DBREFCOUNT rgRefCounts[], + [out, size_is(cRows)] DBROWSTATUS rgRowStatus[]); + + HRESULT GetData([in] HROW hRow, + [in] HACCESSOR hAccessor, + [out] void *pData); + + HRESULT GetNextRows([in] HCHAPTER hReserved, + [in] DBROWOFFSET lRowsOffset, + [in] DBROWCOUNT cRows, + [out] DBCOUNTITEM *pcRowObtained, + [out, size_is(,cRows)] HROW **prghRows); + + HRESULT ReleaseRows([in] DBCOUNTITEM cRows, + [in, size_is(cRows)] const HROW rghRows[], + [in, size_is(cRows)] DBROWOPTIONS rgRowOptions[], + [out, size_is(cRows)] DBREFCOUNT rgRefCounts[], + [out, size_is(cRows)] DBROWSTATUS rgRowStatus[]); + + HRESULT RestartPosition([in] HCHAPTER hReserved); +} diff --git a/tools/make_makefiles b/tools/make_makefiles index fbf3150cd73..dadb3936fed 100755 --- a/tools/make_makefiles +++ b/tools/make_makefiles @@ -125,6 +125,7 @@ my %private_idl_headers = ( "devenum.idl" => 1, "dyngraph.idl" => 1, "opnrst.idl" => 1, + "rstbas.idl" => 1, "rstinf.idl" => 1, "sesprp.idl" => 1, "vmrender.idl" => 1,