Click here to Skip to main content
15,885,278 members
Articles / Desktop Programming / ATL

Building Rich COMponents with Attributed ATL

Rate me:
Please Sign up or sign in to vote.
4.95/5 (31 votes)
26 Jan 200410 min read 88.7K   918   76  
Tutorial article about how to build components with rich functionality using attributed ATL.

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


 /* File created by MIDL compiler version 6.00.0361 */
/* at Sun Jan 25 21:37:13 2004
 */
/* Compiler settings for _ServicesManager.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 ___ServicesManager_h__
#define ___ServicesManager_h__

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

/* Forward Declarations */ 

#ifndef __IsmService_FWD_DEFINED__
#define __IsmService_FWD_DEFINED__
typedef interface IsmService IsmService;
#endif 	/* __IsmService_FWD_DEFINED__ */


#ifndef __IsmServices_FWD_DEFINED__
#define __IsmServices_FWD_DEFINED__
typedef interface IsmServices IsmServices;
#endif 	/* __IsmServices_FWD_DEFINED__ */


#ifndef __IServicesMgr_FWD_DEFINED__
#define __IServicesMgr_FWD_DEFINED__
typedef interface IServicesMgr IServicesMgr;
#endif 	/* __IServicesMgr_FWD_DEFINED__ */


#ifndef __CsmService_FWD_DEFINED__
#define __CsmService_FWD_DEFINED__

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

#endif 	/* __CsmService_FWD_DEFINED__ */


#ifndef __CsmServices_FWD_DEFINED__
#define __CsmServices_FWD_DEFINED__

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

#endif 	/* __CsmServices_FWD_DEFINED__ */


#ifndef __IServicesMgrEvents_FWD_DEFINED__
#define __IServicesMgrEvents_FWD_DEFINED__
typedef interface IServicesMgrEvents IServicesMgrEvents;
#endif 	/* __IServicesMgrEvents_FWD_DEFINED__ */


#ifndef __CServicesMgr_FWD_DEFINED__
#define __CServicesMgr_FWD_DEFINED__

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

#endif 	/* __CServicesMgr_FWD_DEFINED__ */


/* header files for imported files */
#include "prsht.h"
#include "mshtml.h"
#include "mshtmhst.h"
#include "exdisp.h"
#include "objsafe.h"

#ifdef __cplusplus
extern "C"{
#endif 

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

/* interface __MIDL_itf__ServicesManager_0000 */
/* [local] */ 

/* [helpstring] */ 
enum ServiceProgress
    {	spContinuePending	= 5,
	spPausePending	= 6,
	spPaused	= 7,
	spRunning	= 4,
	spStartPending	= 2,
	spStopPending	= 3,
	spStopped	= 1
    } ;


extern RPC_IF_HANDLE __MIDL_itf__ServicesManager_0000_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf__ServicesManager_0000_v0_0_s_ifspec;

#ifndef __IsmService_INTERFACE_DEFINED__
#define __IsmService_INTERFACE_DEFINED__

/* interface IsmService */
/* [unique][helpstring][nonextensible][hidden][oleautomation][dual][uuid][object] */ 


EXTERN_C const IID IID_IsmService;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("0F4CBB84-3840-47E1-A69B-79D33764C52D")
    IsmService : public IDispatch
    {
    public:
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_DisplayName( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IsmServiceVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IsmService * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IsmService * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IsmService * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IsmService * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IsmService * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IsmService * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IsmService * 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][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IsmService * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DisplayName )( 
            IsmService * This,
            /* [retval][out] */ BSTR *pVal);
        
        END_INTERFACE
    } IsmServiceVtbl;

    interface IsmService
    {
        CONST_VTBL struct IsmServiceVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define IsmService_get_Name(This,pVal)	\
    (This)->lpVtbl -> get_Name(This,pVal)

#define IsmService_get_DisplayName(This,pVal)	\
    (This)->lpVtbl -> get_DisplayName(This,pVal)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IsmService_get_Name_Proxy( 
    IsmService * This,
    /* [retval][out] */ BSTR *pVal);


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


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IsmService_get_DisplayName_Proxy( 
    IsmService * This,
    /* [retval][out] */ BSTR *pVal);


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



#endif 	/* __IsmService_INTERFACE_DEFINED__ */


#ifndef __IsmServices_INTERFACE_DEFINED__
#define __IsmServices_INTERFACE_DEFINED__

/* interface IsmServices */
/* [unique][helpstring][nonextensible][hidden][oleautomation][dual][uuid][object] */ 


EXTERN_C const IID IID_IsmServices;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("5BB63796-959D-412D-B94C-30B3EB8D97F1")
    IsmServices : public IDispatch
    {
    public:
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Item( 
            /* [in] */ VARIANT Index,
            /* [retval][out] */ IsmService **ppVal) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Count( 
            /* [retval][out] */ LONG *plCount) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE _NewEnum( 
            /* [retval][out] */ IUnknown **ppUnk) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IsmServicesVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IsmServices * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IsmServices * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IsmServices * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IsmServices * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IsmServices * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IsmServices * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IsmServices * 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][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Item )( 
            IsmServices * This,
            /* [in] */ VARIANT Index,
            /* [retval][out] */ IsmService **ppVal);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Count )( 
            IsmServices * This,
            /* [retval][out] */ LONG *plCount);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *_NewEnum )( 
            IsmServices * This,
            /* [retval][out] */ IUnknown **ppUnk);
        
        END_INTERFACE
    } IsmServicesVtbl;

    interface IsmServices
    {
        CONST_VTBL struct IsmServicesVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define IsmServices_get_Item(This,Index,ppVal)	\
    (This)->lpVtbl -> get_Item(This,Index,ppVal)

#define IsmServices_Count(This,plCount)	\
    (This)->lpVtbl -> Count(This,plCount)

#define IsmServices__NewEnum(This,ppUnk)	\
    (This)->lpVtbl -> _NewEnum(This,ppUnk)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IsmServices_get_Item_Proxy( 
    IsmServices * This,
    /* [in] */ VARIANT Index,
    /* [retval][out] */ IsmService **ppVal);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IsmServices_Count_Proxy( 
    IsmServices * This,
    /* [retval][out] */ LONG *plCount);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IsmServices__NewEnum_Proxy( 
    IsmServices * This,
    /* [retval][out] */ IUnknown **ppUnk);


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



#endif 	/* __IsmServices_INTERFACE_DEFINED__ */


#ifndef __IServicesMgr_INTERFACE_DEFINED__
#define __IServicesMgr_INTERFACE_DEFINED__

/* interface IServicesMgr */
/* [unique][helpstring][hidden][nonextensible][oleautomation][dual][uuid][object] */ 


EXTERN_C const IID IID_IServicesMgr;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("2543548B-EFFB-4CB4-B2ED-9D3931A2527D")
    IServicesMgr : public IDispatch
    {
    public:
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Start( 
            /* [in] */ BSTR ServiceName) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Stop( 
            /* [in] */ BSTR ServiceName) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Services( 
            /* [retval][out] */ IsmServices **pVal) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IServicesMgrVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IServicesMgr * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IServicesMgr * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IServicesMgr * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IServicesMgr * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IServicesMgr * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IServicesMgr * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IServicesMgr * 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 *Start )( 
            IServicesMgr * This,
            /* [in] */ BSTR ServiceName);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Stop )( 
            IServicesMgr * This,
            /* [in] */ BSTR ServiceName);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Services )( 
            IServicesMgr * This,
            /* [retval][out] */ IsmServices **pVal);
        
        END_INTERFACE
    } IServicesMgrVtbl;

    interface IServicesMgr
    {
        CONST_VTBL struct IServicesMgrVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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


#define IServicesMgr_Start(This,ServiceName)	\
    (This)->lpVtbl -> Start(This,ServiceName)

#define IServicesMgr_Stop(This,ServiceName)	\
    (This)->lpVtbl -> Stop(This,ServiceName)

#define IServicesMgr_get_Services(This,pVal)	\
    (This)->lpVtbl -> get_Services(This,pVal)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IServicesMgr_Start_Proxy( 
    IServicesMgr * This,
    /* [in] */ BSTR ServiceName);


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


/* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IServicesMgr_Stop_Proxy( 
    IServicesMgr * This,
    /* [in] */ BSTR ServiceName);


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


/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IServicesMgr_get_Services_Proxy( 
    IServicesMgr * This,
    /* [retval][out] */ IsmServices **pVal);


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



#endif 	/* __IServicesMgr_INTERFACE_DEFINED__ */



#ifndef __ServicesManager_LIBRARY_DEFINED__
#define __ServicesManager_LIBRARY_DEFINED__

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


EXTERN_C const IID LIBID_ServicesManager;

EXTERN_C const CLSID CLSID_CsmService;

#ifdef __cplusplus

class DECLSPEC_UUID("E4A30ACF-21E1-477A-A02B-97E8678D1985")
CsmService;
#endif

EXTERN_C const CLSID CLSID_CsmServices;

#ifdef __cplusplus

class DECLSPEC_UUID("BE11DC87-85E5-47D3-8132-BD6792E96EB8")
CsmServices;
#endif

#ifndef __IServicesMgrEvents_DISPINTERFACE_DEFINED__
#define __IServicesMgrEvents_DISPINTERFACE_DEFINED__

/* dispinterface IServicesMgrEvents */
/* [helpstring][uuid][hidden][nonextensible] */ 


EXTERN_C const IID DIID_IServicesMgrEvents;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("A51F19F7-9AF5-4753-9B6F-52FC89D69B18")
    IServicesMgrEvents : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct IServicesMgrEventsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IServicesMgrEvents * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IServicesMgrEvents * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IServicesMgrEvents * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IServicesMgrEvents * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IServicesMgrEvents * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IServicesMgrEvents * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IServicesMgrEvents * 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);
        
        END_INTERFACE
    } IServicesMgrEventsVtbl;

    interface IServicesMgrEvents
    {
        CONST_VTBL struct IServicesMgrEventsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


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

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

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

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

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* __IServicesMgrEvents_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_CServicesMgr;

#ifdef __cplusplus

class DECLSPEC_UUID("1ED43E25-993D-4F57-AA60-D35450485D4B")
CServicesMgr;
#endif
#endif /* __ServicesManager_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  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 * ); 

/* end of Additional Prototypes */

#ifdef __cplusplus
}
#endif

#endif


By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here


Written By
Software Developer (Senior)
United States United States
Started professional career in software development back in 2000, in Ukraine. Founder and owner of a boutique software company called ByteGems.com Software. Worked for 6 years at w2bi, Inc in New Jersey USA, currently work in a large multinational company based in Redmond, WA.

My buzzwords at the moment: .NET, C#, ASP.NET, MVC, LINQ, TypeScript, JavaScript, AngularJS, HTML, JSON, services.

Still buzzing: C++, Win32, ATL, MFC, SQL, WinForms, WebForms, EF, Sockets, TCP/IP, Remoting.

Comments and Discussions