/************************************************************************
*                                                                       *
*   This file will be processed by the MIDL tool to                     *
*   produce the type library (mswteCom.tlb) and marshalling code.       *
*                                                                       *
*   Copyright (c) 1991-1999, Microsoft Corp. All rights reserved.       *
*                                                                       *
************************************************************************/


import "oaidl.idl";
import "ocidl.idl";
import "tapi3if.idl";
import "mswteImports.idl";

interface IWTEServer;
interface IWTEServers;
interface IWTETTSMode;
interface IWTETTSModes;
interface IWTESRMode;
interface IWTESRModes;
interface IWTEAddresses;
interface IWTEAddress;
interface IWTEArrays;
interface IWTEArray;
interface IWTEVendorDataSets;
interface IWTEVendorDataSet;
interface IWTELog;
interface IWTEApplications;
interface IWTEApplication;
interface IWTEAddressGroups;
interface IWTEAddressGroup;
interface IWTEDNISes;
interface IWTEDNIS;

#ifndef VARIANT_FALSE
    #define VARIANT_FALSE ((VARIANT_BOOL)0)
#endif

    [
        object,
        uuid(B83E8310-336C-11D3-8657-0090272F9EEB),
        dual,
        helpstring("IWTE Interface"),
        pointer_default(unique)
    ]
    interface IWTE : IDispatch
    {
        [propget, id(1), helpstring("property Arrays")]
         HRESULT Arrays([out, retval] IWTEArrays **pVal);

        [id(2), helpstring("method Save")]
         HRESULT Save([in, defaultvalue(VARIANT_FALSE)] VARIANT_BOOL SaveOnlyIfCurrent);

        [id(3), helpstring("method Refresh")]
         HRESULT Refresh();

        [propget, id(4), helpstring("property VendorDataSets")]
         HRESULT VendorDataSets([out, retval] IWTEVendorDataSets **pVal);
    };
    
    [
        object,
        uuid(B83E8311-336C-11D3-8657-0090272F9EEB),
        dual,
        helpstring("IWTEArrays Interface"),
        pointer_default(unique)
    ]
    interface IWTEArrays : IDispatch
    {
        [id(1), helpstring("method Save")]
         HRESULT Save([in, defaultvalue(VARIANT_FALSE)] VARIANT_BOOL SaveOnlyIfCurrent);

        [id(2), helpstring("method Refresh")]
         HRESULT Refresh();

        [propget, id(3), helpstring("property Count")]
         HRESULT Count([out, retval] long *pVal);

        [id(DISPID_VALUE), helpstring("method Item")]
         HRESULT Item(VARIANT v, [out, retval] IWTEArray **pItem);

        [propget, id(DISPID_NEWENUM), helpstring("property _NewEnum")]
         HRESULT _NewEnum([out, retval] IUnknown **pVal);

        [id(4), helpstring("method CurrentArray")]
         HRESULT GetContainingArray([out, retval] IWTEArray **pItem);

        [propget, id(5), helpstring("property VendorDataSets")]
         HRESULT VendorDataSets([out, retval] IWTEVendorDataSets **pVal);

        [id(6), helpstring("method Remove")]
         HRESULT Remove(VARIANT v);
    };

    [
        object,
        uuid(B83E8312-336C-11D3-8657-0090272F9EEB),
        dual,
        helpstring("IWTEArray Interface"),
        pointer_default(unique)
    ]
    interface IWTEArray : IDispatch
    {
        [propget, id(DISPID_VALUE), helpstring("property Name")]
         HRESULT Name([out, retval] BSTR *pVal);
        [propput, id(DISPID_VALUE), helpstring("property Name")]
         HRESULT Name([in] BSTR newVal);

        [propget, id(1), helpstring("property Description")]
         HRESULT Description([out, retval] BSTR *pVal);
        [propput, id(1), helpstring("property Description")]
         HRESULT Description([in] BSTR newVal);

        [propget, helpstring("property Servers")]
         HRESULT Servers([out, retval] IWTEServers **pVal);

        [propget, helpstring("property Applications")]
         HRESULT Applications([out, retval] IWTEApplications **pVal);

        [propget, helpstring("property AddressGroups")]
         HRESULT AddressGroups([out, retval] IWTEAddressGroups **pVal);

        [propget, helpstring("property Log")]
         HRESULT Log([out, retval] IWTELog **pVal);

        [propget, helpstring("property VendorDataSets")]
         HRESULT VendorDataSets([out, retval] IWTEVendorDataSets **pVal);

        [helpstring("method Save")]
         HRESULT Save([in, defaultvalue(VARIANT_FALSE)] VARIANT_BOOL SaveOnlyIfCurrent);

        [helpstring("method Refresh")]
         HRESULT Refresh();

    };

    [
        object,
        uuid(B83E8313-336C-11D3-8657-0090272F9EEB),
        dual,
        helpstring("IWTEServers Interface"),
        pointer_default(unique)
    ]
    interface IWTEServers : IDispatch
    {
        [propget, id(1), helpstring("property Count")]
         HRESULT Count([out, retval] long *pVal);

        [id(2), helpstring("method Save")]
         HRESULT Save([in, defaultvalue(VARIANT_FALSE)] VARIANT_BOOL SaveOnlyIfCurrent);

        [id(3), helpstring("method Refresh")]
         HRESULT Refresh();

        [id(DISPID_VALUE), helpstring("method Item")]
         HRESULT Item(VARIANT v, [out, retval] IWTEServer **pItem);

        [propget, id(DISPID_NEWENUM), helpstring("property _NewEnum")]
         HRESULT _NewEnum([out, retval] IUnknown **pVal);

        [propget, id(4), helpstring("property VendorDataSets")]
         HRESULT VendorDataSets([out, retval] IWTEVendorDataSets **pVal);
    };

    [
        object,
        uuid(B83E8314-336C-11D3-8657-0090272F9EEB),
        dual,
        helpstring("IWTEServer Interface"),
        pointer_default(unique)
    ]
    interface IWTEServer : IDispatch
    {
        [propget, id(DISPID_VALUE), helpstring("property Name")]
         HRESULT Name([out, retval] BSTR *pVal);

        [propget, id(1), helpstring("property ProductVersion")]
         HRESULT ProductVersion([out, retval] BSTR *pVal);

        [propget, id(2), helpstring("property Description")]
         HRESULT Description([out, retval] BSTR *pVal);
        [propput, id(2), helpstring("property Description")]
         HRESULT Description([in] BSTR newVal);

        [propget, id(3), helpstring("property Addresses")]
         HRESULT Addresses([out, retval] IWTEAddresses **pVal);

        [propget, id(4), helpstring("property TTSModes")]
         HRESULT TTSModes([out, retval] IWTETTSModes **pVal);

        [propget, id(5), helpstring("property SRModes")]
         HRESULT SRModes([out, retval] IWTESRModes **pVal);

        [id(8), helpstring("method Save")]
         HRESULT Save([in, defaultvalue(VARIANT_FALSE)] VARIANT_BOOL SaveOnlyIfCurrent);

        [id(9), helpstring("method Refresh")]
         HRESULT Refresh();

        [propget, id(10), helpstring("property VendorDataSets")]
         HRESULT VendorDataSets([out, retval] IWTEVendorDataSets **pVal);

    };
    
    [
        object,
        uuid(23383000-6c46-11d3-8661-0090272f9eeb),
        dual,
        helpstring("IWTETTSModes Interface"),
        pointer_default(unique)
    ]
    interface IWTETTSModes : IDispatch
    {
        [propget, id(1), helpstring("property Count")]
         HRESULT Count([out, retval] long *pVal);

        [id(2), helpstring("method Refresh")]
         HRESULT Refresh();

        [id(DISPID_VALUE), helpstring("method Item")]
         HRESULT Item(VARIANT v, [out, retval] IWTETTSMode **pItem);

        [propget, id(DISPID_NEWENUM), helpstring("property _NewEnum")]
         HRESULT _NewEnum([out, retval] IUnknown **pVal);

        [propget, id(5), helpstring("property VendorDataSets")]
         HRESULT VendorDataSets([out, retval] IWTEVendorDataSets **pVal);
    };

    [
        object,
        uuid(a0293ef0-6e66-11d3-8661-0090272f9eeb),
        dual,
        helpstring("IWTESRModes Interface"),
        pointer_default(unique)
    ]
    interface IWTESRModes : IDispatch
    {
        [propget, id(1), helpstring("property Count")]
         HRESULT Count([out, retval] long *pVal);

        [id(2), helpstring("method Refresh")]
         HRESULT Refresh();

        [id(DISPID_VALUE), helpstring("method Item")]
         HRESULT Item(VARIANT v, [out, retval] IWTESRMode **pItem);

        [propget, id(DISPID_NEWENUM), helpstring("property _NewEnum")]
         HRESULT _NewEnum([out, retval] IUnknown **pVal);

        [propget, id(5), helpstring("property VendorDataSets")]
         HRESULT VendorDataSets([out, retval] IWTEVendorDataSets **pVal);
    };

    [
        object,
        uuid(B83E8315-336C-11D3-8657-0090272F9EEB),
        dual,
        helpstring("IWTEAddresses Interface"),
        pointer_default(unique)
    ]
    interface IWTEAddresses : IDispatch
    {
        [propget, id(1), helpstring("property Count")]
         HRESULT Count([out, retval] long *pVal);

        [id(2), helpstring("method Save")]
         HRESULT Save([in, defaultvalue(VARIANT_FALSE)] VARIANT_BOOL SaveOnlyIfCurrent);

        [id(3), helpstring("method Refresh")]
         HRESULT Refresh();

        [id(DISPID_VALUE), helpstring("method Item")]
         HRESULT Item(VARIANT v, [out, retval] IWTEAddress **pItem);

        [propget, id(DISPID_NEWENUM), helpstring("property _NewEnum")]
         HRESULT _NewEnum([out, retval] IUnknown **pVal);

        [propget, id(5), helpstring("property VendorDataSets")]
         HRESULT VendorDataSets([out, retval] IWTEVendorDataSets **pVal);
    };

    [
        object,
        uuid(B83E8316-336C-11D3-8657-0090272F9EEB),
        dual,
        helpstring("IWTEAddress Interface"),
        pointer_default(unique)
    ]
    interface IWTEAddress : IDispatch
    {
        [propget, id(1), helpstring("property Name")]
         HRESULT Name([out, retval] BSTR *pVal);

        [propget, id(2), helpstring("property SupportsCalledID")]
         HRESULT SupportsCalledID([out, retval] VARIANT_BOOL *pVal);

        [propget, id(3), helpstring("property DialableAddress")]
         HRESULT DialableAddress([out, retval] BSTR *pVal);

        [propput, id(4), helpstring("property AssignedApplication")]
         HRESULT AssignedApplication([in] BSTR newVal);
        [propget, id(4), helpstring("property AssignedApplication")]
         HRESULT AssignedApplication([out, retval] BSTR *pVal);

        [propget, id(5), helpstring("property Description")]
         HRESULT Description([out, retval] BSTR *pVal);
        [propput, id(5), helpstring("property Description")] 
         HRESULT Description([in] BSTR newVal);
        
        [propput, id(6), helpstring("property AssignedGroup")]
         HRESULT AssignedGroup([in] BSTR newVal);
        [propget, id(6), helpstring("property AssignedGroup")]
         HRESULT AssignedGroup([out, retval] BSTR *pVal);

        [propget, id(21), helpstring("property VendorDataSets")]
         HRESULT VendorDataSets([out, retval] IWTEVendorDataSets **pVal);

        [id(22), helpstring("method Save")]
         HRESULT Save([in, defaultvalue(VARIANT_FALSE)] VARIANT_BOOL SaveOnlyIfCurrent);

        [id(23), helpstring("method Refresh")]
         HRESULT Refresh();
    };

    [
        object,
        uuid(667d6160-5a22-11d3-865d-0090272f9eeb),
        dual,
        helpstring("IWTEAddressGroups Interface"),
        pointer_default(unique)
    ]
    interface IWTEAddressGroups : IDispatch
    {
        [propget, id(1), helpstring("property Count")]
         HRESULT Count([out, retval] long *pVal);

        [id(2), helpstring("method Save")]
         HRESULT Save([in, defaultvalue(VARIANT_FALSE)] VARIANT_BOOL SaveOnlyIfCurrent);

        [id(3), helpstring("method Refresh")]
         HRESULT Refresh();

        [id(DISPID_VALUE), helpstring("method Item")]
         HRESULT Item(VARIANT v, [out, retval] IWTEAddressGroup **pItem);

        [propget, id(DISPID_NEWENUM), helpstring("property _NewEnum")]
         HRESULT _NewEnum([out, retval] IUnknown **pVal);

        [propget, id(5), helpstring("property VendorDataSets")]
         HRESULT VendorDataSets([out, retval] IWTEVendorDataSets **pVal);
         
        [id(6), helpstring("method Add")]
        HRESULT Add([in] BSTR Name, [out,retval] IWTEAddressGroup **ppNew);
        
        [id(7), helpstring("method Remove")]
        HRESULT Remove(VARIANT v);

    };

    [
        object,
        uuid(680b55a0-5a27-11d3-865d-0090272f9eeb),
        dual,
        helpstring("IWTEAddressGroup Interface"),
        pointer_default(unique)
    ]
    interface IWTEAddressGroup : IDispatch
    {
        [propget, id(1), helpstring("property Name")]
        HRESULT Name([out, retval] BSTR *pName);
        [propput, id(1), helpstring("property Name")]
        HRESULT Name([in] BSTR Name);

        [propget, id(2), helpstring("property Description")]
        HRESULT Description([out, retval] BSTR *pDescription);
        [propput, id(2), helpstring("property Description")]
        HRESULT Description([in] BSTR Description);

        [propget, id(3), helpstring("property DNISes")]
         HRESULT DNISes([out, retval] IWTEDNISes **ppVal);

        [id(10), helpstring("method Save")]
         HRESULT Save([in, defaultvalue(VARIANT_FALSE)] VARIANT_BOOL SaveOnlyIfCurrent);

        [id(11), helpstring("method Refresh")]
         HRESULT Refresh();

        [propget, id(20), helpstring("property VendorDataSets")]
         HRESULT VendorDataSets([out, retval] IWTEVendorDataSets **pVal);
    
    };

    [
        object,
        uuid(36776540-5a29-11d3-865d-0090272f9eeb),
        dual,
        helpstring("IWTEDNISes Interface"),
        pointer_default(unique)
    ]
    interface IWTEDNISes : IDispatch
    {
        [propget, id(3), helpstring("property Count")]
         HRESULT Count([out, retval] long *pVal);

        [id(4), helpstring("method Save")]
         HRESULT Save([in, defaultvalue(VARIANT_FALSE)] VARIANT_BOOL SaveOnlyIfCurrent);

        [id(5), helpstring("method Refresh")]
         HRESULT Refresh();

        [id(DISPID_VALUE), helpstring("method Item")]
         HRESULT Item(VARIANT v, [out, retval] IWTEDNIS **pItem);

        [propget, id(DISPID_NEWENUM), helpstring("property _NewEnum")]
         HRESULT _NewEnum([out, retval] IUnknown **pVal);

        [propget, id(6), helpstring("property VendorDataSets")]
         HRESULT VendorDataSets([out, retval] IWTEVendorDataSets **pVal);
         
        [id(7), helpstring("method Add")]
        HRESULT Add([in] BSTR Name, [in] BSTR DialedNumberIdentification, [out,retval] IWTEDNIS **ppNew);
        
        [id(8), helpstring("method Remove")]
        HRESULT Remove(VARIANT v);

    };

    [
        object,
        uuid(02468d40-5a2e-11d3-865d-0090272f9eeb),
        dual,
        helpstring("IWTEDNIS Interface"),
        pointer_default(unique)
    ]
    interface IWTEDNIS : IDispatch
    {
        [propget, id(1), helpstring("property Name")]
        HRESULT Name([out, retval] BSTR *pName);
        [propput, id(1), helpstring("property Name")]
        HRESULT Name([in] BSTR Name);
        
        [propget, id(2), helpstring("property Description")]
        HRESULT Description([out, retval] BSTR *pDescription);
        [propput, id(2), helpstring("property Description")]
        HRESULT Description([in] BSTR Description);
        
        [propget, id(3), helpstring("property DialedNumberIdentification")]
        HRESULT DialedNumberIdentification([out, retval] BSTR *pDialedNumberIdentification);
        [propput, id(3), helpstring("property DialedNumberIdentification")]
        HRESULT DialedNumberIdentification([in] BSTR DialedNumberIdentification);
        
        [propput, id(4), helpstring("property AssignedApplication")]
         HRESULT AssignedApplication([in] BSTR newVal);
        [propget, id(4), helpstring("property AssignedApplication")]
         HRESULT AssignedApplication([out, retval] BSTR *pVal);
        
        [id(10), helpstring("method Save")]
        HRESULT Save([in, defaultvalue(VARIANT_FALSE)] VARIANT_BOOL SaveOnlyIfCurrent);
        
        [id(11), helpstring("method Refresh")]
        HRESULT Refresh();
        
        [propget, id(20), helpstring("property VendorDataSets")]
         HRESULT VendorDataSets([out, retval] IWTEVendorDataSets **pVal);
    };

    [
            object,
            uuid(B83E8318-336C-11D3-8657-0090272F9EEB),
            dual,
            helpstring("IWTEVendorDataSets Interface"),
            pointer_default(unique)
    ]
    interface IWTEVendorDataSets : IDispatch
    {
        [id(DISPID_VALUE), helpstring("method Item")]
        HRESULT Item(VARIANT v, [out, retval] IWTEVendorDataSet **pItem);

        [propget, id(DISPID_NEWENUM), helpstring("property _NewEnum")]
        HRESULT _NewEnum([out, retval] IUnknown **pVal);
        
        [propget, id(1), helpstring("property Count")]
        HRESULT Count([out, retval] long *pVal);

        [id(2), helpstring("method Save")]
        HRESULT Save([in, defaultvalue(VARIANT_FALSE)] VARIANT_BOOL SaveOnlyIfCurrent);
        
        [id(3), helpstring("method Refresh")]
        HRESULT Refresh();
        
        [id(5), helpstring("method Add")]
        HRESULT Add([in] BSTR Id, [out,retval] IWTEVendorDataSet **ppNewSet);
        
        [id(6), helpstring("method Remove")]
        HRESULT  Remove(VARIANT v);
    };

    [
        object,
        uuid(B83E831D-336C-11D3-8657-0090272F9EEB),
        dual,
        helpstring("IWTEVendorDataSet Interface"),
        pointer_default(unique)
    ]
    interface IWTEVendorDataSet : IDispatch
    {
        [propget, id(DISPID_VALUE), helpstring("property Value")]
        HRESULT Value([in] BSTR Name, [out, retval] VARIANT *pVal);
        [propput, id(DISPID_VALUE), helpstring("property Value")]
        HRESULT Value([in] BSTR Name, [in] VARIANT newVal);
        
        [propget, id(1), helpstring("property Name")]
        HRESULT Name([out, retval] BSTR *pName);
        
        [helpstring("method RemoveValue")]
        HRESULT RemoveValue([in] BSTR Name);
        
        [helpstring("method Save")]
        HRESULT Save([in, defaultvalue(VARIANT_FALSE)] VARIANT_BOOL SaveOnlyIfCurrent);
        
        [helpstring("method Refresh")]
        HRESULT Refresh();
		        
        [helpstring("method WaitForChanges - for C/C++ only (do not work with DCOM)"), hidden]
        HRESULT WaitForChanges([in] DWORD/*HANDLE*/ hEvent);
        
        
        [propget, id(2), helpstring("property AllNames")]
        HRESULT AllNames([out, retval] VARIANT *pItem);
    };



    [
            object,
            uuid(B83E831F-336C-11D3-8657-0090272F9EEB),
            dual,
            helpstring("IWTELog Interface"),
            pointer_default(unique)
    ]
    interface IWTELog : IDispatch
    {
        [id(1), helpstring("method Save")] HRESULT Save([in, defaultvalue(VARIANT_FALSE)] VARIANT_BOOL SaveOnlyIfCurrent);
        
        [id(2), helpstring("method Refresh")] HRESULT Refresh();
        
        [propget, id(10), helpstring("property LogType")]
        HRESULT LogType([out, retval] LogType *pVal);
        [propput, id(10), helpstring("property LogType")]
        HRESULT LogType([in] LogType newVal);
        
        [propget, id(11), helpstring("property LogFilePeriod")]
        HRESULT LogFilePeriod([out, retval] LogPeriodType *pVal);
        [propput, id(11), helpstring("property LogFilePeriod")]
        HRESULT LogFilePeriod([in] LogPeriodType newVal);
        
        [propget, id(12), helpstring("property LogFieldSelection")]
        HRESULT LogFieldSelection([out, retval] int *pVal);
        [propput, id(12), helpstring("property LogFieldSelection")]
        HRESULT LogFieldSelection([in] int newVal);
        
        [propget, id(13), helpstring("property LogFilesCompress")]
        HRESULT LogFilesCompress([out, retval] VARIANT_BOOL *pVal);
        [propput, id(13), helpstring("property LogFilesCompress")]
        HRESULT LogFilesCompress([in] VARIANT_BOOL newVal);
        
        [propget, id(14), helpstring("property LogFileDirectory")]
        HRESULT LogFileDirectory([out, retval] BSTR *pVal);
        [propput, id(14), helpstring("property LogFileDirectory")]
        HRESULT LogFileDirectory([in] BSTR newVal);
        
        [propget, id(15), helpstring("property LogSqlDataSource")]
        HRESULT LogSqlDataSource([out, retval] BSTR *pVal);
        [propput, id(15), helpstring("property LogSqlDataSource")]
        HRESULT LogSqlDataSource([in] BSTR newVal);
        
        [propget, id(16), helpstring("property LogSqlTableName")]
        HRESULT LogSqlTableName([out, retval] BSTR *pVal);
        [propput, id(16), helpstring("property LogSqlTableName")]
        HRESULT LogSqlTableName([in] BSTR newVal);
        
        [propget, id(17), helpstring("property LogFileDirectoryType")]
        HRESULT LogFileDirectoryType([out, retval] LogFileDirectoryType *pVal);
        [propput, id(17), helpstring("property LogFileDirectoryType")]
        HRESULT LogFileDirectoryType([in] LogFileDirectoryType newVal);

        [propget, id(18), helpstring("property LogEnabled")]
         HRESULT LogEnabled([out, retval] VARIANT_BOOL *pVal);
        [propput, id(18), helpstring("property LogEnabled")]
         HRESULT LogEnabled([in] VARIANT_BOOL newVal);
    };

    [
        object,
        uuid(B83E8321-336C-11D3-8657-0090272F9EEB),
        dual,
        helpstring("IWTEApplications Interface"),
        pointer_default(unique)
    ]
    interface IWTEApplications : IDispatch
    {
        [propget, id(1), helpstring("property Count")]
        HRESULT Count([out, retval] long *retval);
        
        [propget, id(14), helpstring("property VendorDataSets")]
        HRESULT VendorDataSets([out, retval] IWTEVendorDataSets **pVal);
        
        [id(DISPID_VALUE), helpstring("Item")]
        HRESULT Item([in] VARIANT Index, [out, retval] IWTEApplication **retval);
        
        [propget, restricted, id(DISPID_NEWENUM), helpstring("property _NewEnum")]
        HRESULT _NewEnum([out, retval] LPUNKNOWN *retval);
        
        [id(10), helpstring("method Add")]
        HRESULT Add([in] BSTR Name, [in] BSTR HomePage,
        [out, retval] IWTEApplication **ppVal);
        
        [id(11), helpstring("method Remove")]
        HRESULT Remove([in] VARIANT v);
        
        [id(12), helpstring("method Refresh")]
        HRESULT Refresh();
        
        [id(13), helpstring("method Save")]
        HRESULT Save([in, defaultvalue(VARIANT_FALSE)] VARIANT_BOOL SaveOnlyIfCurrent);
    };


	// <bop .Description>, <bop .DetectABCD>, <bop .DownloadControlFlags>, <bop .PostCallPage>, <bop .FirstTimeoutInterval>,
	// <bop .HomeKey>, <bop .IgnoreNavigationKeysTillTermination>, <bop .InvalidKeyAnnouncement>, <bop .InitialAutoNumber>,
	// <bop .HomePage>, <bop .InputTerminator>, <bop .InterTimeoutInterval>, <bop .LogEventSelection>,
    [
        object,
        uuid(B83E8322-336C-11D3-8657-0090272F9EEB),
        dual,
        helpstring("IWTEApplication Interface"),
        pointer_default(unique)
    ]
    interface IWTEApplication : IDispatch
    {
        [id(1), helpstring("method Refresh")]
        HRESULT Refresh();
        
        [id(2), helpstring("method Save")]
        HRESULT Save([in, defaultvalue(VARIANT_FALSE)] VARIANT_BOOL SaveOnlyIfCurrent);
        
        [propget, id(9), helpstring("property VendorDataSets")]
        HRESULT VendorDataSets([out, retval] IWTEVendorDataSets **pVal);
        
        [propget, id(10), helpstring("property Name")]
        HRESULT Name([out, retval] BSTR *pVal);
        [propput, id(10), helpstring("property Name")]
        HRESULT Name([in] BSTR newVal);
        
        [propget, id(11), helpstring("property Description")]
        HRESULT Description([out, retval] BSTR *pVal);
        [propput, id(11), helpstring("property Description")]
        HRESULT Description([in] BSTR newVal);
        
        [propget, id(12), helpstring("property HomePage")]
        HRESULT HomePage([out, retval] BSTR *pVal);
        [propput, id(12), helpstring("property HomePage")]
        HRESULT HomePage([in] BSTR newVal);
        
        [propget, id(14), helpstring("property InputTerminator")]
        HRESULT InputTerminator([out, retval] BSTR *pVal);
        [propput, id(14), helpstring("property InputTerminator")]
        HRESULT InputTerminator([in] BSTR newVal);
        
        [propget, id(15), helpstring("property BackKey")]
        HRESULT BackKey([out, retval] BSTR *pVal);
        [propput, id(15), helpstring("property BackKey")]
        HRESULT BackKey([in] BSTR newVal);
        
        [propget, id(16), helpstring("property HomeKey")]
        HRESULT HomeKey([out, retval] BSTR *pVal);
        [propput, id(16), helpstring("property HomeKey")]
        HRESULT HomeKey([in] BSTR newVal);
        
        [propget, id(17), helpstring("property OperatorKey")]
        HRESULT OperatorKey([out, retval] BSTR *pVal);
        [propput, id(17), helpstring("property OperatorKey")]
        HRESULT OperatorKey([in] BSTR newVal);
        
        [propget, id(18), helpstring("property OperatorExtension")]
        HRESULT OperatorExtension([out, retval] BSTR *pVal);
        [propput, id(18), helpstring("property OperatorExtension")]
        HRESULT OperatorExtension([in] BSTR newVal);
        
        [propget, id(19), helpstring("property ClickButtonKey")]
        HRESULT ClickButtonKey([out, retval] BSTR *pVal);
        [propput, id(19), helpstring("property ClickButtonKey")]
        HRESULT ClickButtonKey([in] BSTR newVal);
        
        [propget, id(20), helpstring("property SkipButtonKey")]
        HRESULT SkipButtonKey([out, retval] BSTR *pVal);
        [propput, id(20), helpstring("property SkipButtonKey")]
        HRESULT SkipButtonKey([in] BSTR newVal);
        
        [propget, id(21), helpstring("property SelectCheckBoxKey")]
        HRESULT SelectCheckBoxKey([out, retval] BSTR *pVal);
        [propput, id(21), helpstring("property SelectCheckBoxKey")]
        HRESULT SelectCheckBoxKey([in] BSTR newVal);
        
        [propget, id(22), helpstring("property ClearCheckBoxKey")]
        HRESULT ClearCheckBoxKey([out, retval] BSTR *pVal);
        [propput, id(22), helpstring("property ClearCheckBoxKey")]
        HRESULT ClearCheckBoxKey([in] BSTR newVal);
        
		//      (SELECT MULTIPLE).
        [propget, id(23), helpstring("property IgnoreNavigationKeysTillTermination")]
        HRESULT IgnoreNavigationKeysTillTermination([out, retval] VARIANT_BOOL *pVal);
        [propput, id(23), helpstring("property IgnoreNavigationKeysTillTermination")]
        HRESULT IgnoreNavigationKeysTillTermination([in] VARIANT_BOOL newVal);
        
        [propget, id(24), helpstring("property DetectABCD")]
        HRESULT DetectABCD([out, retval] VARIANT_BOOL *pVal);
        [propput, id(24), helpstring("property DetectABCD")]
        HRESULT DetectABCD([in] VARIANT_BOOL newVal);
        
        [propget, id(25), helpstring("property MaxRecordTime")]
        HRESULT MaxRecordTime([out, retval] int *pVal);
        [propput, id(25), helpstring("property MaxRecordTime")]
        HRESULT MaxRecordTime([in] int newVal);
        
        [propget, id(26), helpstring("property RecordStopSilenceTime")]
        HRESULT RecordStopSilenceTime([out, retval] int *pVal);
        [propput, id(26), helpstring("property RecordStopSilenceTime")]
        HRESULT RecordStopSilenceTime([in] int newVal);
        
        [propget, id(27), helpstring("property InvalidKeyAnnouncement")]
        HRESULT InvalidKeyAnnouncement([out, retval] BSTR *pVal);
        [propput, id(27), helpstring("property InvalidKeyAnnouncement")]
        HRESULT InvalidKeyAnnouncement([in] BSTR newVal);
        
        [propget, id(28), helpstring("property TimeoutAnnouncement")]
        HRESULT TimeoutAnnouncement([out, retval] BSTR *pVal);
        [propput, id(28), helpstring("property TimeoutAnnouncement")]
        HRESULT TimeoutAnnouncement([in] BSTR newVal);
        
        [propget, id(29), helpstring("property MaxRetries")]
        HRESULT MaxRetries([out, retval] int *pVal);
        [propput, id(29), helpstring("property MaxRetries")]
        HRESULT MaxRetries([in] int newVal);
        
        [propget, id(30), helpstring("property FirstTimeoutInterval")]
        HRESULT FirstTimeoutInterval([out, retval] int *pVal);
        [propput, id(30), helpstring("property FirstTimeoutInterval")]
        HRESULT FirstTimeoutInterval([in] int newVal);
        
        [propget, id(31), helpstring("property InterTimeoutInterval")]
        HRESULT InterTimeoutInterval([out, retval] int *pVal);
        [propput, id(31), helpstring("property InterTimeoutInterval")]
        HRESULT InterTimeoutInterval([in] int newVal);
        
        [propget, id(32), helpstring("property RecurringErrorPage")]
        HRESULT RecurringErrorPage([out, retval] BSTR *pVal);
        [propput, id(32), helpstring("property RecurringErrorPage")]
        HRESULT RecurringErrorPage([in] BSTR newVal);
        
        [propget, id(33), helpstring("property RenderTTS")]
        HRESULT RenderTTS([out, retval] VARIANT_BOOL *pVal);
        [propput, id(33), helpstring("property RenderTTS")]
        HRESULT RenderTTS([in] VARIANT_BOOL newVal);
        
        [propget, id(34), helpstring("property TTSParameters")]
        HRESULT TTSParameters([out, retval] BSTR *pVal);
        [propput, id(34), helpstring("property TTSParameters")]
        HRESULT TTSParameters([in] BSTR newVal);
        
        [propget, id(35), helpstring("property SRParameters")]
        HRESULT SRParameters([out, retval] BSTR *pVal);
        [propput, id(35), helpstring("property SRParameters")]
        HRESULT SRParameters([in] BSTR newVal);
        
        [propget, id(36), helpstring("property LogEventSelection")]
        HRESULT LogEventSelection([out, retval] int *pVal);
        [propput, id(36), helpstring("property LogEventSelection")]
        HRESULT LogEventSelection([in] int newVal);
        
        [propget, id(37), helpstring("property DelayedAnswering")]
        HRESULT DelayedAnswering([out, retval] VARIANT_BOOL *pVal);
        [propput, id(37), helpstring("property DelayedAnswering")]
        HRESULT DelayedAnswering([in] VARIANT_BOOL newVal);
        
        [propget, id(38), helpstring("property PostCallPage")]
        HRESULT PostCallPage([out, retval] BSTR *pVal);
        [propput, id(38), helpstring("property PostCallPage")]
        HRESULT PostCallPage([in] BSTR newVal);
        
        [propget, id(39), helpstring("property RenderTablesAsTabularData")]
        HRESULT RenderTablesAsTabularData([out, retval] VARIANT_BOOL *pVal);
        [propput, id(39), helpstring("property RenderTablesAsTabularData")]
        HRESULT RenderTablesAsTabularData([in] VARIANT_BOOL newVal);
        
        [propget, id(40), helpstring("property InitialAutoNumber")]
        HRESULT InitialAutoNumber([out, retval] BSTR *pVal);
        [propput, id(40), helpstring("property InitialAutoNumber")]
        HRESULT InitialAutoNumber([in] BSTR newVal);
        
        [propget, id(41), helpstring("property ShutdownTime")]
        HRESULT ShutdownTime([out, retval] int *pVal);
        [propput, id(41), helpstring("property ShutdownTime")]
        HRESULT ShutdownTime([in] int newVal);
        
        [propget, id(42), helpstring("property ShutdownAnnouncement")]
        HRESULT ShutdownAnnouncement([out, retval] BSTR *pVal);
        [propput, id(42), helpstring("property ShutdownAnnouncement")]
        HRESULT ShutdownAnnouncement([in] BSTR newVal);
        
        [propget, id(43), helpstring("property SRThreshold")]
        HRESULT SRThreshold([out, retval] int *pVal);
        [propput, id(43), helpstring("property SRThreshold")]
        HRESULT SRThreshold([in] int newVal);
        
        [propget, id(44), helpstring("property UseSR")]
        HRESULT UseSR([out, retval] VARIANT_BOOL *pVal);
        [propput, id(44), helpstring("property UseSR")]
        HRESULT UseSR([in] VARIANT_BOOL newVal);
        
        [propget, id(45), helpstring("property ConfirmBefore")]
        HRESULT ConfirmBefore([out, retval] BSTR *pVal);
        [propput, id(45), helpstring("property ConfirmBefore")]
        HRESULT ConfirmBefore([in] BSTR newVal);
        
        [propget, id(46), helpstring("property ConfirmAfter")]
        HRESULT ConfirmAfter([out, retval] BSTR *pVal);
        [propput, id(46), helpstring("property ConfirmAfter")]
        HRESULT ConfirmAfter([in] BSTR newVal);
        
        [propget, id(47), helpstring("property OfferItems")]
        HRESULT OfferItems([out, retval] VARIANT_BOOL *pVal);
        [propput, id(47), helpstring("property OfferItems")]
        HRESULT OfferItems([in] VARIANT_BOOL newVal);
        
        [propget, id(48), helpstring("property ClickButtonPhrases")]
        HRESULT ClickButtonPhrases([out, retval] BSTR *pVal);
        [propput, id(48), helpstring("property ClickButtonPhrases")]
        HRESULT ClickButtonPhrases([in] BSTR newVal);
        
        [propget, id(49), helpstring("property SkipButtonPhrases")]
        HRESULT SkipButtonPhrases([out, retval] BSTR *pVal);
        [propput, id(49), helpstring("property SkipButtonPhrases")]
        HRESULT SkipButtonPhrases([in] BSTR newVal);
        
        [propget, id(50), helpstring("property SelectCheckBoxPhrases")]
        HRESULT SelectCheckBoxPhrases([out, retval] BSTR *pVal);
        [propput, id(50), helpstring("property SelectCheckBoxPhrases")]
        HRESULT SelectCheckBoxPhrases([in] BSTR newVal);
        
        [propget, id(51), helpstring("property ClearCheckBoxPhrases")]
        HRESULT ClearCheckBoxPhrases([out, retval] BSTR *pVal);
        [propput, id(51), helpstring("property ClearCheckBoxPhrases")]
        HRESULT ClearCheckBoxPhrases([in] BSTR newVal);
        
        [propget, id(52), helpstring("property NavigationAnnouncement")]
        HRESULT NavigationAnnouncement([out, retval] BSTR *pVal);
        [propput, id(52), helpstring("property NavigationAnnouncement")]
        HRESULT NavigationAnnouncement([in] BSTR newVal);
        
        [propget, id(53), helpstring("property RepeatMenuAnnouncement")]
        HRESULT RepeatMenuAnnouncement([out, retval] BSTR *pVal);
        [propput, id(53), helpstring("property RepeatMenuAnnouncement")]
        HRESULT RepeatMenuAnnouncement([in] BSTR newVal);
        
        [propget, id(54), helpstring("property RepeatMenuKey")]
        HRESULT RepeatMenuKey([out, retval] BSTR *pVal);
        [propput, id(54), helpstring("property RepeatMenuKey")]
        HRESULT RepeatMenuKey([in] BSTR newVal);
        
        [propget, id(55), helpstring("property DownloadControlFlags")]
        HRESULT DownloadControlFlags([out, retval] int *pVal);
        [propput, id(55), helpstring("property DownloadControlFlags")]
        HRESULT DownloadControlFlags([in] int newVal);
        
        [propget, id(56), helpstring("property OperatorTransferType")]
        HRESULT OperatorTransferType([out, retval] int *pVal);
        [propput, id(56), helpstring("property OperatorTransferType")]
        HRESULT OperatorTransferType([in] int newVal);
        
        [propget, id(57), helpstring("property Vendor")]
        HRESULT Vendor([out, retval] BSTR *pVal);
        [propput, id(57), helpstring("property Vendor")]
        HRESULT Vendor([in] BSTR newVal);
        
        [propget, id(58), helpstring("property EnableFullConfiguration")]
        HRESULT EnableFullConfiguration([out, retval] VARIANT_BOOL *pVal);
        [propput, id(58), helpstring("property EnableFullConfiguration")]
        HRESULT EnableFullConfiguration([in] VARIANT_BOOL newVal);
        
        [propget, id(59), helpstring("property RecordStopOnAnyKey")]
        HRESULT RecordStopOnAnyKey([out, retval] VARIANT_BOOL *pVal);
        [propput, id(59), helpstring("property RecordStopOnAnyKey")]
        HRESULT RecordStopOnAnyKey([in] VARIANT_BOOL newVal);

		//////////////////////////////////////////////////////////////////////////////
        [propget, id(60), helpstring("property ConfirmationMenuAnnouncement")]
        HRESULT ConfirmationMenuAnnouncement([out, retval] BSTR *pVal);
        [propput, id(60), helpstring("property ConfirmationMenuAnnouncement")]
        HRESULT ConfirmationMenuAnnouncement([in] BSTR newVal);

		//////////////////////////////////////////////////////////////////////////////
        [propget, id(61), helpstring("property SuggestConfirmation")]
        HRESULT SuggestConfirmation([out, retval] VARIANT_BOOL *pVal);
        [propput, id(61), helpstring("property SuggestConfirmation")]
        HRESULT SuggestConfirmation([in] VARIANT_BOOL newVal);

		//////////////////////////////////////////////////////////////////////////////
        
        [propget, id(62), helpstring("property TTSWaveFormat")]
        HRESULT TTSWaveFormat([out, retval] PCMWaveFormats *pVal);
        [propput, id(62), helpstring("property TTSWaveFormat")]
        HRESULT TTSWaveFormat([in] PCMWaveFormats newVal);

		//////////////////////////////////////////////////////////////////////////////
        
        [propget, id(63), helpstring("property InputWaveFormat")]
        HRESULT InputWaveFormat([out, retval] PCMWaveFormats *pVal);
        [propput, id(63), helpstring("property InputWaveFormat")]
        HRESULT InputWaveFormat([in] PCMWaveFormats newVal);
    };
    
        [
                object,
                uuid(AFA50DD0-33A8-11D3-8658-0090272F9EEB),
                dual,
                helpstring("IApplicationConstrains Interface"),
                pointer_default(unique)
        ]
        interface IWTEStepConstrains : IDispatch
        {

            [propget, id(1), helpstring("property Type")] HRESULT Type([out, retval] long *pVal);

            [propget, id(2), helpstring("property TerminationString")] HRESULT TerminationString([out, retval] BSTR *pVal);

            [propget, id(3), helpstring("property LegalDigits")] HRESULT LegalDigits([out, retval] BSTR *pVal);

            [propget, id(4), helpstring("property InitialNumber")] HRESULT InitialNumber([out, retval] BSTR *pVal);

            [propget, id(5), helpstring("property LowerBoundary")] HRESULT LowerBoundary([out, retval] long *pVal);

            [propget, id(6), helpstring("property UpperBoundary ")] HRESULT UpperBoundary([out, retval] long *pVal);

            [propget, id(7), helpstring("property LowerBlocked")] HRESULT LowerBlocked([out, retval] long *pVal);

            [propget, id(8), helpstring("property UpperBlocked")] HRESULT UpperBlocked([out, retval] long *pVal);
        };

        [
                object,
                uuid(AFA50DD1-33A8-11D3-8658-0090272F9EEB),
                dual,
                helpstring("IWTESession Interface"),
                pointer_default(unique)
        ]
        interface IWTESession : IDispatch
        {
            [propget, id(DISPID_VALUE), helpstring("property Value")] HRESULT Value([in] BSTR bstrName, [out, retval] VARIANT *pVal);
            [propput, id(DISPID_VALUE), helpstring("property Value")] HRESULT Value([in] BSTR bstrName, [in] VARIANT *pnewVal);
            [propputref, id(DISPID_VALUE), helpstring("property Value")] HRESULT Value([in] BSTR bstrName, [in] VARIANT *pnewVal);

            [propget, id(2), helpstring("property LastVisitedPage")] HRESULT LastVisitedPage([out, retval] BSTR *pbstrLastVisitedPage);

            [propget, id(3), helpstring("property LastVisitedTagID")] HRESULT LastVisitedTagID([out, retval] BSTR *pbstrLastVisitedTagID);

            [propget, id(4), helpstring("property SessionState")] HRESULT SessionState([out, retval] BSTR *pbstrSessionState);

            [propget, id(5), helpstring("property ServerName")] HRESULT ServerName([out, retval] BSTR *pbstrServerName);

            [propget, id(6), helpstring("property SessionName")] HRESULT SessionName([out, retval] BSTR *pbstrSessionName);
        };


        [
                object,
                uuid(AFA50DD2-33A8-11D3-8658-0090272F9EEB),
                dual,
                helpstring("IWTETTSMode Interface"),
                pointer_default(unique)
        ]
        interface IWTETTSMode : IDispatch
        {
            [propget, id(1), helpstring("property EngineID")] HRESULT EngineID([out, retval] BSTR *pVal);

            [propget, id(2), helpstring("property MfgName")] HRESULT MfgName([out, retval] BSTR *pVal);

            [propget, id(3), helpstring("property ProductName")] HRESULT ProductName([out, retval] BSTR *pVal);

            [propget, id(DISPID_VALUE), helpstring("property ModeID")] HRESULT ModeID([out, retval] BSTR *pVal);

            [propget, id(5), helpstring("property ModeName")] HRESULT ModeName([out, retval] BSTR *pVal);

            [propget, id(6), helpstring("property LanguageID")] HRESULT LanguageID([out, retval] long *pVal);

            [propget, id(7), helpstring("property Dialect")] HRESULT Dialect([out, retval] BSTR *pVal);

            [propget, id(8), helpstring("property Speaker")] HRESULT Speaker([out, retval] BSTR *pVal);

            [propget, id(9), helpstring("property Style")] HRESULT Style([out, retval] BSTR *pVal);

            [propget, id(10), helpstring("property Gender")] HRESULT Gender([out, retval] long *pVal);


            [propget, id(11), helpstring("property Age")] HRESULT Age([out, retval] long *pVal);


            [propget, id(12), helpstring("property Features")] HRESULT Features([out, retval] long *pVal);

            [propget, id(13), helpstring("property Interfaces")] HRESULT Interfaces([out, retval] long *pVal);

            [propget, id(14), helpstring("property EngineFeatures")] HRESULT EngineFeatures([out, retval] long *pVal);
        };

        [
                object,
                uuid(AFA50DD3-33A8-11D3-8658-0090272F9EEB),
                dual,
                helpstring("IWTESRMode Interface"),
                pointer_default(unique)
        ]
        interface IWTESRMode : IDispatch
        {
            [propget, id(1), helpstring("property EngineID")] HRESULT EngineID([out, retval] BSTR *pVal);

            [propget, id(2), helpstring("property MfgName")] HRESULT MfgName([out, retval] BSTR *pVal);

            [propget, id(3), helpstring("property ProductName")] HRESULT ProductName([out, retval] BSTR *pVal);

            [propget, id(DISPID_VALUE), helpstring("property ModeID")] HRESULT ModeID([out, retval] BSTR *pVal);

            [propget, id(5), helpstring("property ModeName")] HRESULT ModeName([out, retval] BSTR *pVal);

            [propget, id(6), helpstring("property LanguageID")] HRESULT LanguageID([out, retval] long *pVal);

            [propget, id(7), helpstring("property Dialect")] HRESULT Dialect([out, retval] BSTR *pVal);

            [propget, id(8), helpstring("property Sequencing")] HRESULT Sequencing([out, retval] long *pVal);

            [propget, id(9), helpstring("property MaxWordsVocab")] HRESULT MaxWordsVocab([out, retval] long *pVal);

            [propget, id(10), helpstring("property MaxWordsState")] HRESULT MaxWordsState([out, retval] long *pVal);

            [propget, id(11), helpstring("property Grammars")] HRESULT Grammars([out, retval] long *pVal);

            [propget, id(12), helpstring("property Features")] HRESULT Features([out, retval] long *pVal);

            [propget, id(13), helpstring("property Interfaces")] HRESULT Interfaces([out, retval] long *pVal);

            [propget, id(14), helpstring("property EngineFeatures")] HRESULT EngineFeatures([out, retval] long *pVal);
        };

        [
                object,
                uuid(AFA50DD4-33A8-11D3-8658-0090272F9EEB),
                dual,
                helpstring("IWTEStep Interface"),
                pointer_default(unique)
        ]
        interface IWTEStep : IDispatch
        {
            [propget, id(1), helpstring("property MenuItemsLength")] HRESULT MenuItemsLength([out, retval] long *plLength);

            [id(2), helpstring("method GetMenuItem")] HRESULT GetMenuItem([in] long lIndex,[retval, out] IDispatch **ppMenuItem);

            [propget, id(3), helpstring("property SubmitMenu")] HRESULT SubmitMenu([out, retval] BOOL *pfIsSubmit);

            [propget, id(4), helpstring("property AudioItemsLength")] HRESULT AudioItemsLength([out, retval] long *plLength);

            [id(5), helpstring("method AudioItem")] HRESULT GetAudioItem([in] long lIndex,[retval, out] BSTR *pbstrAudioItem);

            [propget, id(6), helpstring("property CutThroughMode")] HRESULT CutThroughMode([out, retval] BOOL *pfCutThroughMode);

            [propget, id(7), helpstring("property IsRecordType")] HRESULT IsRecordType([out, retval] BOOL *pfIsRecord);
        };

        [
                object,
                uuid(AFA50DD5-33A8-11D3-8658-0090272F9EEB),
                dual,
                helpstring("IWTELogCustomField Interface"),
                pointer_default(unique)
        ]
        interface IWTELogCustomField : IDispatch
        {
            [propput, id(DISPID_VALUE), helpstring("property Value")] HRESULT Value([in] BSTR Name, [in] BSTR newVal);

            [propput, id(1), helpstring("property DefaultValue")] HRESULT DefaultValue([in] BSTR newVal);
        };


        [
                object,
                uuid(AFA50DD6-33A8-11D3-8658-0090272F9EEB),
                dual,
                helpstring("IWTEExOM Interface"),
                pointer_default(unique)
        ]
        interface IWTEExOM : IDispatch
        {
            [propget, id(1), helpstring("property hostName")] HRESULT hostName([out, retval] BSTR *pbstrHostName);

            [id(2), helpstring("method Abandon")] HRESULT Abandon();

            [propget, id(3), helpstring("property Session")] HRESULT Session([out, retval] IWTESession **ppSession);

            [propget, id(4), helpstring("property Configuration")] HRESULT Configuration([out, retval] IWTEApplication **ppApp);

            [id(5), helpstring("method Log")] HRESULT Log();

            [propget, id(6), helpstring("property ITBasicCallControl")] HRESULT ITBasicCallControl([out, retval] ITBasicCallControl **ppCall);

            [propget, id(7), helpstring("property AlternativePhrases")] HRESULT AlternativePhrases([out, retval] VARIANT *pAlternativePhrases);

            [propget, id(8), helpstring("property LogCustomField")] HRESULT LogCustomField([out, retval] IWTELogCustomField **ppLogCustomField);

            [propget, id(9), helpstring("property Event")] HRESULT Event([out, retval] LPDISPATCH *ppEvent);

            [propget, id(10), helpstring("property TTSMode")] HRESULT TTSMode([out, retval] IWTETTSMode **ppTTSMode);

            [propget, id(11), helpstring("property SRMode")] HRESULT SRMode([out, retval] IWTESRMode **ppSRMode);
        };


        [
                object,
                uuid(AFA50DD7-33A8-11D3-8658-0090272F9EEB),
                dual,
                helpstring("IWTEActiveConnection Interface"),
                pointer_default(unique)
        ]
        interface IWTEActiveConnection : IDispatch
        {
            [propget, id(1), helpstring("property ExtendedObjectModel")] HRESULT ExtendedObjectModel([out, retval] IWTEExOM **ppExOm);

            [propget, id(2), helpstring("property Step")] HRESULT Step([out, retval] IWTEStep **ppStep);
        };

        [
                object,
                uuid(AFA50DD8-33A8-11D3-8658-0090272F9EEB),
                dual,
                helpstring("IWTEService Interface"),
                pointer_default(unique)
        ]
        interface IWTEService : IDispatch
        {
            [id(1), helpstring("method GetActiveConnection")] HRESULT GetActiveConnection([in] BSTR bstrApplicationName, [retval, out] IWTEActiveConnection** ppConnection);
        };
        
        [
                object,
                uuid(c59f0ca0-401c-11d3-8659-0090272f9eeb),
                helpstring("IWTESnapinNode Interface"),
                pointer_default(unique)
        ]
        interface IWTESnapinNode : IUnknown
        {
                [propget, id(1), helpstring("property CurrentObject")]
                HRESULT CurrentObject([out, retval] IDispatch **pVal);
        
                [propget, id(2), helpstring("property ParentArray")]
                HRESULT ParentArray([out, retval] IDispatch **pVal);
        };
        


[
        uuid(B83E8323-336C-11D3-8657-0090272F9EEB),
        version(1.0),
        helpstring("Microsoft WTE Administration Type Library")
]
library mswteCom
{
    importlib("stdole32.tlb");
    importlib("stdole2.tlb");

    [
        uuid(B83E8324-336C-11D3-8657-0090272F9EEB),
        helpstring("WTE Class")
    ]
    coclass WTE
    {
        [default] interface IWTE;
    };
    
    [
        uuid(B83E8325-336C-11D3-8657-0090272F9EEB),
        helpstring("WTEArray Class"),
        noncreatable
    ]
    coclass WTEArray
    {
        [default] interface IWTEArray;
    };
    
    [
        uuid(B83E8326-336C-11D3-8657-0090272F9EEB),
        helpstring("WTEArrays Class"),
        noncreatable
    ]
    coclass WTEArrays
    {
        [default] interface IWTEArrays;
    };
    
    [
        uuid(B83E8327-336C-11D3-8657-0090272F9EEB),
        helpstring("WTEServers Class"),
        noncreatable
    ]
    coclass WTEServers
    {
        [default] interface IWTEServers;
    };
    
    [
        uuid(B83E8328-336C-11D3-8657-0090272F9EEB),
        helpstring("WTEServer Class"),
        noncreatable
    ]
    coclass WTEServer
    {
        [default] interface IWTEServer;
    };
    
    [
        uuid(B83E8329-336C-11D3-8657-0090272F9EEB),
        helpstring("WTEAddresses Class"),
        noncreatable
    ]
    coclass WTEAddresses
    {
        [default] interface IWTEAddresses;
    };
    
    [
        uuid(B83E832A-336C-11D3-8657-0090272F9EEB),
        helpstring("WTEAddress Class"),
        noncreatable
    ]
    coclass WTEAddress
    {
        [default] interface IWTEAddress;
    };
    
    [
        uuid(d5059820-5a34-11d3-865d-0090272f9eeb),
        helpstring("WTEAddressGroups Class"),
        noncreatable
    ]
    coclass WTEAddressGroups
    {
        [default] interface IWTEAddressGroups;
    };
    
    [
        uuid(f54ef550-5a34-11d3-865d-0090272f9eeb),
        helpstring("WTEAddressGroup Class"),
        noncreatable
    ]
    coclass WTEAddressGroup
    {
        [default] interface IWTEAddressGroup;
    };
    
    [
        uuid(07bf2f80-5a35-11d3-865d-0090272f9eeb),
        helpstring("WTEDNISes Class"),
        noncreatable
    ]
    coclass WTEDNISes
    {
        [default] interface IWTEDNISes;
    };
    
    [
        uuid(22b3fa40-5a35-11d3-865d-0090272f9eeb),
        helpstring("WTEDNIS Class"),
        noncreatable
    ]
    coclass WTEDNIS
    {
        [default] interface IWTEDNIS;
    };
    
    [
            uuid(B83E832C-336C-11D3-8657-0090272F9EEB),
            helpstring("IWTEVendorDataChanges sink interfce")
    ]
    dispinterface IWTEVendorDataChanges
    {
        properties:

        methods:
            [id(1), helpstring("method OnChange")]
            HRESULT OnChange();
    };

    [
            uuid(B83E832D-336C-11D3-8657-0090272F9EEB),
            helpstring("WTEVendorDataSets Class"),
            noncreatable
    ]
    coclass WTEVendorDataSets
    {
            [default] interface IWTEVendorDataSets;
            interface IEnumVARIANT;
    };
    
    [
            uuid(B83E832E-336C-11D3-8657-0090272F9EEB),
            helpstring("WTEVendorDataSet Class"),
            noncreatable
    ]
    coclass WTEVendorDataSet
    {
            [default] interface IWTEVendorDataSet;
    };

    [
            uuid(B83E8334-336C-11D3-8657-0090272F9EEB),
            helpstring("WTELog Class"),
            noncreatable
    ]
    coclass WTELog
    {
            [default] interface IWTELog;
    };

    [
            uuid(B83E8336-336C-11D3-8657-0090272F9EEB),
            helpstring("WTEApplications Class"),
            noncreatable
    ]
    coclass WTEApplications
    {
            [default] interface IWTEApplications;
    };

    [
            uuid(B83E8337-336C-11D3-8657-0090272F9EEB),
            helpstring("WTEApplication Class"),
            noncreatable
    ]
    coclass WTEApplication
    {
            [default] interface IWTEApplication;
    };
    
    [
        uuid(AFA50DDA-33A8-11D3-8658-0090272F9EEB)
    ]
    dispinterface IWTEConnectionEvents
    {
    properties:
    methods:
        [id(wteDispidApplicationEventOnOffering), helpstring("method OnOffering")] HRESULT OnOffering();
        [id(wteDispidApplicationEventOnConnected), helpstring("method OnConnected")] HRESULT OnConnected();
        [id(wteDispidApplicationEventOnDisconnected), helpstring("method OnDisconnected")] HRESULT OnDisconnected();
        [id(wteDispidApplicationEventOnDigit), helpstring("method OnDigit")] HRESULT OnDigit([in] BSTR bstrDigit);
        [id(wteDispidApplicationEventOnDigitsUsed), helpstring("method OnDigitsUsed")] HRESULT OnDigitsUsed([in] BSTR bstrUsedDigits);
        [id(wteDispidApplicationEventOnBeforeNavigate), helpstring("method OnBeforeNavigate")] HRESULT OnBeforeNavigate([in] BSTR bstrURL);
        [id(wteDispidApplicationEventOnNavigateComplete), helpstring("method OnNavigateComplete")] HRESULT OnNavigateComplete([in] BSTR bstrURL);
        [id(wteDispidApplicationEventOnDocumentComplete), helpstring("method OnDocumentComplete")] HRESULT OnDocumentComplete([in] BSTR bstrURL);
        [id(wteDispidApplicationEventOnTagBegin), helpstring("method OnTagBegin")] HRESULT OnTagBegin([in] IDispatch *pTagElement);
        [id(wteDispidApplicationEventOnTagEnd), helpstring("method OnTagEnd")] HRESULT OnTagEnd([in] IDispatch *pTagElement);
        [id(wteDispidApplicationEventOnSessionValue), helpstring("method OnSessionValue")] HRESULT OnSessionValue([in] BSTR bstrValueName);
        [id(wteDispidApplicationEventOnStepEnd), helpstring("method OnStepEnd")] HRESULT OnStepEnd([in] IDispatch *pTagElement, [in] TelephonyObjectEndReasonType Reason, [in] IDispatch *pAppConstrains);
        [id(wteDispidApplicationEventOnSessionEnd), helpstring("method OnSessionEnd")] HRESULT OnSessionEnd();
    };
    
    [
        uuid(AFA50DDB-33A8-11D3-8658-0090272F9EEB),
        helpstring("WTEService Class")
    ]
    coclass WTEService
    {
        [default] interface IWTEService;
    };
    
    [
        uuid(AFA50DDC-33A8-11D3-8658-0090272F9EEB),
        helpstring("WTEActiveConnection Class"),
        noncreatable
    ]
    coclass WTEActiveConnection
    {
        [default] interface IWTEActiveConnection;
        [default, source] dispinterface IWTEConnectionEvents;
    };
    
    [
        uuid(AFA50DDD-33A8-11D3-8658-0090272F9EEB),
        helpstring("Step Class"),
        noncreatable
    ]
    coclass WTEStep
    {
        [default] interface IWTEStep;
    };
    
    [
        uuid(AFA50DDE-33A8-11D3-8658-0090272F9EEB),
        helpstring("StepConstrains Class"),
        noncreatable
    ]
    coclass WTEStepConstrains
    {
        [default] interface IWTEStepConstrains;
    };
    
    [
        uuid(AFA50DDF-33A8-11D3-8658-0090272F9EEB),
        helpstring("Session Class"),
        noncreatable
    ]
    coclass WTESession
    {
        [default] interface IWTESession;
    };
    
    [
        uuid(b79f37a0-6c46-11d3-8661-0090272f9eeb),
        helpstring("TTSModes Class"),
        noncreatable
    ]
    coclass WTETTSModes
    {
        [default] interface IWTETTSModes;
    };
    
    [
        uuid(e74537a0-6e66-11d3-8661-0090272f9eeb),
        helpstring("SRModes Class"),
        noncreatable
    ]
    coclass WTESRModes
    {
        [default] interface IWTESRModes;
    };
    
    [
        uuid(AFA50DE0-33A8-11D3-8658-0090272F9EEB),
        helpstring("TTSMode Class"),
        noncreatable
    ]
    coclass WTETTSMode
    {
        [default] interface IWTETTSMode;
    };
    
    [
        uuid(AFA50DE1-33A8-11D3-8658-0090272F9EEB),
        helpstring("SRMode Class"),
        noncreatable
    ]
    coclass WTESRMode
    {
        [default] interface IWTESRMode;
    };
    
    [
        uuid(AFA50DE2-33A8-11D3-8658-0090272F9EEB),
        helpstring("ExOM Class"),
        noncreatable
    ]
    coclass WTEExOM
    {
        [default] interface IWTEExOM;
    };
    
    [
        uuid(AFA50DE3-33A8-11D3-8658-0090272F9EEB),
        helpstring("LogCustomField Class"),
        noncreatable
    ]
    coclass WTELogCustomField
    {
        [default] interface IWTELogCustomField;
    };
    
    [
        uuid(b3a60310-401c-11d3-8659-0090272f9eeb),
        helpstring("WTESnapinNode Class"),
        noncreatable
    ]
    coclass WTESnapinNode
    {
        [default] interface IWTESnapinNode;
    };

};

