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 1.0"),
26 uuid(3f4daca7-160d-11d2-a8e9-00104b365c9f),
29 library VBScript_RegExp_10
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(3f4daca1-160d-11d2-a8e9-00104b365c9f)
86 interface IMatch : IDispatch
88 [id(DISPID_VALUE), propget]
89 HRESULT Value([out, retval] BSTR *pValue);
91 [id(DISPID_MATCH_FIRSTINDEX), propget]
92 HRESULT FirstIndex([out, retval] LONG *pFirstIndex);
94 [id(DISPID_MATCH_LENGTH), propget]
95 HRESULT Length([out, retval] LONG *pLength);
104 uuid(3f4daca2-160d-11d2-a8e9-00104b365c9f)
106 interface IMatchCollection : IDispatch
108 [id(DISPID_VALUE), propget]
111 [out, retval] IDispatch **ppMatch);
113 [id(DISPID_MATCHCOLLECTION_COUNT), propget]
114 HRESULT Count([out, retval] LONG *pCount);
116 [id(DISPID_NEWENUM), propget]
117 HRESULT _NewEnum([out, retval] IUnknown **ppEnum);
121 uuid(3f4daca4-160d-11d2-a8e9-00104b365c9f)
125 [default] interface IRegExp;
130 uuid(3f4daca5-160d-11d2-a8e9-00104b365c9f)
134 [default] interface IMatch;
139 uuid(3f4daca6-160d-11d2-a8e9-00104b365c9f)
141 coclass MatchCollection
143 [default] interface IMatchCollection;