2 * Copyright 2013 Piotr Caban for CodeWeavers
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
19 #pragma makedep header
23 #include "vbscript_defs.h"
26 helpstring("Microsoft VBScript Regular Expressions 5.5"),
27 uuid(3f4daca7-160d-11d2-a8e9-00104b365c9f),
30 library VBScript_RegExp_55
32 importlib("stdole2.tlb");
40 uuid(3f4daca0-160d-11d2-a8e9-00104b365c9f),
42 interface IRegExp : IDispatch
44 [id(DISPID_REGEXP_PATTERN), propget]
45 HRESULT Pattern([out, retval] BSTR *pPattern);
47 [id(DISPID_REGEXP_PATTERN), propput]
48 HRESULT Pattern([in] BSTR pPattern);
50 [id(DISPID_REGEXP_IGNORECASE), propget]
51 HRESULT IgnoreCase([out, retval] VARIANT_BOOL *pIgnoreCase);
53 [id(DISPID_REGEXP_IGNORECASE), propput]
54 HRESULT IgnoreCase([in] VARIANT_BOOL pIgnoreCase);
56 [id(DISPID_REGEXP_GLOBAL), propget]
57 HRESULT Global([out, retval] VARIANT_BOOL *pGlobal);
59 [id(DISPID_REGEXP_GLOBAL), propput]
60 HRESULT Global([in] VARIANT_BOOL pGlobal);
62 [id(DISPID_REGEXP_EXECUTE)]
64 [in] BSTR sourceString,
65 [out, retval] IDispatch **ppMatches);
67 [id(DISPID_REGEXP_TEST)]
69 [in] BSTR sourceString,
70 [out, retval] VARIANT_BOOL *pMatch);
72 [id(DISPID_REGEXP_REPLACE)]
74 [in] BSTR sourceString,
75 [in] BSTR replaceString,
76 [out, retval] BSTR *pDestString);
85 uuid(3f4dacb0-160d-11d2-a8e9-00104b365c9f)
87 interface IRegExp2 : IDispatch
89 [id(DISPID_REGEXP_PATTERN), propget]
90 HRESULT Pattern([out, retval] BSTR *pPattern);
92 [id(DISPID_REGEXP_PATTERN), propput]
93 HRESULT Pattern([in] BSTR pPattern);
95 [id(DISPID_REGEXP_IGNORECASE), propget]
96 HRESULT IgnoreCase([out, retval] VARIANT_BOOL *pIgnoreCase);
98 [id(DISPID_REGEXP_IGNORECASE), propput]
99 HRESULT IgnoreCase([in] VARIANT_BOOL pIgnoreCase);
101 [id(DISPID_REGEXP_GLOBAL), propget]
102 HRESULT Global([out, retval] VARIANT_BOOL *pGlobal);
104 [id(DISPID_REGEXP_GLOBAL), propput]
105 HRESULT Global([in] VARIANT_BOOL pGlobal);
107 [id(DISPID_REGEXP_MULTILINE), propget]
108 HRESULT Multiline([out, retval] VARIANT_BOOL *pMultiline);
110 [id(DISPID_REGEXP_MULTILINE), propput]
111 HRESULT Multiline([in] VARIANT_BOOL pMultiline);
113 [id(DISPID_REGEXP_EXECUTE)]
115 [in] BSTR sourceString,
116 [out, retval] IDispatch **ppMatches);
118 [id(DISPID_REGEXP_TEST)]
120 [in] BSTR sourceString,
121 [out, retval] VARIANT_BOOL *pMatch);
123 [id(DISPID_REGEXP_REPLACE)]
125 [in] BSTR sourceString,
126 [in] VARIANT replaceVar,
127 [out, retval] BSTR *pDestString);
136 uuid(3f4daca1-160d-11d2-a8e9-00104b365c9f)
138 interface IMatch : IDispatch
140 [id(DISPID_VALUE), propget]
141 HRESULT Value([out, retval] BSTR *pValue);
143 [id(DISPID_MATCH_FIRSTINDEX), propget]
144 HRESULT FirstIndex([out, retval] LONG *pFirstIndex);
146 [id(DISPID_MATCH_LENGTH), propget]
147 HRESULT Length([out, retval] LONG *pLength);
152 uuid(3f4dacb1-160d-11d2-a8e9-00104b365c9f),
158 interface IMatch2 : IDispatch
160 [id(DISPID_VALUE), propget]
161 HRESULT Value([out, retval] BSTR *pValue);
163 [id(DISPID_MATCH_FIRSTINDEX), propget]
164 HRESULT FirstIndex([out, retval] LONG *pFirstIndex);
166 [id(DISPID_MATCH_LENGTH), propget]
167 HRESULT Length([out, retval] LONG *pLength);
169 [id(DISPID_MATCH_SUBMATCHES), propget]
170 HRESULT SubMatches([out, retval] IDispatch **ppSubMatches);
179 uuid(3f4daca2-160d-11d2-a8e9-00104b365c9f)
181 interface IMatchCollection : IDispatch
183 [id(DISPID_VALUE), propget]
186 [out, retval] IDispatch **ppMatch);
188 [id(DISPID_MATCHCOLLECTION_COUNT), propget]
189 HRESULT Count([out, retval] LONG *pCount);
191 [id(DISPID_NEWENUM), propget]
192 HRESULT _NewEnum([out, retval] IUnknown **ppEnum);
201 uuid(3f4dacb2-160d-11d2-a8e9-00104b365c9f)
203 interface IMatchCollection2 : IDispatch
205 [id(DISPID_VALUE), propget]
208 [out, retval] IDispatch **ppMatch);
210 [id(DISPID_MATCHCOLLECTION_COUNT), propget]
211 HRESULT Count([out, retval] LONG *pCount);
213 [id(DISPID_NEWENUM), propget]
214 HRESULT _NewEnum([out, retval] IUnknown **ppEnum);
223 uuid(3f4dacb3-160d-11d2-a8e9-00104b365c9f)
225 interface ISubMatches : IDispatch
227 [id(DISPID_VALUE), propget]
230 [out, retval] VARIANT *pSubMatch);
232 [id(DISPID_SUBMATCHES_COUNT), propget]
233 HRESULT Count([out, retval] LONG *pCount);
235 [id(DISPID_NEWENUM), propget]
236 HRESULT _NewEnum([out, retval] IUnknown **ppEnum);
240 uuid(3f4daca4-160d-11d2-a8e9-00104b365c9f)
244 [default] interface IRegExp2;
249 uuid(3f4daca5-160d-11d2-a8e9-00104b365c9f)
253 [default] interface IMatch2;
258 uuid(3f4daca6-160d-11d2-a8e9-00104b365c9f)
260 coclass MatchCollection
262 [default] interface IMatchCollection2;
267 uuid(3f4dacc0-160d-11d2-a8e9-00104b365c9f)
270 [default] interface ISubMatches;