

/* this ALWAYS GENERATED file contains the definitions for the interfaces */


 /* File created by MIDL compiler version 8.01.0628 */
/* at Mon Jan 18 21:14:07 2038
 */
/* Compiler settings for p4com.idl:
    Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 8.01.0628 
    protocol : all , ms_ext, c_ext, robust
    error checks: allocation ref bounds_check enum stub_data 
    VC __declspec() decoration level: 
         __declspec(uuid()), __declspec(selectany), __declspec(novtable)
         DECLSPEC_UUID(), MIDL_INTERFACE()
*/
/* @@MIDL_FILE_HEADING(  ) */



/* verify that the <rpcndr.h> version is high enough to compile this file*/
#ifndef __REQUIRED_RPCNDR_H_VERSION__
#define __REQUIRED_RPCNDR_H_VERSION__ 500
#endif

#include "rpc.h"
#include "rpcndr.h"

#ifndef __RPCNDR_H_VERSION__
#error this stub requires an updated version of <rpcndr.h>
#endif /* __RPCNDR_H_VERSION__ */

#ifndef COM_NO_WINDOWS_H
#include "windows.h"
#include "ole2.h"
#endif /*COM_NO_WINDOWS_H*/

#ifndef __p4com_h__
#define __p4com_h__

#if defined(_MSC_VER) && (_MSC_VER >= 1020)
#pragma once
#endif

#ifndef DECLSPEC_XFGVIRT
#if defined(_CONTROL_FLOW_GUARD_XFG)
#define DECLSPEC_XFGVIRT(base, func) __declspec(xfg_virtual(base, func))
#else
#define DECLSPEC_XFGVIRT(base, func)
#endif
#endif

/* Forward Declarations */ 

#ifndef __Ip4_FWD_DEFINED__
#define __Ip4_FWD_DEFINED__
typedef interface Ip4 Ip4;

#endif 	/* __Ip4_FWD_DEFINED__ */


#ifndef __p4_FWD_DEFINED__
#define __p4_FWD_DEFINED__

#ifdef __cplusplus
typedef class p4 p4;
#else
typedef struct p4 p4;
#endif /* __cplusplus */

#endif 	/* __p4_FWD_DEFINED__ */


/* header files for imported files */
#include "oaidl.h"
#include "ocidl.h"

#ifdef __cplusplus
extern "C"{
#endif 


#ifndef __Ip4_INTERFACE_DEFINED__
#define __Ip4_INTERFACE_DEFINED__

/* interface Ip4 */
/* [unique][helpstring][dual][uuid][object] */ 


EXTERN_C const IID IID_Ip4;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("E7D963D4-7AC8-4B89-B768-16F900DB2A93")
    Ip4 : public IDispatch
    {
    public:
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Charset( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_Charset( 
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Client( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_Client( 
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Cwd( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_Cwd( 
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Host( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_Host( 
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Language( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_Language( 
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Password( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_Password( 
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Port( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_Port( 
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_User( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_User( 
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Errors( 
            /* [retval][out] */ SAFEARRAY * *valArray) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Warnings( 
            /* [retval][out] */ SAFEARRAY * *valArray) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE run( 
            BSTR cmd,
            /* [retval][out] */ SAFEARRAY * *valArray) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Connect( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Disconnect( void) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_ExceptionLevel( 
            /* [retval][out] */ long *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_ExceptionLevel( 
            /* [in] */ long newVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Tagged( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ParseForms( void) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_TempFilename( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Var( 
            BSTR varName,
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_Var( 
            BSTR varName,
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_VarExists( 
            BSTR varName,
            /* [retval][out] */ BOOL *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_ArrayVar( 
            BSTR varName,
            /* [retval][out] */ SAFEARRAY * *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_ArrayVar( 
            BSTR varName,
            /* [in] */ SAFEARRAY * *newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Os( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_ServerVersion( 
            /* [retval][out] */ long *pVal) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_ArrayVar_variant( 
            BSTR varName,
            /* [in] */ VARIANT newVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_ArrayVar_variant( 
            BSTR varName,
            /* [retval][out] */ VARIANT *pVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE run_variant( 
            BSTR cmd,
            /* [retval][out] */ VARIANT *vArray) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Errors_variant( 
            /* [retval][out] */ VARIANT *vArray) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Warnings_variant( 
            /* [retval][out] */ VARIANT *vArray) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_Input( 
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE FormatDateTime( 
            /* [in] */ long unixtime,
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Dropped( 
            /* [retval][out] */ long *pVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetProtocol( 
            BSTR pname,
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetProtocol( 
            BSTR pname,
            BSTR newVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetProg( 
            BSTR pname) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetVersion( 
            BSTR pname) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetTicketFile( 
            BSTR fname) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetProtocolV( 
            BSTR newVal) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct Ip4Vtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            Ip4 * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            Ip4 * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            Ip4 * This);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            Ip4 * This,
            /* [out] */ UINT *pctinfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            Ip4 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            Ip4 * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        DECLSPEC_XFGVIRT(IDispatch, Invoke)
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            Ip4 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        DECLSPEC_XFGVIRT(Ip4, get_Charset)
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Charset )( 
            Ip4 * This,
            /* [retval][out] */ BSTR *pVal);
        
        DECLSPEC_XFGVIRT(Ip4, put_Charset)
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Charset )( 
            Ip4 * This,
            /* [in] */ BSTR newVal);
        
        DECLSPEC_XFGVIRT(Ip4, get_Client)
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Client )( 
            Ip4 * This,
            /* [retval][out] */ BSTR *pVal);
        
        DECLSPEC_XFGVIRT(Ip4, put_Client)
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Client )( 
            Ip4 * This,
            /* [in] */ BSTR newVal);
        
        DECLSPEC_XFGVIRT(Ip4, get_Cwd)
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Cwd )( 
            Ip4 * This,
            /* [retval][out] */ BSTR *pVal);
        
        DECLSPEC_XFGVIRT(Ip4, put_Cwd)
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Cwd )( 
            Ip4 * This,
            /* [in] */ BSTR newVal);
        
        DECLSPEC_XFGVIRT(Ip4, get_Host)
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Host )( 
            Ip4 * This,
            /* [retval][out] */ BSTR *pVal);
        
        DECLSPEC_XFGVIRT(Ip4, put_Host)
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Host )( 
            Ip4 * This,
            /* [in] */ BSTR newVal);
        
        DECLSPEC_XFGVIRT(Ip4, get_Language)
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Language )( 
            Ip4 * This,
            /* [retval][out] */ BSTR *pVal);
        
        DECLSPEC_XFGVIRT(Ip4, put_Language)
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Language )( 
            Ip4 * This,
            /* [in] */ BSTR newVal);
        
        DECLSPEC_XFGVIRT(Ip4, get_Password)
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Password )( 
            Ip4 * This,
            /* [retval][out] */ BSTR *pVal);
        
        DECLSPEC_XFGVIRT(Ip4, put_Password)
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Password )( 
            Ip4 * This,
            /* [in] */ BSTR newVal);
        
        DECLSPEC_XFGVIRT(Ip4, get_Port)
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Port )( 
            Ip4 * This,
            /* [retval][out] */ BSTR *pVal);
        
        DECLSPEC_XFGVIRT(Ip4, put_Port)
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Port )( 
            Ip4 * This,
            /* [in] */ BSTR newVal);
        
        DECLSPEC_XFGVIRT(Ip4, get_User)
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_User )( 
            Ip4 * This,
            /* [retval][out] */ BSTR *pVal);
        
        DECLSPEC_XFGVIRT(Ip4, put_User)
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_User )( 
            Ip4 * This,
            /* [in] */ BSTR newVal);
        
        DECLSPEC_XFGVIRT(Ip4, get_Errors)
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Errors )( 
            Ip4 * This,
            /* [retval][out] */ SAFEARRAY * *valArray);
        
        DECLSPEC_XFGVIRT(Ip4, get_Warnings)
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Warnings )( 
            Ip4 * This,
            /* [retval][out] */ SAFEARRAY * *valArray);
        
        DECLSPEC_XFGVIRT(Ip4, run)
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *run )( 
            Ip4 * This,
            BSTR cmd,
            /* [retval][out] */ SAFEARRAY * *valArray);
        
        DECLSPEC_XFGVIRT(Ip4, Connect)
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Connect )( 
            Ip4 * This);
        
        DECLSPEC_XFGVIRT(Ip4, Disconnect)
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Disconnect )( 
            Ip4 * This);
        
        DECLSPEC_XFGVIRT(Ip4, get_ExceptionLevel)
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ExceptionLevel )( 
            Ip4 * This,
            /* [retval][out] */ long *pVal);
        
        DECLSPEC_XFGVIRT(Ip4, put_ExceptionLevel)
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ExceptionLevel )( 
            Ip4 * This,
            /* [in] */ long newVal);
        
        DECLSPEC_XFGVIRT(Ip4, Tagged)
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Tagged )( 
            Ip4 * This);
        
        DECLSPEC_XFGVIRT(Ip4, ParseForms)
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *ParseForms )( 
            Ip4 * This);
        
        DECLSPEC_XFGVIRT(Ip4, get_TempFilename)
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TempFilename )( 
            Ip4 * This,
            /* [retval][out] */ BSTR *pVal);
        
        DECLSPEC_XFGVIRT(Ip4, get_Var)
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Var )( 
            Ip4 * This,
            BSTR varName,
            /* [retval][out] */ BSTR *pVal);
        
        DECLSPEC_XFGVIRT(Ip4, put_Var)
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Var )( 
            Ip4 * This,
            BSTR varName,
            /* [in] */ BSTR newVal);
        
        DECLSPEC_XFGVIRT(Ip4, get_VarExists)
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_VarExists )( 
            Ip4 * This,
            BSTR varName,
            /* [retval][out] */ BOOL *pVal);
        
        DECLSPEC_XFGVIRT(Ip4, get_ArrayVar)
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ArrayVar )( 
            Ip4 * This,
            BSTR varName,
            /* [retval][out] */ SAFEARRAY * *pVal);
        
        DECLSPEC_XFGVIRT(Ip4, put_ArrayVar)
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ArrayVar )( 
            Ip4 * This,
            BSTR varName,
            /* [in] */ SAFEARRAY * *newVal);
        
        DECLSPEC_XFGVIRT(Ip4, get_Os)
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Os )( 
            Ip4 * This,
            /* [retval][out] */ BSTR *pVal);
        
        DECLSPEC_XFGVIRT(Ip4, get_ServerVersion)
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ServerVersion )( 
            Ip4 * This,
            /* [retval][out] */ long *pVal);
        
        DECLSPEC_XFGVIRT(Ip4, put_ArrayVar_variant)
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ArrayVar_variant )( 
            Ip4 * This,
            BSTR varName,
            /* [in] */ VARIANT newVal);
        
        DECLSPEC_XFGVIRT(Ip4, get_ArrayVar_variant)
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ArrayVar_variant )( 
            Ip4 * This,
            BSTR varName,
            /* [retval][out] */ VARIANT *pVal);
        
        DECLSPEC_XFGVIRT(Ip4, run_variant)
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *run_variant )( 
            Ip4 * This,
            BSTR cmd,
            /* [retval][out] */ VARIANT *vArray);
        
        DECLSPEC_XFGVIRT(Ip4, get_Errors_variant)
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Errors_variant )( 
            Ip4 * This,
            /* [retval][out] */ VARIANT *vArray);
        
        DECLSPEC_XFGVIRT(Ip4, get_Warnings_variant)
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Warnings_variant )( 
            Ip4 * This,
            /* [retval][out] */ VARIANT *vArray);
        
        DECLSPEC_XFGVIRT(Ip4, put_Input)
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Input )( 
            Ip4 * This,
            /* [in] */ BSTR newVal);
        
        DECLSPEC_XFGVIRT(Ip4, FormatDateTime)
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *FormatDateTime )( 
            Ip4 * This,
            /* [in] */ long unixtime,
            /* [retval][out] */ BSTR *pVal);
        
        DECLSPEC_XFGVIRT(Ip4, Dropped)
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Dropped )( 
            Ip4 * This,
            /* [retval][out] */ long *pVal);
        
        DECLSPEC_XFGVIRT(Ip4, GetProtocol)
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetProtocol )( 
            Ip4 * This,
            BSTR pname,
            /* [retval][out] */ BSTR *pVal);
        
        DECLSPEC_XFGVIRT(Ip4, SetProtocol)
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetProtocol )( 
            Ip4 * This,
            BSTR pname,
            BSTR newVal);
        
        DECLSPEC_XFGVIRT(Ip4, SetProg)
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetProg )( 
            Ip4 * This,
            BSTR pname);
        
        DECLSPEC_XFGVIRT(Ip4, SetVersion)
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetVersion )( 
            Ip4 * This,
            BSTR pname);
        
        DECLSPEC_XFGVIRT(Ip4, SetTicketFile)
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetTicketFile )( 
            Ip4 * This,
            BSTR fname);
        
        DECLSPEC_XFGVIRT(Ip4, SetProtocolV)
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetProtocolV )( 
            Ip4 * This,
            BSTR newVal);
        
        END_INTERFACE
    } Ip4Vtbl;

    interface Ip4
    {
        CONST_VTBL struct Ip4Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define Ip4_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define Ip4_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define Ip4_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define Ip4_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define Ip4_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define Ip4_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define Ip4_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define Ip4_get_Charset(This,pVal)	\
    ( (This)->lpVtbl -> get_Charset(This,pVal) ) 

#define Ip4_put_Charset(This,newVal)	\
    ( (This)->lpVtbl -> put_Charset(This,newVal) ) 

#define Ip4_get_Client(This,pVal)	\
    ( (This)->lpVtbl -> get_Client(This,pVal) ) 

#define Ip4_put_Client(This,newVal)	\
    ( (This)->lpVtbl -> put_Client(This,newVal) ) 

#define Ip4_get_Cwd(This,pVal)	\
    ( (This)->lpVtbl -> get_Cwd(This,pVal) ) 

#define Ip4_put_Cwd(This,newVal)	\
    ( (This)->lpVtbl -> put_Cwd(This,newVal) ) 

#define Ip4_get_Host(This,pVal)	\
    ( (This)->lpVtbl -> get_Host(This,pVal) ) 

#define Ip4_put_Host(This,newVal)	\
    ( (This)->lpVtbl -> put_Host(This,newVal) ) 

#define Ip4_get_Language(This,pVal)	\
    ( (This)->lpVtbl -> get_Language(This,pVal) ) 

#define Ip4_put_Language(This,newVal)	\
    ( (This)->lpVtbl -> put_Language(This,newVal) ) 

#define Ip4_get_Password(This,pVal)	\
    ( (This)->lpVtbl -> get_Password(This,pVal) ) 

#define Ip4_put_Password(This,newVal)	\
    ( (This)->lpVtbl -> put_Password(This,newVal) ) 

#define Ip4_get_Port(This,pVal)	\
    ( (This)->lpVtbl -> get_Port(This,pVal) ) 

#define Ip4_put_Port(This,newVal)	\
    ( (This)->lpVtbl -> put_Port(This,newVal) ) 

#define Ip4_get_User(This,pVal)	\
    ( (This)->lpVtbl -> get_User(This,pVal) ) 

#define Ip4_put_User(This,newVal)	\
    ( (This)->lpVtbl -> put_User(This,newVal) ) 

#define Ip4_get_Errors(This,valArray)	\
    ( (This)->lpVtbl -> get_Errors(This,valArray) ) 

#define Ip4_get_Warnings(This,valArray)	\
    ( (This)->lpVtbl -> get_Warnings(This,valArray) ) 

#define Ip4_run(This,cmd,valArray)	\
    ( (This)->lpVtbl -> run(This,cmd,valArray) ) 

#define Ip4_Connect(This)	\
    ( (This)->lpVtbl -> Connect(This) ) 

#define Ip4_Disconnect(This)	\
    ( (This)->lpVtbl -> Disconnect(This) ) 

#define Ip4_get_ExceptionLevel(This,pVal)	\
    ( (This)->lpVtbl -> get_ExceptionLevel(This,pVal) ) 

#define Ip4_put_ExceptionLevel(This,newVal)	\
    ( (This)->lpVtbl -> put_ExceptionLevel(This,newVal) ) 

#define Ip4_Tagged(This)	\
    ( (This)->lpVtbl -> Tagged(This) ) 

#define Ip4_ParseForms(This)	\
    ( (This)->lpVtbl -> ParseForms(This) ) 

#define Ip4_get_TempFilename(This,pVal)	\
    ( (This)->lpVtbl -> get_TempFilename(This,pVal) ) 

#define Ip4_get_Var(This,varName,pVal)	\
    ( (This)->lpVtbl -> get_Var(This,varName,pVal) ) 

#define Ip4_put_Var(This,varName,newVal)	\
    ( (This)->lpVtbl -> put_Var(This,varName,newVal) ) 

#define Ip4_get_VarExists(This,varName,pVal)	\
    ( (This)->lpVtbl -> get_VarExists(This,varName,pVal) ) 

#define Ip4_get_ArrayVar(This,varName,pVal)	\
    ( (This)->lpVtbl -> get_ArrayVar(This,varName,pVal) ) 

#define Ip4_put_ArrayVar(This,varName,newVal)	\
    ( (This)->lpVtbl -> put_ArrayVar(This,varName,newVal) ) 

#define Ip4_get_Os(This,pVal)	\
    ( (This)->lpVtbl -> get_Os(This,pVal) ) 

#define Ip4_get_ServerVersion(This,pVal)	\
    ( (This)->lpVtbl -> get_ServerVersion(This,pVal) ) 

#define Ip4_put_ArrayVar_variant(This,varName,newVal)	\
    ( (This)->lpVtbl -> put_ArrayVar_variant(This,varName,newVal) ) 

#define Ip4_get_ArrayVar_variant(This,varName,pVal)	\
    ( (This)->lpVtbl -> get_ArrayVar_variant(This,varName,pVal) ) 

#define Ip4_run_variant(This,cmd,vArray)	\
    ( (This)->lpVtbl -> run_variant(This,cmd,vArray) ) 

#define Ip4_get_Errors_variant(This,vArray)	\
    ( (This)->lpVtbl -> get_Errors_variant(This,vArray) ) 

#define Ip4_get_Warnings_variant(This,vArray)	\
    ( (This)->lpVtbl -> get_Warnings_variant(This,vArray) ) 

#define Ip4_put_Input(This,newVal)	\
    ( (This)->lpVtbl -> put_Input(This,newVal) ) 

#define Ip4_FormatDateTime(This,unixtime,pVal)	\
    ( (This)->lpVtbl -> FormatDateTime(This,unixtime,pVal) ) 

#define Ip4_Dropped(This,pVal)	\
    ( (This)->lpVtbl -> Dropped(This,pVal) ) 

#define Ip4_GetProtocol(This,pname,pVal)	\
    ( (This)->lpVtbl -> GetProtocol(This,pname,pVal) ) 

#define Ip4_SetProtocol(This,pname,newVal)	\
    ( (This)->lpVtbl -> SetProtocol(This,pname,newVal) ) 

#define Ip4_SetProg(This,pname)	\
    ( (This)->lpVtbl -> SetProg(This,pname) ) 

#define Ip4_SetVersion(This,pname)	\
    ( (This)->lpVtbl -> SetVersion(This,pname) ) 

#define Ip4_SetTicketFile(This,fname)	\
    ( (This)->lpVtbl -> SetTicketFile(This,fname) ) 

#define Ip4_SetProtocolV(This,newVal)	\
    ( (This)->lpVtbl -> SetProtocolV(This,newVal) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __Ip4_INTERFACE_DEFINED__ */



#ifndef __P4COM_LIBRARY_DEFINED__
#define __P4COM_LIBRARY_DEFINED__

/* library P4COM */
/* [helpstring][version][uuid] */ 


EXTERN_C const IID LIBID_P4COM;

EXTERN_C const CLSID CLSID_p4;

#ifdef __cplusplus

class DECLSPEC_UUID("0709D2DF-09E0-4DBF-AECB-9B997006C0B4")
p4;
#endif
#endif /* __P4COM_LIBRARY_DEFINED__ */

/* Additional Prototypes for ALL interfaces */

unsigned long             __RPC_USER  BSTR_UserSize(     unsigned long *, unsigned long            , BSTR * ); 
unsigned char * __RPC_USER  BSTR_UserMarshal(  unsigned long *, unsigned char *, BSTR * ); 
unsigned char * __RPC_USER  BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR * ); 
void                      __RPC_USER  BSTR_UserFree(     unsigned long *, BSTR * ); 

unsigned long             __RPC_USER  LPSAFEARRAY_UserSize(     unsigned long *, unsigned long            , LPSAFEARRAY * ); 
unsigned char * __RPC_USER  LPSAFEARRAY_UserMarshal(  unsigned long *, unsigned char *, LPSAFEARRAY * ); 
unsigned char * __RPC_USER  LPSAFEARRAY_UserUnmarshal(unsigned long *, unsigned char *, LPSAFEARRAY * ); 
void                      __RPC_USER  LPSAFEARRAY_UserFree(     unsigned long *, LPSAFEARRAY * ); 

unsigned long             __RPC_USER  VARIANT_UserSize(     unsigned long *, unsigned long            , VARIANT * ); 
unsigned char * __RPC_USER  VARIANT_UserMarshal(  unsigned long *, unsigned char *, VARIANT * ); 
unsigned char * __RPC_USER  VARIANT_UserUnmarshal(unsigned long *, unsigned char *, VARIANT * ); 
void                      __RPC_USER  VARIANT_UserFree(     unsigned long *, VARIANT * ); 

unsigned long             __RPC_USER  BSTR_UserSize64(     unsigned long *, unsigned long            , BSTR * ); 
unsigned char * __RPC_USER  BSTR_UserMarshal64(  unsigned long *, unsigned char *, BSTR * ); 
unsigned char * __RPC_USER  BSTR_UserUnmarshal64(unsigned long *, unsigned char *, BSTR * ); 
void                      __RPC_USER  BSTR_UserFree64(     unsigned long *, BSTR * ); 

unsigned long             __RPC_USER  LPSAFEARRAY_UserSize64(     unsigned long *, unsigned long            , LPSAFEARRAY * ); 
unsigned char * __RPC_USER  LPSAFEARRAY_UserMarshal64(  unsigned long *, unsigned char *, LPSAFEARRAY * ); 
unsigned char * __RPC_USER  LPSAFEARRAY_UserUnmarshal64(unsigned long *, unsigned char *, LPSAFEARRAY * ); 
void                      __RPC_USER  LPSAFEARRAY_UserFree64(     unsigned long *, LPSAFEARRAY * ); 

unsigned long             __RPC_USER  VARIANT_UserSize64(     unsigned long *, unsigned long            , VARIANT * ); 
unsigned char * __RPC_USER  VARIANT_UserMarshal64(  unsigned long *, unsigned char *, VARIANT * ); 
unsigned char * __RPC_USER  VARIANT_UserUnmarshal64(unsigned long *, unsigned char *, VARIANT * ); 
void                      __RPC_USER  VARIANT_UserFree64(     unsigned long *, VARIANT * ); 

/* end of Additional Prototypes */

#ifdef __cplusplus
}
#endif

#endif


