21 #include "vbsregexp55.h" 27 #define REGEXP_TID_LIST \ 30 XDIID(MatchCollection2), \ 34 #define XDIID(iface) iface ## _tid 41 #define XDIID(iface) &IID_I ## iface 54 static const WCHAR vbscript_dll3W[] = {
'v',
'b',
's',
'c',
'r',
'i',
'p',
't',
'.',
'd',
'l',
'l',
'\\',
'3',0};
59 ERR(
"LoadRegTypeLib failed: %08x\n",
hres);
77 ITypeInfo_Release(ti);
107 IMatchCollection2 *
mc;
147 *
ppv = &
This->ISubMatches_iface;
150 *
ppv = &
This->ISubMatches_iface;
153 *
ppv = &
This->ISubMatches_iface;
208 FIXME(
"(%p)->(%u %u %p)\n",
This, iTInfo, lcid, ppTInfo);
218 rgszNames, cNames, lcid, rgDispId);
220 return ITypeInfo_GetIDsOfNames(
typeinfos[SubMatches_tid], rgszNames, cNames, rgDispId);
230 lcid,
wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr);
232 return ITypeInfo_Invoke(
typeinfos[SubMatches_tid], iface, dispIdMember,
wFlags,
233 pDispParams, pVarResult, pExcepInfo, puArgErr);
249 if(
This->result->parens[
index].index == -1) {
276 *pCount =
This->result->paren_count;
310 ret = heap_alloc_zero(
sizeof(*
ret));
328 if(
result->parens[
i].index != -1)
393 ISubMatches_Release(&
This->sub_matches->ISubMatches_iface);
414 FIXME(
"(%p)->(%u %u %p)\n",
This, iTInfo, lcid, ppTInfo);
424 rgszNames, cNames, lcid, rgDispId);
426 return ITypeInfo_GetIDsOfNames(
typeinfos[Match2_tid], rgszNames, cNames, rgDispId);
436 lcid,
wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr);
438 return ITypeInfo_Invoke(
typeinfos[Match2_tid], iface, dispIdMember,
wFlags,
439 pDispParams, pVarResult, pExcepInfo, puArgErr);
451 if(!
This->sub_matches->match) {
464 TRACE(
"(%p)->(%p)\n",
This, pFirstIndex);
469 *pFirstIndex =
This->index;
482 if(
This->sub_matches->result)
483 *pLength =
This->sub_matches->result->match_len;
493 TRACE(
"(%p)->(%p)\n",
This, ppSubMatches);
498 *ppSubMatches = (
IDispatch*)&
This->sub_matches->ISubMatches_iface;
499 ISubMatches_AddRef(&
This->sub_matches->ISubMatches_iface);
525 return IMatch2_QueryInterface(&
This->IMatch2_iface,
riid,
ppv);
531 return IMatch2_AddRef(&
This->IMatch2_iface);
537 return IMatch2_Release(&
This->IMatch2_iface);
543 return IMatch2_GetTypeInfoCount(&
This->IMatch2_iface, pctinfo);
549 return IMatch2_GetTypeInfo(&
This->IMatch2_iface, iTInfo, lcid, ppTInfo);
556 return IMatch2_GetIDsOfNames(&
This->IMatch2_iface,
riid, rgszNames, cNames, lcid, rgDispId);
564 return IMatch2_Invoke(&
This->IMatch2_iface, dispIdMember,
riid, lcid,
565 wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr);
571 return IMatch2_get_Value(&
This->IMatch2_iface,
pValue);
577 return IMatch2_get_FirstIndex(&
This->IMatch2_iface, pFirstIndex);
583 return IMatch2_get_Length(&
This->IMatch2_iface, pLength);
608 ret = heap_alloc_zero(
sizeof(*
ret));
641 *
ppv = &
This->IEnumVARIANT_iface;
644 *
ppv = &
This->IEnumVARIANT_iface;
673 IMatchCollection2_Release(
This->mc);
687 TRACE(
"(%p)->(%u %p %p)\n",
This, celt, rgVar, pCeltFetched);
757 ret = heap_alloc_zero(
sizeof(*
ret));
764 IMatchCollection2_get_Count(mc, &
ret->count);
766 IMatchCollection2_AddRef(mc);
768 *enum_variant = &
ret->IEnumVARIANT_iface;
784 *
ppv = &
This->IMatchCollection2_iface;
787 *
ppv = &
This->IMatchCollection2_iface;
790 *
ppv = &
This->IMatchCollection2_iface;
793 *
ppv = &
This->IMatchCollection_iface;
829 IMatch2_Release(
This->matches[
i]);
852 FIXME(
"(%p)->(%u %u %p)\n",
This, iTInfo, lcid, ppTInfo);
862 rgszNames, cNames, lcid, rgDispId);
864 return ITypeInfo_GetIDsOfNames(
typeinfos[MatchCollection2_tid], rgszNames, cNames, rgDispId);
874 lcid,
wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr);
876 return ITypeInfo_Invoke(
typeinfos[MatchCollection2_tid], iface, dispIdMember,
wFlags,
877 pDispParams, pVarResult, pExcepInfo, puArgErr);
907 *pCount =
This->count;
944 return IMatchCollection2_QueryInterface(&
This->IMatchCollection2_iface,
riid,
ppv);
950 return IMatchCollection2_AddRef(&
This->IMatchCollection2_iface);
956 return IMatchCollection2_Release(&
This->IMatchCollection2_iface);
962 return IMatchCollection2_GetTypeInfoCount(&
This->IMatchCollection2_iface, pctinfo);
969 return IMatchCollection2_GetTypeInfo(&
This->IMatchCollection2_iface, iTInfo, lcid, ppTInfo);
976 return IMatchCollection2_GetIDsOfNames(&
This->IMatchCollection2_iface,
977 riid, rgszNames, cNames, lcid, rgDispId);
985 return IMatchCollection2_Invoke(&
This->IMatchCollection2_iface, dispIdMember,
986 riid, lcid,
wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr);
992 return IMatchCollection2_get_Item(&
This->IMatchCollection2_iface,
index, ppMatch);
998 return IMatchCollection2_get_Count(&
This->IMatchCollection2_iface, pCount);
1004 return IMatchCollection2_get__NewEnum(&
This->IMatchCollection2_iface, ppEnum);
1031 }
else if(
This->size ==
This->count) {
1036 This->matches = new_matches;
1040 This->matches[
This->count++] = add;
1041 IMatch2_AddRef(add);
1054 ret = heap_alloc_zero(
sizeof(*
ret));
1062 *match_collection = &
ret->IMatchCollection2_iface;
1143 FIXME(
"(%p)->(%u %u %p)\n",
This, iTInfo, lcid, ppTInfo);
1153 rgszNames, cNames, lcid, rgDispId);
1155 return ITypeInfo_GetIDsOfNames(
typeinfos[RegExp2_tid], rgszNames, cNames, rgDispId);
1165 lcid,
wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr);
1167 return ITypeInfo_Invoke(
typeinfos[RegExp2_tid], iface, dispIdMember,
wFlags,
1168 pDispParams, pVarResult, pExcepInfo, puArgErr);
1180 if(!
This->pattern) {
1207 This->pattern = new_pattern;
1220 TRACE(
"(%p)->(%p)\n",
This, pIgnoreCase);
1225 *pIgnoreCase =
This->flags &
REG_FOLD ? VARIANT_TRUE : VARIANT_FALSE;
1233 TRACE(
"(%p)->(%s)\n",
This, ignoreCase ?
"true" :
"false");
1251 *pGlobal =
This->flags &
REG_GLOB ? VARIANT_TRUE : VARIANT_FALSE;
1272 TRACE(
"(%p)->(%p)\n",
This, pMultiline);
1285 TRACE(
"(%p)->(%s)\n",
This, multiline ?
"true" :
"false");
1300 IMatchCollection2 *match_collection;
1301 IMatch2 *add =
NULL;
1306 if(!
This->pattern) {
1321 IMatch2_Release(add);
1328 IMatchCollection2_Release(match_collection);
1332 *ppMatches = (
IDispatch*)match_collection;
1372 IMatch2_Release(add);
1381 IMatchCollection2_Release(match_collection);
1385 *ppMatches = (
IDispatch*)match_collection;
1398 if(!
This->pattern) {
1399 *pMatch = VARIANT_TRUE;
1427 *pMatch = VARIANT_TRUE;
1429 *pMatch = VARIANT_FALSE;
1473 return IRegExp2_QueryInterface(&
This->IRegExp2_iface,
riid,
ppv);
1479 return IRegExp2_AddRef(&
This->IRegExp2_iface);
1485 return IRegExp2_Release(&
This->IRegExp2_iface);
1491 return IRegExp2_GetTypeInfoCount(&
This->IRegExp2_iface, pctinfo);
1498 return IRegExp2_GetTypeInfo(&
This->IRegExp2_iface, iTInfo, lcid, ppTInfo);
1505 return IRegExp2_GetIDsOfNames(&
This->IRegExp2_iface,
riid, rgszNames, cNames, lcid, rgDispId);
1513 return IRegExp2_Invoke(&
This->IRegExp2_iface, dispIdMember,
riid, lcid,
1514 wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr);
1520 return IRegExp2_get_Pattern(&
This->IRegExp2_iface, pPattern);
1526 return IRegExp2_put_Pattern(&
This->IRegExp2_iface, pPattern);
1532 return IRegExp2_get_IgnoreCase(&
This->IRegExp2_iface, pIgnoreCase);
1538 return IRegExp2_put_IgnoreCase(&
This->IRegExp2_iface, pIgnoreCase);
1544 return IRegExp2_get_Global(&
This->IRegExp2_iface, pGlobal);
1550 return IRegExp2_put_Global(&
This->IRegExp2_iface, pGlobal);
1557 return IRegExp2_Execute(&
This->IRegExp2_iface, sourceString, ppMatches);
1563 return IRegExp2_Test(&
This->IRegExp2_iface, sourceString, pMatch);
1567 BSTR replaceString,
BSTR *pDestString)
1574 return IRegExp2_Replace(&
This->IRegExp2_iface, sourceString,
replace, pDestString);
1605 regexp = heap_alloc_zero(
sizeof(*regexp));
1629 hres = IDispatch_QueryInterface(regexp,
riid,
ppv);
1630 IDispatch_Release(regexp);
void regexp_destroy(regexp_t *re)
static HRESULT WINAPI Match_GetTypeInfo(IMatch *iface, UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo)
ISubMatches ISubMatches_iface
static HRESULT add_match(IMatchCollection2 *iface, IMatch2 *add)
static HRESULT WINAPI MatchCollection2_GetTypeInfo(IMatchCollection2 *iface, UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo)
HRESULT WINAPI VBScriptRegExpFactory_CreateInstance(IClassFactory *iface, IUnknown *pUnkOuter, REFIID riid, void **ppv)
static ULONG WINAPI MatchCollection2_AddRef(IMatchCollection2 *iface)
static HRESULT WINAPI SubMatches_Invoke(ISubMatches *iface, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
static match_state_t * alloc_match_state(regexp_t *regexp, heap_pool_t *pool, const WCHAR *pos)
static HRESULT WINAPI RegExp_Execute(IRegExp *iface, BSTR sourceString, IDispatch **ppMatches)
static HRESULT WINAPI MatchCollection_GetIDsOfNames(IMatchCollection *iface, REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
BSTR WINAPI SysAllocStringLen(const OLECHAR *str, unsigned int len)
static HRESULT WINAPI RegExp_get_Pattern(IRegExp *iface, BSTR *pPattern)
char * wine_dbgstr_w(const wchar_t *wstr)
static HRESULT WINAPI RegExp2_put_IgnoreCase(IRegExp2 *iface, VARIANT_BOOL ignoreCase)
static ULONG WINAPI MatchCollection_Release(IMatchCollection *iface)
static HRESULT WINAPI MatchCollection2_GetIDsOfNames(IMatchCollection2 *iface, REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
static HRESULT WINAPI RegExp_put_Pattern(IRegExp *iface, BSTR pPattern)
GLuint GLuint GLsizei count
static HRESULT WINAPI Match2_GetTypeInfo(IMatch2 *iface, UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo)
static ULONG WINAPI MatchCollection_AddRef(IMatchCollection *iface)
static HRESULT WINAPI MatchCollection_GetTypeInfoCount(IMatchCollection *iface, UINT *pctinfo)
static ULONG WINAPI RegExp_Release(IRegExp *iface)
HRESULT WINAPI LoadTypeLib(const OLECHAR *szFile, ITypeLib **pptLib)
static ULONG WINAPI Match2_Release(IMatch2 *iface)
static HRESULT WINAPI RegExp_put_Global(IRegExp *iface, VARIANT_BOOL pGlobal)
static HRESULT WINAPI MatchCollection2_get_Item(IMatchCollection2 *iface, LONG index, IDispatch **ppMatch)
static HRESULT WINAPI MatchCollectionEnum_Skip(IEnumVARIANT *iface, ULONG celt)
static ULONG WINAPI MatchCollectionEnum_Release(IEnumVARIANT *iface)
static ULONG WINAPI MatchCollection2_Release(IMatchCollection2 *iface)
static HRESULT WINAPI MatchCollectionEnum_Reset(IEnumVARIANT *iface)
static HRESULT WINAPI MatchCollection2_get_Count(IMatchCollection2 *iface, LONG *pCount)
IMatchCollection2 IMatchCollection2_iface
static HRESULT WINAPI RegExp2_get_Pattern(IRegExp2 *iface, BSTR *pPattern)
static HRESULT WINAPI MatchCollection_get__NewEnum(IMatchCollection *iface, IUnknown **ppEnum)
static ULONG WINAPI Match2_AddRef(IMatch2 *iface)
static IMatchVtbl MatchVtbl
static HRESULT WINAPI Match_get_Value(IMatch *iface, BSTR *pValue)
static void * heap_realloc(void *mem, size_t len)
static HRESULT create_match2(DWORD pos, match_state_t **result, IMatch2 **match)
static void * heap_alloc(size_t len)
static HRESULT WINAPI MatchCollection_GetTypeInfo(IMatchCollection *iface, UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo)
HRESULT create_regexp(IDispatch **ret)
static IRegExpVtbl RegExpVtbl
static ULONG WINAPI SubMatches_AddRef(ISubMatches *iface)
static HRESULT WINAPI RegExp_GetTypeInfo(IRegExp *iface, UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo)
static HRESULT WINAPI Match2_GetTypeInfoCount(IMatch2 *iface, UINT *pctinfo)
static HRESULT WINAPI RegExp_Replace(IRegExp *iface, BSTR sourceString, BSTR replaceString, BSTR *pDestString)
static ULONG WINAPI RegExp_AddRef(IRegExp *iface)
IMatchCollection IMatchCollection_iface
static ITypeInfo * typeinfos[REGEXP_LAST_tid]
static ITypeLib * typelib
static HRESULT WINAPI MatchCollectionEnum_Next(IEnumVARIANT *iface, ULONG celt, VARIANT *rgVar, ULONG *pCeltFetched)
static HRESULT WINAPI RegExp_GetIDsOfNames(IRegExp *iface, REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
#define InterlockedCompareExchangePointer
static HRESULT WINAPI RegExp2_put_Global(IRegExp2 *iface, VARIANT_BOOL global)
static HRESULT WINAPI MatchCollection2_Invoke(IMatchCollection2 *iface, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
static ULONG WINAPI Match_Release(IMatch *iface)
static Match2 * impl_from_IMatch2(IMatch2 *iface)
BSTR WINAPI SysAllocString(LPCOLESTR str)
regexp_t * regexp_new(void *cx, heap_pool_t *pool, const WCHAR *str, DWORD str_len, WORD flags, BOOL flat)
static HRESULT WINAPI RegExp2_QueryInterface(IRegExp2 *iface, REFIID riid, void **ppv)
static HRESULT WINAPI Match_GetTypeInfoCount(IMatch *iface, UINT *pctinfo)
static HRESULT WINAPI RegExp2_Invoke(IRegExp2 *iface, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
static const IRegExp2Vtbl RegExp2Vtbl
PFLT_MESSAGE_WAITER_QUEUE CONTAINING_RECORD(Csq, DEVICE_EXTENSION, IrpQueue)) -> WaiterQ.mLock) _IRQL_raises_(DISPATCH_LEVEL) VOID NTAPI FltpAcquireMessageWaiterLock(_In_ PIO_CSQ Csq, _Out_ PKIRQL Irql)
static HRESULT WINAPI MatchCollection2_GetTypeInfoCount(IMatchCollection2 *iface, UINT *pctinfo)
static HRESULT WINAPI Match_GetIDsOfNames(IMatch *iface, REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
static ULONG WINAPI MatchCollectionEnum_AddRef(IEnumVARIANT *iface)
static HRESULT WINAPI SubMatches_get_Item(ISubMatches *iface, LONG index, VARIANT *pSubMatch)
static HRESULT WINAPI RegExp2_put_Pattern(IRegExp2 *iface, BSTR pattern)
INT replace(TCHAR source[MAX_PATH], TCHAR dest[MAX_PATH], DWORD dwFlags, BOOL *doMore)
static HRESULT WINAPI MatchCollection_QueryInterface(IMatchCollection *iface, REFIID riid, void **ppv)
static HRESULT WINAPI RegExp2_put_Multiline(IRegExp2 *iface, VARIANT_BOOL multiline)
static SubMatches * impl_from_ISubMatches(ISubMatches *iface)
static HRESULT WINAPI RegExp_QueryInterface(IRegExp *iface, REFIID riid, void **ppv)
static HRESULT WINAPI RegExp_get_Global(IRegExp *iface, VARIANT_BOOL *pGlobal)
static HRESULT WINAPI MatchCollection2_get__NewEnum(IMatchCollection2 *iface, IUnknown **ppEnum)
static HRESULT create_enum_variant_mc2(IMatchCollection2 *mc, ULONG pos, IEnumVARIANT **enum_variant)
static HRESULT WINAPI MatchCollection_get_Item(IMatchCollection *iface, LONG index, IDispatch **ppMatch)
static HRESULT WINAPI RegExp2_get_Global(IRegExp2 *iface, VARIANT_BOOL *pGlobal)
static HRESULT WINAPI RegExp_get_IgnoreCase(IRegExp *iface, VARIANT_BOOL *pIgnoreCase)
static RegExp2 * impl_from_IRegExp(IRegExp *iface)
static Match2 * impl_from_IMatch(IMatch *iface)
static HRESULT WINAPI Match_QueryInterface(IMatch *iface, REFIID riid, void **ppv)
static HRESULT WINAPI RegExp2_GetIDsOfNames(IRegExp2 *iface, REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
static HRESULT WINAPI RegExp2_get_Multiline(IRegExp2 *iface, VARIANT_BOOL *pMultiline)
static HRESULT WINAPI SubMatches_get_Count(ISubMatches *iface, LONG *pCount)
static HRESULT WINAPI SubMatches_QueryInterface(ISubMatches *iface, REFIID riid, void **ppv)
HRESULT WINAPI DECLSPEC_HOTPATCH VariantClear(VARIANTARG *pVarg)
#define InterlockedDecrement
HRESULT regexp_execute(regexp_t *regexp, void *cx, heap_pool_t *pool, const WCHAR *str, DWORD str_len, match_state_t *result)
static HRESULT create_match_collection2(IMatchCollection2 **match_collection)
#define memcpy(s1, s2, n)
static HRESULT WINAPI RegExp2_Execute(IRegExp2 *iface, BSTR sourceString, IDispatch **ppMatches)
static HRESULT WINAPI RegExp_Test(IRegExp *iface, BSTR sourceString, VARIANT_BOOL *pMatch)
static HRESULT WINAPI RegExp_put_IgnoreCase(IRegExp *iface, VARIANT_BOOL pIgnoreCase)
UINT WINAPI SysStringLen(BSTR str)
static HRESULT WINAPI Match2_GetIDsOfNames(IMatch2 *iface, REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
static HRESULT WINAPI Match2_get_Value(IMatch2 *iface, BSTR *pValue)
void heap_pool_init(heap_pool_t *) DECLSPEC_HIDDEN
static MatchCollectionEnum * impl_from_IMatchCollectionEnum(IEnumVARIANT *iface)
static HRESULT WINAPI RegExp2_Replace(IRegExp2 *iface, BSTR sourceString, VARIANT replaceVar, BSTR *pDestString)
static HRESULT WINAPI Match_Invoke(IMatch *iface, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
WINE_DEFAULT_DEBUG_CHANNEL(vbscript)
static HRESULT WINAPI Match2_get_Length(IMatch2 *iface, LONG *pLength)
_In_ DWORD _Out_ _In_ WORD wFlags
static HRESULT WINAPI MatchCollection_get_Count(IMatchCollection *iface, LONG *pCount)
static HRESULT WINAPI RegExp2_Test(IRegExp2 *iface, BSTR sourceString, VARIANT_BOOL *pMatch)
struct stdole::EXCEPINFO EXCEPINFO
static const char * debugstr_variant(const VARIANT *var)
static VARIANTARG static DISPID
IEnumVARIANT IEnumVARIANT_iface
static HRESULT WINAPI Match_get_FirstIndex(IMatch *iface, LONG *pFirstIndex)
#define InterlockedIncrement
static HRESULT init_regexp_typeinfo(regexp_tid_t tid)
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
static HRESULT WINAPI Match2_get_FirstIndex(IMatch2 *iface, LONG *pFirstIndex)
static HRESULT WINAPI Match2_Invoke(IMatch2 *iface, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
static const IMatchCollectionVtbl MatchCollectionVtbl
struct MatchCollection2 MatchCollection2
static ULONG WINAPI RegExp2_Release(IRegExp2 *iface)
static HRESULT create_sub_matches(DWORD pos, match_state_t *result, SubMatches **sub_matches)
static HRESULT WINAPI RegExp2_get_IgnoreCase(IRegExp2 *iface, VARIANT_BOOL *pIgnoreCase)
static HRESULT WINAPI MatchCollection2_QueryInterface(IMatchCollection2 *iface, REFIID riid, void **ppv)
BOOL WINAPI IsEqualGUID(REFGUID rguid1, REFGUID rguid2)
static const ISubMatchesVtbl SubMatchesVtbl
static HRESULT WINAPI Match2_get_SubMatches(IMatch2 *iface, IDispatch **ppSubMatches)
static const IMatch2Vtbl Match2Vtbl
void heap_pool_free(heap_pool_t *) DECLSPEC_HIDDEN
static ULONG WINAPI Match_AddRef(IMatch *iface)
static HRESULT WINAPI Match2_QueryInterface(IMatch2 *iface, REFIID riid, void **ppv)
static const IEnumVARIANTVtbl MatchCollectionEnum_Vtbl
struct stdole::DISPPARAMS DISPPARAMS
static HRESULT WINAPI RegExp_GetTypeInfoCount(IRegExp *iface, UINT *pctinfo)
static HRESULT WINAPI MatchCollectionEnum_QueryInterface(IEnumVARIANT *iface, REFIID riid, void **ppv)
void release_regexp_typelib(void)
static HRESULT WINAPI SubMatches_GetIDsOfNames(ISubMatches *iface, REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
static RegExp2 * impl_from_IRegExp2(IRegExp2 *iface)
struct MatchCollectionEnum MatchCollectionEnum
static HRESULT WINAPI SubMatches_GetTypeInfoCount(ISubMatches *iface, UINT *pctinfo)
heap_pool_t * heap_pool_mark(heap_pool_t *) DECLSPEC_HIDDEN
HRESULT regexp_set_flags(regexp_t **regexp, void *cx, heap_pool_t *pool, WORD flags)
static HRESULT WINAPI MatchCollectionEnum_Clone(IEnumVARIANT *iface, IEnumVARIANT **ppEnum)
static HRESULT WINAPI RegExp2_GetTypeInfoCount(IRegExp2 *iface, UINT *pctinfo)
static HRESULT WINAPI Match_get_Length(IMatch *iface, LONG *pLength)
static HRESULT WINAPI SubMatches_GetTypeInfo(ISubMatches *iface, UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo)
static HRESULT WINAPI RegExp2_GetTypeInfo(IRegExp2 *iface, UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo)
static HRESULT WINAPI SubMatches_get__NewEnum(ISubMatches *iface, IUnknown **ppEnum)
static MatchCollection2 * impl_from_IMatchCollection(IMatchCollection *iface)
static MatchCollection2 * impl_from_IMatchCollection2(IMatchCollection2 *iface)
static HRESULT WINAPI RegExp_Invoke(IRegExp *iface, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
static ULONG WINAPI RegExp2_AddRef(IRegExp2 *iface)
static ULONG WINAPI SubMatches_Release(ISubMatches *iface)
static HRESULT WINAPI MatchCollection_Invoke(IMatchCollection *iface, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
static BOOL heap_free(void *mem)
static const IMatchCollection2Vtbl MatchCollection2Vtbl
void heap_pool_clear(heap_pool_t *) DECLSPEC_HIDDEN