⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 opcda.h

📁 最简单的VC编写的OPC客户端程序
💻 H
📖 第 1 页 / 共 5 页
字号:
/* [unique][uuid][object] */ 







EXTERN_C const IID IID_IOPCServer;



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

    

    interface DECLSPEC_UUID("39c13a4d-011e-11d0-9675-0020afd8adb3")

    IOPCServer : public IUnknown

    {

    public:

        virtual HRESULT STDMETHODCALLTYPE AddGroup( 

            /* [string][in] */ LPCWSTR szName,

            /* [in] */ BOOL bActive,

            /* [in] */ DWORD dwRequestedUpdateRate,

            /* [in] */ OPCHANDLE hClientGroup,

            /* [in][unique] */ LONG __RPC_FAR *pTimeBias,

            /* [in][unique] */ FLOAT __RPC_FAR *pPercentDeadband,

            /* [in] */ DWORD dwLCID,

            /* [out] */ OPCHANDLE __RPC_FAR *phServerGroup,

            /* [out] */ DWORD __RPC_FAR *pRevisedUpdateRate,

            /* [in] */ REFIID riid,

            /* [iid_is][out] */ LPUNKNOWN __RPC_FAR *ppUnk) = 0;

        

        virtual HRESULT STDMETHODCALLTYPE GetErrorString( 

            /* [in] */ HRESULT dwError,

            /* [in] */ LCID dwLocale,

            /* [string][out] */ LPWSTR __RPC_FAR *ppString) = 0;

        

        virtual HRESULT STDMETHODCALLTYPE GetGroupByName( 

            /* [string][in] */ LPCWSTR szName,

            /* [in] */ REFIID riid,

            /* [iid_is][out] */ LPUNKNOWN __RPC_FAR *ppUnk) = 0;

        

        virtual HRESULT STDMETHODCALLTYPE GetStatus( 

            /* [out] */ OPCSERVERSTATUS __RPC_FAR *__RPC_FAR *ppServerStatus) = 0;

        

        virtual HRESULT STDMETHODCALLTYPE RemoveGroup( 

            /* [in] */ OPCHANDLE hServerGroup,

            /* [in] */ BOOL bForce) = 0;

        

        virtual HRESULT STDMETHODCALLTYPE CreateGroupEnumerator( 

            /* [in] */ OPCENUMSCOPE dwScope,

            /* [in] */ REFIID riid,

            /* [iid_is][out] */ LPUNKNOWN __RPC_FAR *ppUnk) = 0;

        

    };

    

#else 	/* C style interface */



    typedef struct IOPCServerVtbl

    {

        BEGIN_INTERFACE

        

        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 

            IOPCServer __RPC_FAR * This,

            /* [in] */ REFIID riid,

            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);

        

        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 

            IOPCServer __RPC_FAR * This);

        

        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 

            IOPCServer __RPC_FAR * This);

        

        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddGroup )( 

            IOPCServer __RPC_FAR * This,

            /* [string][in] */ LPCWSTR szName,

            /* [in] */ BOOL bActive,

            /* [in] */ DWORD dwRequestedUpdateRate,

            /* [in] */ OPCHANDLE hClientGroup,

            /* [in][unique] */ LONG __RPC_FAR *pTimeBias,

            /* [in][unique] */ FLOAT __RPC_FAR *pPercentDeadband,

            /* [in] */ DWORD dwLCID,

            /* [out] */ OPCHANDLE __RPC_FAR *phServerGroup,

            /* [out] */ DWORD __RPC_FAR *pRevisedUpdateRate,

            /* [in] */ REFIID riid,

            /* [iid_is][out] */ LPUNKNOWN __RPC_FAR *ppUnk);

        

        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetErrorString )( 

            IOPCServer __RPC_FAR * This,

            /* [in] */ HRESULT dwError,

            /* [in] */ LCID dwLocale,

            /* [string][out] */ LPWSTR __RPC_FAR *ppString);

        

        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetGroupByName )( 

            IOPCServer __RPC_FAR * This,

            /* [string][in] */ LPCWSTR szName,

            /* [in] */ REFIID riid,

            /* [iid_is][out] */ LPUNKNOWN __RPC_FAR *ppUnk);

        

        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetStatus )( 

            IOPCServer __RPC_FAR * This,

            /* [out] */ OPCSERVERSTATUS __RPC_FAR *__RPC_FAR *ppServerStatus);

        

        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RemoveGroup )( 

            IOPCServer __RPC_FAR * This,

            /* [in] */ OPCHANDLE hServerGroup,

            /* [in] */ BOOL bForce);

        

        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateGroupEnumerator )( 

            IOPCServer __RPC_FAR * This,

            /* [in] */ OPCENUMSCOPE dwScope,

            /* [in] */ REFIID riid,

            /* [iid_is][out] */ LPUNKNOWN __RPC_FAR *ppUnk);

        

        END_INTERFACE

    } IOPCServerVtbl;



    interface IOPCServer

    {

        CONST_VTBL struct IOPCServerVtbl __RPC_FAR *lpVtbl;

    };



    



#ifdef COBJMACROS





#define IOPCServer_QueryInterface(This,riid,ppvObject)	\

    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)



#define IOPCServer_AddRef(This)	\

    (This)->lpVtbl -> AddRef(This)



#define IOPCServer_Release(This)	\

    (This)->lpVtbl -> Release(This)





#define IOPCServer_AddGroup(This,szName,bActive,dwRequestedUpdateRate,hClientGroup,pTimeBias,pPercentDeadband,dwLCID,phServerGroup,pRevisedUpdateRate,riid,ppUnk)	\

    (This)->lpVtbl -> AddGroup(This,szName,bActive,dwRequestedUpdateRate,hClientGroup,pTimeBias,pPercentDeadband,dwLCID,phServerGroup,pRevisedUpdateRate,riid,ppUnk)



#define IOPCServer_GetErrorString(This,dwError,dwLocale,ppString)	\

    (This)->lpVtbl -> GetErrorString(This,dwError,dwLocale,ppString)



#define IOPCServer_GetGroupByName(This,szName,riid,ppUnk)	\

    (This)->lpVtbl -> GetGroupByName(This,szName,riid,ppUnk)



#define IOPCServer_GetStatus(This,ppServerStatus)	\

    (This)->lpVtbl -> GetStatus(This,ppServerStatus)



#define IOPCServer_RemoveGroup(This,hServerGroup,bForce)	\

    (This)->lpVtbl -> RemoveGroup(This,hServerGroup,bForce)



#define IOPCServer_CreateGroupEnumerator(This,dwScope,riid,ppUnk)	\

    (This)->lpVtbl -> CreateGroupEnumerator(This,dwScope,riid,ppUnk)



#endif /* COBJMACROS */





#endif 	/* C style interface */







HRESULT STDMETHODCALLTYPE IOPCServer_AddGroup_Proxy( 

    IOPCServer __RPC_FAR * This,

    /* [string][in] */ LPCWSTR szName,

    /* [in] */ BOOL bActive,

    /* [in] */ DWORD dwRequestedUpdateRate,

    /* [in] */ OPCHANDLE hClientGroup,

    /* [in][unique] */ LONG __RPC_FAR *pTimeBias,

    /* [in][unique] */ FLOAT __RPC_FAR *pPercentDeadband,

    /* [in] */ DWORD dwLCID,

    /* [out] */ OPCHANDLE __RPC_FAR *phServerGroup,

    /* [out] */ DWORD __RPC_FAR *pRevisedUpdateRate,

    /* [in] */ REFIID riid,

    /* [iid_is][out] */ LPUNKNOWN __RPC_FAR *ppUnk);





void __RPC_STUB IOPCServer_AddGroup_Stub(

    IRpcStubBuffer *This,

    IRpcChannelBuffer *_pRpcChannelBuffer,

    PRPC_MESSAGE _pRpcMessage,

    DWORD *_pdwStubPhase);





HRESULT STDMETHODCALLTYPE IOPCServer_GetErrorString_Proxy( 

    IOPCServer __RPC_FAR * This,

    /* [in] */ HRESULT dwError,

    /* [in] */ LCID dwLocale,

    /* [string][out] */ LPWSTR __RPC_FAR *ppString);





void __RPC_STUB IOPCServer_GetErrorString_Stub(

    IRpcStubBuffer *This,

    IRpcChannelBuffer *_pRpcChannelBuffer,

    PRPC_MESSAGE _pRpcMessage,

    DWORD *_pdwStubPhase);





HRESULT STDMETHODCALLTYPE IOPCServer_GetGroupByName_Proxy( 

    IOPCServer __RPC_FAR * This,

    /* [string][in] */ LPCWSTR szName,

    /* [in] */ REFIID riid,

    /* [iid_is][out] */ LPUNKNOWN __RPC_FAR *ppUnk);





void __RPC_STUB IOPCServer_GetGroupByName_Stub(

    IRpcStubBuffer *This,

    IRpcChannelBuffer *_pRpcChannelBuffer,

    PRPC_MESSAGE _pRpcMessage,

    DWORD *_pdwStubPhase);





HRESULT STDMETHODCALLTYPE IOPCServer_GetStatus_Proxy( 

    IOPCServer __RPC_FAR * This,

    /* [out] */ OPCSERVERSTATUS __RPC_FAR *__RPC_FAR *ppServerStatus);





void __RPC_STUB IOPCServer_GetStatus_Stub(

    IRpcStubBuffer *This,

    IRpcChannelBuffer *_pRpcChannelBuffer,

    PRPC_MESSAGE _pRpcMessage,

    DWORD *_pdwStubPhase);





HRESULT STDMETHODCALLTYPE IOPCServer_RemoveGroup_Proxy( 

    IOPCServer __RPC_FAR * This,

    /* [in] */ OPCHANDLE hServerGroup,

    /* [in] */ BOOL bForce);





void __RPC_STUB IOPCServer_RemoveGroup_Stub(

    IRpcStubBuffer *This,

    IRpcChannelBuffer *_pRpcChannelBuffer,

    PRPC_MESSAGE _pRpcMessage,

    DWORD *_pdwStubPhase);





HRESULT STDMETHODCALLTYPE IOPCServer_CreateGroupEnumerator_Proxy( 

    IOPCServer __RPC_FAR * This,

    /* [in] */ OPCENUMSCOPE dwScope,

    /* [in] */ REFIID riid,

    /* [iid_is][out] */ LPUNKNOWN __RPC_FAR *ppUnk);





void __RPC_STUB IOPCServer_CreateGroupEnumerator_Stub(

    IRpcStubBuffer *This,

    IRpcChannelBuffer *_pRpcChannelBuffer,

    PRPC_MESSAGE _pRpcMessage,

    DWORD *_pdwStubPhase);







#endif 	/* __IOPCServer_INTERFACE_DEFINED__ */





#ifndef __IOPCServerPublicGroups_INTERFACE_DEFINED__

#define __IOPCServerPublicGroups_INTERFACE_DEFINED__



/****************************************

 * Generated header for interface: IOPCServerPublicGroups

 * at Wed Oct 14 12:14:58 1998

 * using MIDL 3.01.75

 ****************************************/

/* [unique][uuid][object] */ 







EXTERN_C const IID IID_IOPCServerPublicGroups;



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

    

    interface DECLSPEC_UUID("39c13a4e-011e-11d0-9675-0020afd8adb3")

    IOPCServerPublicGroups : public IUnknown

    {

    public:

        virtual HRESULT STDMETHODCALLTYPE GetPublicGroupByName( 

            /* [string][in] */ LPCWSTR szName,

            /* [in] */ REFIID riid,

            /* [iid_is][out] */ LPUNKNOWN __RPC_FAR *ppUnk) = 0;

        

        virtual HRESULT STDMETHODCALLTYPE RemovePublicGroup( 

            /* [in] */ OPCHANDLE hServerGroup,

            /* [in] */ BOOL bForce) = 0;

        

    };

    

#else 	/* C style interface */



    typedef struct IOPCServerPublicGroupsVtbl

    {

        BEGIN_INTERFACE

        

        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 

            IOPCServerPublicGroups __RPC_FAR * This,

            /* [in] */ REFIID riid,

            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);

        

        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 

            IOPCServerPublicGroups __RPC_FAR * This);

        

        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 

            IOPCServerPublicGroups __RPC_FAR * This);

        

        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetPublicGroupByName )( 

            IOPCServerPublicGroups __RPC_FAR * This,

            /* [string][in] */ LPCWSTR szName,

            /* [in] */ REFIID riid,

            /* [iid_is][out] */ LPUNKNOWN __RPC_FAR *ppUnk);

        

        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RemovePublicGroup )( 

            IOPCServerPublicGroups __RPC_FAR * This,

            /* [in] */ OPCHANDLE hServerGroup,

            /* [in] */ BOOL bForce);

        

        END_INTERFACE

    } IOPCServerPublicGroupsVtbl;



    interface IOPCServerPublicGroups

    {

        CONST_VTBL struct IOPCServerPublicGroupsVtbl __RPC_FAR *lpVtbl;

    };



    



#ifdef COBJMACROS





#define IOPCServerPublicGroups_QueryInterface(This,riid,ppvObject)	\

    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)



#define IOPCServerPublicGroups_AddRef(This)	\

    (This)->lpVtbl -> AddRef(This)



#define IOPCServerPublicGroups_Release(This)	\

    (This)->lpVtbl -> Release(This)





#define IOPCServerPublicGroups_GetPublicGroupByName(This,szName,riid,ppUnk)	\

    (This)->lpVtbl -> GetPublicGroupByName(This,szName,riid,ppUnk)



#define IOPCServerPublicGroups_RemovePublicGroup(This,hServerGroup,bForce)	\

    (This)->lpVtbl -> RemovePublicGroup(This,hServerGroup,bForce)



#endif /* COBJMACROS */





#endif 	/* C style interface */







HRESULT STDMETHODCALLTYPE IOPCServerPublicGroups_GetPublicGroupByName_Proxy( 

    IOPCServerPublicGroups __RPC_FAR * This,

    /* [string][in] */ LPCWSTR szName,

    /* [in] */ REFIID riid,

    /* [iid_is][out] */ LPUNKNOWN __RPC_FAR *ppUnk);





void __RPC_STUB IOPCServerPublicGroups_GetPublicGroupByName_Stub(

    IRpcStubBuffer *This,

    IRpcChannelBuffer *_pRpcChannelBuffer,

    PRPC_MESSAGE _pRpcMessage,

    DWORD *_pdwStubPhase);





HRESULT STDMETHODCALLTYPE IOPCServerPublicGroups_RemovePublicGroup_Proxy( 

    IOPCServerPublicGroups __RPC_FAR * This,

    /* [in] */ OPCHANDLE hServerGroup,

    /* [in] */ BOOL bForce);





void __RPC_STUB IOPCServerPublicGroups_RemovePublicGroup_Stub(

    IRpcStubBuffer *This,

    IRpcChannelBuffer *_pRpcChannelBuffer,

    PRPC_MESSAGE _pRpcMessage,

    DWORD *_pdwStubPhase);







#endif 	/* __IOPCServerPublicGroups_INTERFACE_DEFINED__ */





#ifndef __IOPCBrowseServerAddressSpace_INTERFACE_DEFINED__

#define __IOPCBrowseServerAddressSpace_INTERFACE_DEFINED__



/****************************************

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -