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
;