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
21 #include "vbscript_defs.h"
24 helpstring("Microsoft VBScript Regular Expressions 5.5"),
25 uuid(3f4daca7-160d-11d2-a8e9-00104b365c9f),
28 library VBScript_RegExp_55
30 importlib("stdole2.tlb");
38 uuid(3f4daca0-160d-11d2-a8e9-00104b365c9f),
40 interface IRegExp : IDispatch
42 [id(DISPID_REGEXP_PATTERN), propget]
43 HRESULT Pattern([out, retval] BSTR *pPattern);
45 [id(DISPID_REGEXP_PATTERN), propput]
46 HRESULT Pattern([in] BSTR pPattern);
48 [id(DISPID_REGEXP_IGNORECASE), propget]
49 HRESULT IgnoreCase([out, retval] VARIANT_BOOL *pIgnoreCase);
51 [id(DISPID_REGEXP_IGNORECASE), propput]
52 HRESULT IgnoreCase([in] VARIANT_BOOL pIgnoreCase);
54 [id(DISPID_REGEXP_GLOBAL), propget]
55 HRESULT Global([out, retval] VARIANT_BOOL *pGlobal);
57 [id(DISPID_REGEXP_GLOBAL), propput]
58 HRESULT Global([in] VARIANT_BOOL pGlobal);
60 [id(DISPID_REGEXP_EXECUTE)]
62 [in] BSTR sourceString,
63 [out, retval] IDispatch **ppMatches);
65 [id(DISPID_REGEXP_TEST)]
67 [in] BSTR sourceString,
68 [out, retval] VARIANT_BOOL *pMatch);
70 [id(DISPID_REGEXP_REPLACE)]
72 [in] BSTR sourceString,
73 [in] BSTR replaceString,
74 [out, retval] BSTR *pDestString);
83 uuid(3f4dacb0-160d-11d2-a8e9-00104b365c9f)
85 interface IRegExp2 : IDispatch
87 [id(DISPID_REGEXP_PATTERN), propget]
88 HRESULT Pattern([out, retval] BSTR *pPattern);
90 [id(DISPID_REGEXP_PATTERN), propput]
91 HRESULT Pattern([in] BSTR pPattern);
93 [id(DISPID_REGEXP_IGNORECASE), propget]
94 HRESULT IgnoreCase([out, retval] VARIANT_BOOL *pIgnoreCase);
96 [id(DISPID_REGEXP_IGNORECASE), propput]
97 HRESULT IgnoreCase([in] VARIANT_BOOL pIgnoreCase);
99 [id(DISPID_REGEXP_GLOBAL), propget]
100 HRESULT Global([out, retval] VARIANT_BOOL *pGlobal);
102 [id(DISPID_REGEXP_GLOBAL), propput]
103 HRESULT Global([in] VARIANT_BOOL pGlobal);
105 [id(DISPID_REGEXP_MULTILINE), propget]
106 HRESULT Multiline([out, retval] VARIANT_BOOL *pMultiline);
108 [id(DISPID_REGEXP_MULTILINE), propput]
109 HRESULT Multiline([in] VARIANT_BOOL pMultiline);
111 [id(DISPID_REGEXP_EXECUTE)]
113 [in] BSTR sourceString,
114 [out, retval] IDispatch **ppMatches);
116 [id(DISPID_REGEXP_TEST)]
118 [in] BSTR sourceString,
119 [out, retval] VARIANT_BOOL *pMatch);
121 [id(DISPID_REGEXP_REPLACE)]
123 [in] BSTR sourceString,
124 [in] VARIANT replaceVar,
125 [out, retval] BSTR *pDestString);
134 uuid(3f4daca1-160d-11d2-a8e9-00104b365c9f)
136 interface IMatch : IDispatch
138 [id(DISPID_VALUE), propget]
139 HRESULT Value([out, retval] BSTR *pValue);
141 [id(DISPID_MATCH_FIRSTINDEX), propget]
142 HRESULT FirstIndex([out, retval] LONG *pFirstIndex);
144 [id(DISPID_MATCH_LENGTH), propget]
145 HRESULT Length([out, retval] LONG *pLength);
150 uuid(3f4dacb1-160d-11d2-a8e9-00104b365c9f),
156 interface IMatch2 : IDispatch
158 [id(DISPID_VALUE), propget]
159 HRESULT Value([out, retval] BSTR *pValue);
161 [id(DISPID_MATCH_FIRSTINDEX), propget]
162 HRESULT FirstIndex([out, retval] LONG *pFirstIndex);
164 [id(DISPID_MATCH_LENGTH), propget]
165 HRESULT Length([out, retval] LONG *pLength);
167 [id(DISPID_MATCH_SUBMATCHES), propget]
168 HRESULT SubMatches([out, retval] IDispatch **ppSubMatches);
177 uuid(3f4daca2-160d-11d2-a8e9-00104b365c9f)
179 interface IMatchCollection : IDispatch
181 [id(DISPID_VALUE), propget]
184 [out, retval] IDispatch **ppMatch);
186 [id(DISPID_MATCHCOLLECTION_COUNT), propget]
187 HRESULT Count([out, retval] LONG *pCount);
189 [id(DISPID_NEWENUM), propget]
190 HRESULT _NewEnum([out, retval] IUnknown **ppEnum);
199 uuid(3f4dacb2-160d-11d2-a8e9-00104b365c9f)
201 interface IMatchCollection2 : IDispatch
203 [id(DISPID_VALUE), propget]
206 [out, retval] IDispatch **ppMatch);
208 [id(DISPID_MATCHCOLLECTION_COUNT), propget]
209 HRESULT Count([out, retval] LONG *pCount);
211 [id(DISPID_NEWENUM), propget]
212 HRESULT _NewEnum([out, retval] IUnknown **ppEnum);
221 uuid(3f4dacb3-160d-11d2-a8e9-00104b365c9f)
223 interface ISubMatches : IDispatch
225 [id(DISPID_VALUE), propget]
228 [out, retval] VARIANT *pSubMatch);
230 [id(DISPID_SUBMATCHES_COUNT), propget]
231 HRESULT Count([out, retval] LONG *pCount);
233 [id(DISPID_NEWENUM), propget]
234 HRESULT _NewEnum([out, retval] IUnknown **ppEnum);
238 uuid(3f4daca4-160d-11d2-a8e9-00104b365c9f)
242 [default] interface IRegExp2;
247 uuid(3f4daca5-160d-11d2-a8e9-00104b365c9f)
251 [default] interface IMatch2;
256 uuid(3f4daca6-160d-11d2-a8e9-00104b365c9f)
258 coclass MatchCollection
260 [default] interface IMatchCollection2;
265 uuid(3f4dacc0-160d-11d2-a8e9-00104b365c9f)
268 [default] interface ISubMatches;