regedit: Allow importing strings with escaped NULL.
[wine.git] / dlls / msdaps / row_server.idl
blob2434632009d7d6d16c0c1a6cbacf37d870a9aa88
1 /*
2 * Wine row server interface.
4 * Copyright (C) 2010 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
21 #pragma makedep proxy
22 #pragma makedep register
24 import "oledb.idl";
28 threading(both),
29 uuid(06210e88-01f5-11d1-b512-0080c781c384)
31 coclass PSFactoryBuffer { interface IFactoryBuffer; }
34 object,
35 uuid(38248178-cf6d-11de-abe5-000c2916d865),
36 pointer_default(unique)
38 interface IWineRowServer : IUnknown
40 [local] HRESULT SetInnerUnk([in] IUnknown *unknown);
42 [local] HRESULT GetMarshal([out] IMarshal **marshal);
45 /* IRow */
47 typedef struct
49 DBID columnid;
50 DBLENGTH max_len;
51 DBTYPE type;
52 BYTE precision;
53 BYTE scale;
54 } wine_getcolumns_in;
56 typedef struct
58 VARIANT v;
59 DBLENGTH data_len;
60 DBSTATUS status;
61 } wine_getcolumns_out;
63 HRESULT GetColumns([in] DBORDINAL num_cols,
64 [in, size_is((ULONG)num_cols)] wine_getcolumns_in *in_data,
65 [out, size_is((ULONG)num_cols)] wine_getcolumns_out *out_cols);
67 HRESULT GetSourceRowset([in] REFIID riid,
68 [out, iid_is(riid)] IUnknown **ppRowset,
69 [out] HROW *phRow);
71 HRESULT Open([in, unique] IUnknown *pUnkOuter,
72 [in] DBID *pColumnID,
73 [in] REFGUID rguidColumnType,
74 [in] DWORD dwBindFlags,
75 [in] REFIID riid,
76 [out, iid_is(riid)] IUnknown **ppUnk);
78 /* IRowChange */
79 typedef struct
81 VARIANT v;
82 DBID columnid;
83 DBLENGTH data_len;
84 DBSTATUS status;
85 DBLENGTH max_len;
86 DBTYPE type;
87 BYTE precision;
88 BYTE scale;
89 } wine_setcolumns_in;
91 HRESULT SetColumns([in] DBORDINAL num_cols,
92 [in, size_is((ULONG)num_cols)] wine_setcolumns_in *in_data,
93 [out, size_is((ULONG)num_cols)] DBSTATUS *status);
95 /* IRowset */
96 HRESULT AddRefRows([in] DBCOUNTITEM cRows,
97 [in, size_is((ULONG)cRows)] const HROW rghRows[],
98 [out, size_is((ULONG)cRows)] DBREFCOUNT rgRefCounts[],
99 [out, size_is((ULONG)cRows)] DBROWSTATUS rgRowStatus[]);
101 HRESULT GetData([in] HROW hRow,
102 [in] HACCESSOR hAccessor,
103 [in, out, size_is(size)] BYTE *pData,
104 [in] DWORD size);
106 HRESULT GetNextRows([in] HCHAPTER hReserved,
107 [in] DBROWOFFSET lRowsOffset,
108 [in] DBROWCOUNT cRows,
109 [out] DBCOUNTITEM *pcRowObtained,
110 [out, size_is(,(ULONG)cRows)] HROW **prghRows);
112 HRESULT ReleaseRows([in] DBCOUNTITEM cRows,
113 [in, size_is((ULONG)cRows)] const HROW rghRows[],
114 [in, size_is((ULONG)cRows)] DBROWOPTIONS rgRowOptions[],
115 [out, size_is((ULONG)cRows)] DBREFCOUNT rgRefCounts[],
116 [out, size_is((ULONG)cRows)] DBROWSTATUS rgRowStatus[]);
118 HRESULT RestartPosition([in] HCHAPTER hReserved);
120 /* IRowsetLocate */
122 HRESULT Compare([in] HCHAPTER hReserved,
123 [in] DBBKMARK cbBookmark1,
124 [in, size_is((ULONG)cbBookmark1)] const BYTE *pBookmark1,
125 [in] DBBKMARK cbBookmark2,
126 [in, size_is((ULONG)cbBookmark2)] const BYTE *pBookmark2,
127 [out] DBCOMPARE *pComparison);
129 HRESULT GetRowsAt([in] HWATCHREGION hReserved1,
130 [in] HCHAPTER hReserved2,
131 [in] DBBKMARK cbBookmark,
132 [in, size_is((ULONG)cbBookmark)] const BYTE *pBookmark,
133 [in] DBROWOFFSET lRowsOffset,
134 [in] DBROWCOUNT cRows,
135 [out] DBCOUNTITEM *pcRowsObtained,
136 [out, size_is(,(ULONG)cRows)] HROW **prghRows);
138 HRESULT GetRowsByBookmark([in] HCHAPTER hReserved,
139 [in] DBCOUNTITEM cRows,
140 [in, size_is((ULONG)cRows)] const DBBKMARK rgcbBookmarks[],
141 [in, size_is((ULONG)cRows)] const BYTE *rgpBookmarks[],
142 [out, size_is((ULONG)cRows)] HROW rghRows[],
143 [out, size_is((ULONG)cRows)] DBROWSTATUS rgRowStatus[]);
145 HRESULT Hash([in] HCHAPTER hReserved,
146 [in] DBBKMARK cBookmarks,
147 [in, size_is((ULONG)cBookmarks)] const DBBKMARK rgcbBookmarks[],
148 [in, size_is((ULONG)cBookmarks)] const BYTE *rgpBookmarks[],
149 [out, size_is((ULONG)cBookmarks)] DBHASHVALUE rgHashedValues[],
150 [out, size_is((ULONG)cBookmarks)] DBROWSTATUS rgBookmarkStatus[]);
152 /* IRowsetInfo */
154 HRESULT GetProperties([in] ULONG cPropertyIDSets,
155 [in, unique, size_is((ULONG)cPropertyIDSets)] const DBPROPIDSET *rgPropertyIDSets,
156 [in, out] ULONG *pcPropertySets,
157 [out, size_is(,*pcPropertySets)] DBPROPSET **prgPropertySets);
159 HRESULT GetReferencedRowset([in] DBORDINAL iOrdinal,
160 [in] REFIID riid,
161 [out, iid_is(riid)] IUnknown **ppReferencedRowset);
163 HRESULT GetSpecification([in] REFIID riid,
164 [out, iid_is(riid)] IUnknown **ppSpecification);
166 /* IAccessor */
168 HRESULT AddRefAccessor([in] HACCESSOR hAccessor,
169 [in, out, unique, annotation("__out_opt")] DBREFCOUNT *pcRefCount);
171 HRESULT CreateAccessor([in] DBACCESSORFLAGS dwAccessorFlags,
172 [in] DBCOUNTITEM cBindings,
173 [in, unique, size_is((ULONG)cBindings)] const DBBINDING *rgBindings,
174 [in] DBLENGTH cbRowSize,
175 [out] HACCESSOR *phAccessor,
176 [in, out, unique, size_is((ULONG)cBindings)] DBBINDSTATUS *rgStatus);
178 HRESULT GetBindings([in] HACCESSOR hAccessor,
179 [out] DBACCESSORFLAGS *pdwAccessorFlags,
180 [in, out] DBCOUNTITEM *pcBindings,
181 [out, size_is(,(ULONG)*pcBindings)] DBBINDING **prgBindings);
183 HRESULT ReleaseAccessor([in] HACCESSOR hAccessor,
184 [in, out, unique] DBREFCOUNT *pcRefCount);
188 helpstring("Wine OLE DB Row Server"),
189 threading(both),
190 progid("WINEDBROWPRX.AsServer.1"),
191 vi_progid("WINEDBROWPRX.AsServer"),
192 uuid(38248178-cf6d-11de-abe5-000c2916d865)
194 coclass wine_row_server
200 helpstring("Wine OLE DB Row Proxy"),
201 threading(both),
202 progid("WINEDBROWPRX.AsProxy.1"),
203 vi_progid("WINEDBROWPRX.AsProxy"),
204 uuid(38248179-cf6d-11de-abe5-000c2916d865)
206 coclass wine_row_proxy
212 helpstring("Wine OLE DB Rowset Server"),
213 threading(both),
214 progid("WINEDBRSTPRX.AsServer.1"),
215 vi_progid("WINEDBRSTPRX.AsServer"),
216 uuid(3824817a-cf6d-11de-abe5-000c2916d865)
218 coclass wine_rowset_server
224 helpstring("Wine OLE DB Rowset Proxy"),
225 threading(both),
226 progid("WINEDBRSTPRX.AsProxy.1"),
227 vi_progid("WINEDBRSTPRX.AsProxy"),
228 uuid(3824817b-cf6d-11de-abe5-000c2916d865)
230 coclass wine_rowset_proxy
235 cpp_quote("extern HRESULT create_row_server( IUnknown*, LPVOID* ) DECLSPEC_HIDDEN;")
236 cpp_quote("extern HRESULT create_row_marshal( IUnknown*, LPVOID* ) DECLSPEC_HIDDEN;")
237 cpp_quote("extern HRESULT create_rowset_server( IUnknown*, LPVOID* ) DECLSPEC_HIDDEN;")
238 cpp_quote("extern HRESULT create_rowset_marshal( IUnknown*, LPVOID* ) DECLSPEC_HIDDEN;")