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"),
26 uuid(3f4daca7
-160d
-11d2
-a8e9
-00104b365c9f
),
29 library VBScript_RegExp_55
31 importlib
("stdole2.tlb");
39 uuid(3f4daca0
-160d
-11d2
-a8e9
-00104b365c9f
),
41 interface IRegExp
: IDispatch
43 [id(DISPID_REGEXP_PATTERN
), propget]
44 HRESULT Pattern
([out, retval] BSTR *pPattern
);
46 [id(DISPID_REGEXP_PATTERN
), propput]
47 HRESULT Pattern
([in] BSTR pPattern
);
49 [id(DISPID_REGEXP_IGNORECASE
), propget]
50 HRESULT IgnoreCase
([out, retval] VARIANT_BOOL *pIgnoreCase
);
52 [id(DISPID_REGEXP_IGNORECASE
), propput]
53 HRESULT IgnoreCase
([in] VARIANT_BOOL pIgnoreCase
);
55 [id(DISPID_REGEXP_GLOBAL
), propget]
56 HRESULT Global
([out, retval] VARIANT_BOOL *pGlobal
);
58 [id(DISPID_REGEXP_GLOBAL
), propput]
59 HRESULT Global
([in] VARIANT_BOOL pGlobal
);
61 [id(DISPID_REGEXP_EXECUTE
)]
63 [in] BSTR sourceString
,
64 [out, retval] IDispatch
**ppMatches
);
66 [id(DISPID_REGEXP_TEST
)]
68 [in] BSTR sourceString
,
69 [out, retval] VARIANT_BOOL *pMatch
);
71 [id(DISPID_REGEXP_REPLACE
)]
73 [in] BSTR sourceString
,
74 [in] BSTR replaceString
,
75 [out, retval] BSTR *pDestString
);
84 uuid(3f4dacb0
-160d
-11d2
-a8e9
-00104b365c9f
)
86 interface IRegExp2
: IDispatch
88 [id(DISPID_REGEXP_PATTERN
), propget]
89 HRESULT Pattern
([out, retval] BSTR *pPattern
);
91 [id(DISPID_REGEXP_PATTERN
), propput]
92 HRESULT Pattern
([in] BSTR pPattern
);
94 [id(DISPID_REGEXP_IGNORECASE
), propget]
95 HRESULT IgnoreCase
([out, retval] VARIANT_BOOL *pIgnoreCase
);
97 [id(DISPID_REGEXP_IGNORECASE
), propput]
98 HRESULT IgnoreCase
([in] VARIANT_BOOL pIgnoreCase
);
100 [id(DISPID_REGEXP_GLOBAL
), propget]
101 HRESULT Global
([out, retval] VARIANT_BOOL *pGlobal
);
103 [id(DISPID_REGEXP_GLOBAL
), propput]
104 HRESULT Global
([in] VARIANT_BOOL pGlobal
);
106 [id(DISPID_REGEXP_MULTILINE
), propget]
107 HRESULT Multiline
([out, retval] VARIANT_BOOL *pMultiline
);
109 [id(DISPID_REGEXP_MULTILINE
), propput]
110 HRESULT Multiline
([in] VARIANT_BOOL pMultiline
);
112 [id(DISPID_REGEXP_EXECUTE
)]
114 [in] BSTR sourceString
,
115 [out, retval] IDispatch
**ppMatches
);
117 [id(DISPID_REGEXP_TEST
)]
119 [in] BSTR sourceString
,
120 [out, retval] VARIANT_BOOL *pMatch
);
122 [id(DISPID_REGEXP_REPLACE
)]
124 [in] BSTR sourceString
,
125 [in] VARIANT replaceVar
,
126 [out, retval] BSTR *pDestString
);
135 uuid(3f4daca1
-160d
-11d2
-a8e9
-00104b365c9f
)
137 interface IMatch
: IDispatch
139 [id(DISPID_VALUE
), propget]
140 HRESULT Value
([out, retval] BSTR *pValue
);
142 [id(DISPID_MATCH_FIRSTINDEX
), propget]
143 HRESULT FirstIndex
([out, retval] LONG *pFirstIndex
);
145 [id(DISPID_MATCH_LENGTH
), propget]
146 HRESULT Length
([out, retval] LONG *pLength
);
151 uuid(3f4dacb1
-160d
-11d2
-a8e9
-00104b365c9f
),
157 interface IMatch2
: IDispatch
159 [id(DISPID_VALUE
), propget]
160 HRESULT Value
([out, retval] BSTR *pValue
);
162 [id(DISPID_MATCH_FIRSTINDEX
), propget]
163 HRESULT FirstIndex
([out, retval] LONG *pFirstIndex
);
165 [id(DISPID_MATCH_LENGTH
), propget]
166 HRESULT Length
([out, retval] LONG *pLength
);
168 [id(DISPID_MATCH_SUBMATCHES
), propget]
169 HRESULT SubMatches
([out, retval] IDispatch
**ppSubMatches
);
178 uuid(3f4daca2
-160d
-11d2
-a8e9
-00104b365c9f
)
180 interface IMatchCollection
: IDispatch
182 [id(DISPID_VALUE
), propget]
185 [out, retval] IDispatch
**ppMatch
);
187 [id(DISPID_MATCHCOLLECTION_COUNT
), propget]
188 HRESULT Count
([out, retval] LONG *pCount
);
190 [id(DISPID_NEWENUM
), propget]
191 HRESULT _NewEnum
([out, retval] IUnknown
**ppEnum
);
200 uuid(3f4dacb2
-160d
-11d2
-a8e9
-00104b365c9f
)
202 interface IMatchCollection2
: IDispatch
204 [id(DISPID_VALUE
), propget]
207 [out, retval] IDispatch
**ppMatch
);
209 [id(DISPID_MATCHCOLLECTION_COUNT
), propget]
210 HRESULT Count
([out, retval] LONG *pCount
);
212 [id(DISPID_NEWENUM
), propget]
213 HRESULT _NewEnum
([out, retval] IUnknown
**ppEnum
);
222 uuid(3f4dacb3
-160d
-11d2
-a8e9
-00104b365c9f
)
224 interface ISubMatches
: IDispatch
226 [id(DISPID_VALUE
), propget]
229 [out, retval] VARIANT *pSubMatch
);
231 [id(DISPID_SUBMATCHES_COUNT
), propget]
232 HRESULT Count
([out, retval] LONG *pCount
);
234 [id(DISPID_NEWENUM
), propget]
235 HRESULT _NewEnum
([out, retval] IUnknown
**ppEnum
);
239 uuid(3f4daca4
-160d
-11d2
-a8e9
-00104b365c9f
)
243 [default] interface IRegExp2
;
248 uuid(3f4daca5
-160d
-11d2
-a8e9
-00104b365c9f
)
252 [default] interface IMatch2
;
257 uuid(3f4daca6
-160d
-11d2
-a8e9
-00104b365c9f
)
259 coclass MatchCollection
261 [default] interface IMatchCollection2
;
266 uuid(3f4dacc0
-160d
-11d2
-a8e9
-00104b365c9f
)
269 [default] interface ISubMatches
;