// Generated .IDL file (by the OLE/COM Object Viewer)
// 
// typelib filename: 2

[
  uuid(3F4DACA7-160D-11D2-A8E9-00104B365C9F),
  version(1.0),
  helpstring("Microsoft VBScript Regular Expressions")
]
library VBScript_RegExp
{
    // TLib :     // TLib : OLE Automation : {00020430-0000-0000-C000-000000000046}
    importlib("stdole2.tlb");

    // Forward declare all types defined in this typelib
    interface IRegExp;
    interface IMatch;
    interface IMatchCollection;

    [
      odl,
      uuid(3F4DACA0-160D-11D2-A8E9-00104B365C9F),
      hidden,
      dual,
      nonextensible,
      oleautomation
    ]
    interface IRegExp : IDispatch {
        [id(0x00002711), propget]
        HRESULT Pattern([out, retval] BSTR* pPattern);
        [id(0x00002711), propput]
        HRESULT Pattern([in] BSTR pPattern);
        [id(0x00002712), propget]
        HRESULT IgnoreCase([out, retval] VARIANT_BOOL* pIgnoreCase);
        [id(0x00002712), propput]
        HRESULT IgnoreCase([in] VARIANT_BOOL pIgnoreCase);
        [id(0x00002713), propget]
        HRESULT Global([out, retval] VARIANT_BOOL* pGlobal);
        [id(0x00002713), propput]
        HRESULT Global([in] VARIANT_BOOL pGlobal);
        [id(0x00002714)]
        HRESULT Execute(
                        [in] BSTR sourceString, 
                        [out, retval] IMatchCollection** ppMatches);
        [id(0x00002715)]
        HRESULT Test(
                        [in] BSTR sourceString, 
                        [out, retval] VARIANT_BOOL* pMatch);
        [id(0x00002716)]
        HRESULT Replace(
                        [in] BSTR sourceString, 
                        [in] BSTR replaceString, 
                        [out, retval] BSTR* pDestString);
    };

    [
      odl,
      uuid(3F4DACA1-160D-11D2-A8E9-00104B365C9F),
      hidden,
      dual,
      nonextensible,
      oleautomation
    ]
    interface IMatch : IDispatch {
        [id(00000000), propget]
        HRESULT Value([out, retval] BSTR* pValue);
        [id(0x00002711), propget]
        HRESULT FirstIndex([out, retval] long* pFirstIndex);
        [id(0x00002712), propget]
        HRESULT Length([out, retval] long* pLength);
    };

    [
      odl,
      uuid(3F4DACA2-160D-11D2-A8E9-00104B365C9F),
      hidden,
      dual,
      nonextensible,
      oleautomation
    ]
    interface IMatchCollection : IDispatch {
        [id(0x00002711), propget]
        HRESULT Item(
                        [in] long index, 
                        [out, retval] IMatch** ppMatch);
        [id(0x00000001), propget]
        HRESULT Count([out, retval] long* pCount);
        [id(0xfffffffc), propget]
        HRESULT _NewEnum([out, retval] IUnknown** ppEnum);
    };

    [
      uuid(3F4DACA4-160D-11D2-A8E9-00104B365C9F)
    ]
    coclass RegExp {
        [default] interface IRegExp;
    };

    [
      uuid(3F4DACA5-160D-11D2-A8E9-00104B365C9F),
      noncreatable
    ]
    coclass Match {
        [default] interface IMatch;
    };

    [
      uuid(3F4DACA6-160D-11D2-A8E9-00104B365C9F),
      noncreatable
    ]
    coclass MatchCollection {
        [default] interface IMatchCollection;
    };
};