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"),
25 uuid(3f4daca7-160d-11d2-a8e9-00104b365c9f),
28 library VBScript_RegExp_10
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(3f4daca1-160d-11d2-a8e9-00104b365c9f)
85 interface IMatch : IDispatch
87 [id(DISPID_VALUE), propget]
88 HRESULT Value([out, retval] BSTR *pValue);
90 [id(DISPID_MATCH_FIRSTINDEX), propget]
91 HRESULT FirstIndex([out, retval] LONG *pFirstIndex);
93 [id(DISPID_MATCH_LENGTH), propget]
94 HRESULT Length([out, retval] LONG *pLength);
103 uuid(3f4daca2-160d-11d2-a8e9-00104b365c9f)
105 interface IMatchCollection : IDispatch
107 [id(DISPID_VALUE), propget]
110 [out, retval] IDispatch **ppMatch);
112 [id(DISPID_MATCHCOLLECTION_COUNT), propget]
113 HRESULT Count([out, retval] LONG *pCount);
115 [id(DISPID_NEWENUM), propget]
116 HRESULT _NewEnum([out, retval] IUnknown **ppEnum);
120 uuid(3f4daca4-160d-11d2-a8e9-00104b365c9f)
124 [default] interface IRegExp;
129 uuid(3f4daca5-160d-11d2-a8e9-00104b365c9f)
133 [default] interface IMatch;
138 uuid(3f4daca6-160d-11d2-a8e9-00104b365c9f)
140 coclass MatchCollection
142 [default] interface IMatchCollection;