

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


 /* File created by MIDL compiler version 6.00.0361 */
/* at Mon Nov 13 21:37:09 2006
 */
/* Compiler settings for .\My04WebServer.idl:
    Oicf, W1, Zp8, env=Win32 (32b run)
    protocol : dce , 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(  )

#pragma warning( disable: 4049 )  /* more than 64k source lines */


/* verify that the <rpcndr.h> version is high enough to compile this file*/
#ifndef __REQUIRED_RPCNDR_H_VERSION__
#define __REQUIRED_RPCNDR_H_VERSION__ 475
#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 ___04WebServer_i_h__
#define ___04WebServer_i_h__

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

/* Forward Declarations */ 

#ifndef __IServerControl_FWD_DEFINED__
#define __IServerControl_FWD_DEFINED__
typedef interface IServerControl IServerControl;
#endif 	/* __IServerControl_FWD_DEFINED__ */


#ifndef __IServerSetting_FWD_DEFINED__
#define __IServerSetting_FWD_DEFINED__
typedef interface IServerSetting IServerSetting;
#endif 	/* __IServerSetting_FWD_DEFINED__ */


#ifndef __ServerControl_FWD_DEFINED__
#define __ServerControl_FWD_DEFINED__

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

#endif 	/* __ServerControl_FWD_DEFINED__ */


#ifndef __ServerSetting_FWD_DEFINED__
#define __ServerSetting_FWD_DEFINED__

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

#endif 	/* __ServerSetting_FWD_DEFINED__ */


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

#ifdef __cplusplus
extern "C"{
#endif 

void * __RPC_USER MIDL_user_allocate(size_t);
void __RPC_USER MIDL_user_free( void * ); 

#ifndef __IServerControl_INTERFACE_DEFINED__
#define __IServerControl_INTERFACE_DEFINED__

/* interface IServerControl */
/* [unique][helpstring][nonextensible][dual][uuid][object] */ 


EXTERN_C const IID IID_IServerControl;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("9352667D-82A1-4A4B-83CB-E0B6C98B7976")
    IServerControl : public IDispatch
    {
    public:
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE StartServer( 
            /* [retval][out] */ SHORT *status) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE StopServer( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetServerErrorString( 
            /* [retval][out] */ BSTR *str) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IsRunning( 
            /* [retval][out] */ SHORT *retval) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IsService( 
            /* [retval][out] */ SHORT *ret) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetServerInfo( 
            /* [retval][out] */ BSTR *ret) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetServerSetting( 
            /* [retval][out] */ BSTR *ret) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetServerContext( 
            /* [retval][out] */ BSTR *ret) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetServerRoot( 
            /* [retval][out] */ BSTR *retpath) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IsActive( 
            /* [retval][out] */ SHORT *ret) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IServerControlVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IServerControl * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IServerControl * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IServerControl * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IServerControl * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IServerControl * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IServerControl * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IServerControl * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *StartServer )( 
            IServerControl * This,
            /* [retval][out] */ SHORT *status);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *StopServer )( 
            IServerControl * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetServerErrorString )( 
            IServerControl * This,
            /* [retval][out] */ BSTR *str);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *IsRunning )( 
            IServerControl * This,
            /* [retval][out] */ SHORT *retval);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *IsService )( 
            IServerControl * This,
            /* [retval][out] */ SHORT *ret);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetServerInfo )( 
            IServerControl * This,
            /* [retval][out] */ BSTR *ret);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetServerSetting )( 
            IServerControl * This,
            /* [retval][out] */ BSTR *ret);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetServerContext )( 
            IServerControl * This,
            /* [retval][out] */ BSTR *ret);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetServerRoot )( 
            IServerControl * This,
            /* [retval][out] */ BSTR *retpath);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *IsActive )( 
            IServerControl * This,
            /* [retval][out] */ SHORT *ret);
        
        END_INTERFACE
    } IServerControlVtbl;

    interface IServerControl
    {
        CONST_VTBL struct IServerControlVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define IServerControl_StartServer(This,status)	\
    (This)->lpVtbl -> StartServer(This,status)

#define IServerControl_StopServer(This)	\
    (This)->lpVtbl -> StopServer(This)

#define IServerControl_GetServerErrorString(This,str)	\
    (This)->lpVtbl -> GetServerErrorString(This,str)

#define IServerControl_IsRunning(This,retval)	\
    (This)->lpVtbl -> IsRunning(This,retval)

#define IServerControl_IsService(This,ret)	\
    (This)->lpVtbl -> IsService(This,ret)

#define IServerControl_GetServerInfo(This,ret)	\
    (This)->lpVtbl -> GetServerInfo(This,ret)

#define IServerControl_GetServerSetting(This,ret)	\
    (This)->lpVtbl -> GetServerSetting(This,ret)

#define IServerControl_GetServerContext(This,ret)	\
    (This)->lpVtbl -> GetServerContext(This,ret)

#define IServerControl_GetServerRoot(This,retpath)	\
    (This)->lpVtbl -> GetServerRoot(This,retpath)

#define IServerControl_IsActive(This,ret)	\
    (This)->lpVtbl -> IsActive(This,ret)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IServerControl_StartServer_Proxy( 
    IServerControl * This,
    /* [retval][out] */ SHORT *status);


void __RPC_STUB IServerControl_StartServer_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IServerControl_StopServer_Proxy( 
    IServerControl * This);


void __RPC_STUB IServerControl_StopServer_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IServerControl_GetServerErrorString_Proxy( 
    IServerControl * This,
    /* [retval][out] */ BSTR *str);


void __RPC_STUB IServerControl_GetServerErrorString_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IServerControl_IsRunning_Proxy( 
    IServerControl * This,
    /* [retval][out] */ SHORT *retval);


void __RPC_STUB IServerControl_IsRunning_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IServerControl_IsService_Proxy( 
    IServerControl * This,
    /* [retval][out] */ SHORT *ret);


void __RPC_STUB IServerControl_IsService_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IServerControl_GetServerInfo_Proxy( 
    IServerControl * This,
    /* [retval][out] */ BSTR *ret);


void __RPC_STUB IServerControl_GetServerInfo_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IServerControl_GetServerSetting_Proxy( 
    IServerControl * This,
    /* [retval][out] */ BSTR *ret);


void __RPC_STUB IServerControl_GetServerSetting_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IServerControl_GetServerContext_Proxy( 
    IServerControl * This,
    /* [retval][out] */ BSTR *ret);


void __RPC_STUB IServerControl_GetServerContext_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IServerControl_GetServerRoot_Proxy( 
    IServerControl * This,
    /* [retval][out] */ BSTR *retpath);


void __RPC_STUB IServerControl_GetServerRoot_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IServerControl_IsActive_Proxy( 
    IServerControl * This,
    /* [retval][out] */ SHORT *ret);


void __RPC_STUB IServerControl_IsActive_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IServerControl_INTERFACE_DEFINED__ */


#ifndef __IServerSetting_INTERFACE_DEFINED__
#define __IServerSetting_INTERFACE_DEFINED__

/* interface IServerSetting */
/* [unique][helpstring][nonextensible][dual][uuid][object] */ 


EXTERN_C const IID IID_IServerSetting;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("76C9B744-B51E-403B-B3BA-A14C840441A2")
    IServerSetting : public IDispatch
    {
    public:
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE WriteServerSetting( 
            /* [in] */ BSTR setting) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ReadServerSetting( 
            /* [retval][out] */ BSTR *setting) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetSettingFilePath( 
            /* [retval][out] */ BSTR *path) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IServerSettingVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IServerSetting * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IServerSetting * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IServerSetting * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IServerSetting * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IServerSetting * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IServerSetting * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IServerSetting * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *WriteServerSetting )( 
            IServerSetting * This,
            /* [in] */ BSTR setting);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *ReadServerSetting )( 
            IServerSetting * This,
            /* [retval][out] */ BSTR *setting);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetSettingFilePath )( 
            IServerSetting * This,
            /* [retval][out] */ BSTR *path);
        
        END_INTERFACE
    } IServerSettingVtbl;

    interface IServerSetting
    {
        CONST_VTBL struct IServerSettingVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define IServerSetting_WriteServerSetting(This,setting)	\
    (This)->lpVtbl -> WriteServerSetting(This,setting)

#define IServerSetting_ReadServerSetting(This,setting)	\
    (This)->lpVtbl -> ReadServerSetting(This,setting)

#define IServerSetting_GetSettingFilePath(This,path)	\
    (This)->lpVtbl -> GetSettingFilePath(This,path)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IServerSetting_WriteServerSetting_Proxy( 
    IServerSetting * This,
    /* [in] */ BSTR setting);


void __RPC_STUB IServerSetting_WriteServerSetting_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IServerSetting_ReadServerSetting_Proxy( 
    IServerSetting * This,
    /* [retval][out] */ BSTR *setting);


void __RPC_STUB IServerSetting_ReadServerSetting_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IServerSetting_GetSettingFilePath_Proxy( 
    IServerSetting * This,
    /* [retval][out] */ BSTR *path);


void __RPC_STUB IServerSetting_GetSettingFilePath_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IServerSetting_INTERFACE_DEFINED__ */



#ifndef __My04WebServerLib_LIBRARY_DEFINED__
#define __My04WebServerLib_LIBRARY_DEFINED__

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


EXTERN_C const IID LIBID_My04WebServerLib;

EXTERN_C const CLSID CLSID_ServerControl;

#ifdef __cplusplus

class DECLSPEC_UUID("67A61D5D-122D-43C3-8BED-CB80CCCEBBB5")
ServerControl;
#endif

EXTERN_C const CLSID CLSID_ServerSetting;

#ifdef __cplusplus

class DECLSPEC_UUID("9C09B57D-30EF-412E-8FFF-205214AB5B6D")
ServerSetting;
#endif
#endif /* __My04WebServerLib_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 * ); 

/* end of Additional Prototypes */

#ifdef __cplusplus
}
#endif

#endif


