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"),
28 uuid(3f4daca7
-160d
-11d2
-a8e9
-00104b365c9f
),
31 library VBScript_RegExp_55
33 importlib
("stdole2.tlb");
41 uuid(3f4daca0
-160d
-11d2
-a8e9
-00104b365c9f
),
43 interface IRegExp
: IDispatch
45 [id(DISPID_REGEXP_PATTERN
), propget]
46 HRESULT Pattern
([out, retval] BSTR *pPattern
);
48 [id(DISPID_REGEXP_PATTERN
), propput]
49 HRESULT Pattern
([in] BSTR pPattern
);
51 [id(DISPID_REGEXP_IGNORECASE
), propget]
52 HRESULT IgnoreCase
([out, retval] VARIANT_BOOL *pIgnoreCase
);
54 [id(DISPID_REGEXP_IGNORECASE
), propput]
55 HRESULT IgnoreCase
([in] VARIANT_BOOL pIgnoreCase
);
57 [id(DISPID_REGEXP_GLOBAL
), propget]
58 HRESULT Global
([out, retval] VARIANT_BOOL *pGlobal
);
60 [id(DISPID_REGEXP_GLOBAL
), propput]
61 HRESULT Global
([in] VARIANT_BOOL pGlobal
);
63 [id(DISPID_REGEXP_EXECUTE
)]
65 [in] BSTR sourceString
,
66 [out, retval] IDispatch
**ppMatches
);
68 [id(DISPID_REGEXP_TEST
)]
70 [in] BSTR sourceString
,
71 [out, retval] VARIANT_BOOL *pMatch
);
73 [id(DISPID_REGEXP_REPLACE
)]
75 [in] BSTR sourceString
,
76 [in] BSTR replaceString
,
77 [out, retval] BSTR *pDestString
);
86 uuid(3f4dacb0
-160d
-11d2
-a8e9
-00104b365c9f
)
88 interface IRegExp2
: IDispatch
90 [id(DISPID_REGEXP_PATTERN
), propget]
91 HRESULT Pattern
([out, retval] BSTR *pPattern
);
93 [id(DISPID_REGEXP_PATTERN
), propput]
94 HRESULT Pattern
([in] BSTR pPattern
);
96 [id(DISPID_REGEXP_IGNORECASE
), propget]
97 HRESULT IgnoreCase
([out, retval] VARIANT_BOOL *pIgnoreCase
);
99 [id(DISPID_REGEXP_IGNORECASE
), propput]
100 HRESULT IgnoreCase
([in] VARIANT_BOOL pIgnoreCase
);
102 [id(DISPID_REGEXP_GLOBAL
), propget]
103 HRESULT Global
([out, retval] VARIANT_BOOL *pGlobal
);
105 [id(DISPID_REGEXP_GLOBAL
), propput]
106 HRESULT Global
([in] VARIANT_BOOL pGlobal
);
108 [id(DISPID_REGEXP_MULTILINE
), propget]
109 HRESULT Multiline
([out, retval] VARIANT_BOOL *pMultiline
);
111 [id(DISPID_REGEXP_MULTILINE
), propput]
112 HRESULT Multiline
([in] VARIANT_BOOL pMultiline
);
114 [id(DISPID_REGEXP_EXECUTE
)]
116 [in] BSTR sourceString
,
117 [out, retval] IDispatch
**ppMatches
);
119 [id(DISPID_REGEXP_TEST
)]
121 [in] BSTR sourceString
,
122 [out, retval] VARIANT_BOOL *pMatch
);
124 [id(DISPID_REGEXP_REPLACE
)]
126 [in] BSTR sourceString
,
127 [in] VARIANT replaceVar
,
128 [out, retval] BSTR *pDestString
);
137 uuid(3f4daca1
-160d
-11d2
-a8e9
-00104b365c9f
)
139 interface IMatch
: IDispatch
141 [id(DISPID_VALUE
), propget]
142 HRESULT Value
([out, retval] BSTR *pValue
);
144 [id(DISPID_MATCH_FIRSTINDEX
), propget]
145 HRESULT FirstIndex
([out, retval] LONG *pFirstIndex
);
147 [id(DISPID_MATCH_LENGTH
), propget]
148 HRESULT Length
([out, retval] LONG *pLength
);
153 uuid(3f4dacb1
-160d
-11d2
-a8e9
-00104b365c9f
),
159 interface IMatch2
: IDispatch
161 [id(DISPID_VALUE
), propget]
162 HRESULT Value
([out, retval] BSTR *pValue
);
164 [id(DISPID_MATCH_FIRSTINDEX
), propget]
165 HRESULT FirstIndex
([out, retval] LONG *pFirstIndex
);
167 [id(DISPID_MATCH_LENGTH
), propget]
168 HRESULT Length
([out, retval] LONG *pLength
);
170 [id(DISPID_MATCH_SUBMATCHES
), propget]
171 HRESULT SubMatches
([out, retval] IDispatch
**ppSubMatches
);
180 uuid(3f4daca2
-160d
-11d2
-a8e9
-00104b365c9f
)
182 interface IMatchCollection
: IDispatch
184 [id(DISPID_VALUE
), propget]
187 [out, retval] IDispatch
**ppMatch
);
189 [id(DISPID_MATCHCOLLECTION_COUNT
), propget]
190 HRESULT Count
([out, retval] LONG *pCount
);
192 [id(DISPID_NEWENUM
), propget]
193 HRESULT _NewEnum
([out, retval] IUnknown
**ppEnum
);
202 uuid(3f4dacb2
-160d
-11d2
-a8e9
-00104b365c9f
)
204 interface IMatchCollection2
: IDispatch
206 [id(DISPID_VALUE
), propget]
209 [out, retval] IDispatch
**ppMatch
);
211 [id(DISPID_MATCHCOLLECTION_COUNT
), propget]
212 HRESULT Count
([out, retval] LONG *pCount
);
214 [id(DISPID_NEWENUM
), propget]
215 HRESULT _NewEnum
([out, retval] IUnknown
**ppEnum
);
224 uuid(3f4dacb3
-160d
-11d2
-a8e9
-00104b365c9f
)
226 interface ISubMatches
: IDispatch
228 [id(DISPID_VALUE
), propget]
231 [out, retval] VARIANT *pSubMatch
);
233 [id(DISPID_SUBMATCHES_COUNT
), propget]
234 HRESULT Count
([out, retval] LONG *pCount
);
236 [id(DISPID_NEWENUM
), propget]
237 HRESULT _NewEnum
([out, retval] IUnknown
**ppEnum
);
241 uuid(3f4daca4
-160d
-11d2
-a8e9
-00104b365c9f
)
245 [default] interface IRegExp2
;
250 uuid(3f4daca5
-160d
-11d2
-a8e9
-00104b365c9f
)
254 [default] interface IMatch2
;
259 uuid(3f4daca6
-160d
-11d2
-a8e9
-00104b365c9f
)
261 coclass MatchCollection
263 [default] interface IMatchCollection2
;
268 uuid(3f4dacc0
-160d
-11d2
-a8e9
-00104b365c9f
)
271 [default] interface ISubMatches
;