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

📄 opcda.h

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


    



#ifdef COBJMACROS





#define IOPCAsyncIO_QueryInterface(This,riid,ppvObject)	\

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



#define IOPCAsyncIO_AddRef(This)	\

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



#define IOPCAsyncIO_Release(This)	\

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





#define IOPCAsyncIO_Read(This,dwConnection,dwSource,dwCount,phServer,pTransactionID,ppErrors)	\

    (This)->lpVtbl -> Read(This,dwConnection,dwSource,dwCount,phServer,pTransactionID,ppErrors)



#define IOPCAsyncIO_Write(This,dwConnection,dwCount,phServer,pItemValues,pTransactionID,ppErrors)	\

    (This)->lpVtbl -> Write(This,dwConnection,dwCount,phServer,pItemValues,pTransactionID,ppErrors)



#define IOPCAsyncIO_Refresh(This,dwConnection,dwSource,pTransactionID)	\

    (This)->lpVtbl -> Refresh(This,dwConnection,dwSource,pTransactionID)



#define IOPCAsyncIO_Cancel(This,dwTransactionID)	\

    (This)->lpVtbl -> Cancel(This,dwTransactionID)



#endif /* COBJMACROS */





#endif 	/* C style interface */







HRESULT STDMETHODCALLTYPE IOPCAsyncIO_Read_Proxy( 

    IOPCAsyncIO __RPC_FAR * This,

    /* [in] */ DWORD dwConnection,

    /* [in] */ OPCDATASOURCE dwSource,

    /* [in] */ DWORD dwCount,

    /* [size_is][in] */ OPCHANDLE __RPC_FAR *phServer,

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

    /* [size_is][size_is][out] */ HRESULT __RPC_FAR *__RPC_FAR *ppErrors);





void __RPC_STUB IOPCAsyncIO_Read_Stub(

    IRpcStubBuffer *This,

    IRpcChannelBuffer *_pRpcChannelBuffer,

    PRPC_MESSAGE _pRpcMessage,

    DWORD *_pdwStubPhase);





HRESULT STDMETHODCALLTYPE IOPCAsyncIO_Write_Proxy( 

    IOPCAsyncIO __RPC_FAR * This,

    /* [in] */ DWORD dwConnection,

    /* [in] */ DWORD dwCount,

    /* [size_is][in] */ OPCHANDLE __RPC_FAR *phServer,

    /* [size_is][in] */ VARIANT __RPC_FAR *pItemValues,

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

    /* [size_is][size_is][out] */ HRESULT __RPC_FAR *__RPC_FAR *ppErrors);





void __RPC_STUB IOPCAsyncIO_Write_Stub(

    IRpcStubBuffer *This,

    IRpcChannelBuffer *_pRpcChannelBuffer,

    PRPC_MESSAGE _pRpcMessage,

    DWORD *_pdwStubPhase);





HRESULT STDMETHODCALLTYPE IOPCAsyncIO_Refresh_Proxy( 

    IOPCAsyncIO __RPC_FAR * This,

    /* [in] */ DWORD dwConnection,

    /* [in] */ OPCDATASOURCE dwSource,

    /* [out] */ DWORD __RPC_FAR *pTransactionID);





void __RPC_STUB IOPCAsyncIO_Refresh_Stub(

    IRpcStubBuffer *This,

    IRpcChannelBuffer *_pRpcChannelBuffer,

    PRPC_MESSAGE _pRpcMessage,

    DWORD *_pdwStubPhase);





HRESULT STDMETHODCALLTYPE IOPCAsyncIO_Cancel_Proxy( 

    IOPCAsyncIO __RPC_FAR * This,

    /* [in] */ DWORD dwTransactionID);





void __RPC_STUB IOPCAsyncIO_Cancel_Stub(

    IRpcStubBuffer *This,

    IRpcChannelBuffer *_pRpcChannelBuffer,

    PRPC_MESSAGE _pRpcMessage,

    DWORD *_pdwStubPhase);







#endif 	/* __IOPCAsyncIO_INTERFACE_DEFINED__ */





#ifndef __IOPCItemMgt_INTERFACE_DEFINED__

#define __IOPCItemMgt_INTERFACE_DEFINED__



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

 * Generated header for interface: IOPCItemMgt

 * at Wed Oct 14 12:14:58 1998

 * using MIDL 3.01.75

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

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







EXTERN_C const IID IID_IOPCItemMgt;



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

    

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

    IOPCItemMgt : public IUnknown

    {

    public:

        virtual HRESULT STDMETHODCALLTYPE AddItems( 

            /* [in] */ DWORD dwCount,

            /* [size_is][in] */ OPCITEMDEF __RPC_FAR *pItemArray,

            /* [size_is][size_is][out] */ OPCITEMRESULT __RPC_FAR *__RPC_FAR *ppAddResults,

            /* [size_is][size_is][out] */ HRESULT __RPC_FAR *__RPC_FAR *ppErrors) = 0;

        

        virtual HRESULT STDMETHODCALLTYPE ValidateItems( 

            /* [in] */ DWORD dwCount,

            /* [size_is][in] */ OPCITEMDEF __RPC_FAR *pItemArray,

            /* [in] */ BOOL bBlobUpdate,

            /* [size_is][size_is][out] */ OPCITEMRESULT __RPC_FAR *__RPC_FAR *ppValidationResults,

            /* [size_is][size_is][out] */ HRESULT __RPC_FAR *__RPC_FAR *ppErrors) = 0;

        

        virtual HRESULT STDMETHODCALLTYPE RemoveItems( 

            /* [in] */ DWORD dwCount,

            /* [size_is][in] */ OPCHANDLE __RPC_FAR *phServer,

            /* [size_is][size_is][out] */ HRESULT __RPC_FAR *__RPC_FAR *ppErrors) = 0;

        

        virtual HRESULT STDMETHODCALLTYPE SetActiveState( 

            /* [in] */ DWORD dwCount,

            /* [size_is][in] */ OPCHANDLE __RPC_FAR *phServer,

            /* [in] */ BOOL bActive,

            /* [size_is][size_is][out] */ HRESULT __RPC_FAR *__RPC_FAR *ppErrors) = 0;

        

        virtual HRESULT STDMETHODCALLTYPE SetClientHandles( 

            /* [in] */ DWORD dwCount,

            /* [size_is][in] */ OPCHANDLE __RPC_FAR *phServer,

            /* [size_is][in] */ OPCHANDLE __RPC_FAR *phClient,

            /* [size_is][size_is][out] */ HRESULT __RPC_FAR *__RPC_FAR *ppErrors) = 0;

        

        virtual HRESULT STDMETHODCALLTYPE SetDatatypes( 

            /* [in] */ DWORD dwCount,

            /* [size_is][in] */ OPCHANDLE __RPC_FAR *phServer,

            /* [size_is][in] */ VARTYPE __RPC_FAR *pRequestedDatatypes,

            /* [size_is][size_is][out] */ HRESULT __RPC_FAR *__RPC_FAR *ppErrors) = 0;

        

        virtual HRESULT STDMETHODCALLTYPE CreateEnumerator( 

            /* [in] */ REFIID riid,

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

        

    };

    

#else 	/* C style interface */



    typedef struct IOPCItemMgtVtbl

    {

        BEGIN_INTERFACE

        

        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 

            IOPCItemMgt __RPC_FAR * This,

            /* [in] */ REFIID riid,

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

        

        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 

            IOPCItemMgt __RPC_FAR * This);

        

        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 

            IOPCItemMgt __RPC_FAR * This);

        

        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddItems )( 

            IOPCItemMgt __RPC_FAR * This,

            /* [in] */ DWORD dwCount,

            /* [size_is][in] */ OPCITEMDEF __RPC_FAR *pItemArray,

            /* [size_is][size_is][out] */ OPCITEMRESULT __RPC_FAR *__RPC_FAR *ppAddResults,

            /* [size_is][size_is][out] */ HRESULT __RPC_FAR *__RPC_FAR *ppErrors);

        

        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ValidateItems )( 

            IOPCItemMgt __RPC_FAR * This,

            /* [in] */ DWORD dwCount,

            /* [size_is][in] */ OPCITEMDEF __RPC_FAR *pItemArray,

            /* [in] */ BOOL bBlobUpdate,

            /* [size_is][size_is][out] */ OPCITEMRESULT __RPC_FAR *__RPC_FAR *ppValidationResults,

            /* [size_is][size_is][out] */ HRESULT __RPC_FAR *__RPC_FAR *ppErrors);

        

        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RemoveItems )( 

            IOPCItemMgt __RPC_FAR * This,

            /* [in] */ DWORD dwCount,

            /* [size_is][in] */ OPCHANDLE __RPC_FAR *phServer,

            /* [size_is][size_is][out] */ HRESULT __RPC_FAR *__RPC_FAR *ppErrors);

        

        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetActiveState )( 

            IOPCItemMgt __RPC_FAR * This,

            /* [in] */ DWORD dwCount,

            /* [size_is][in] */ OPCHANDLE __RPC_FAR *phServer,

            /* [in] */ BOOL bActive,

            /* [size_is][size_is][out] */ HRESULT __RPC_FAR *__RPC_FAR *ppErrors);

        

        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetClientHandles )( 

            IOPCItemMgt __RPC_FAR * This,

            /* [in] */ DWORD dwCount,

            /* [size_is][in] */ OPCHANDLE __RPC_FAR *phServer,

            /* [size_is][in] */ OPCHANDLE __RPC_FAR *phClient,

            /* [size_is][size_is][out] */ HRESULT __RPC_FAR *__RPC_FAR *ppErrors);

        

        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetDatatypes )( 

            IOPCItemMgt __RPC_FAR * This,

            /* [in] */ DWORD dwCount,

            /* [size_is][in] */ OPCHANDLE __RPC_FAR *phServer,

            /* [size_is][in] */ VARTYPE __RPC_FAR *pRequestedDatatypes,

            /* [size_is][size_is][out] */ HRESULT __RPC_FAR *__RPC_FAR *ppErrors);

        

        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateEnumerator )( 

            IOPCItemMgt __RPC_FAR * This,

            /* [in] */ REFIID riid,

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

        

        END_INTERFACE

    } IOPCItemMgtVtbl;



    interface IOPCItemMgt

    {

        CONST_VTBL struct IOPCItemMgtVtbl __RPC_FAR *lpVtbl;

    };



    



#ifdef COBJMACROS





#define IOPCItemMgt_QueryInterface(This,riid,ppvObject)	\

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



#define IOPCItemMgt_AddRef(This)	\

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



#define IOPCItemMgt_Release(This)	\

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





#define IOPCItemMgt_AddItems(This,dwCount,pItemArray,ppAddResults,ppErrors)	\

    (This)->lpVtbl -> AddItems(This,dwCount,pItemArray,ppAddResults,ppErrors)



#define IOPCItemMgt_ValidateItems(This,dwCount,pItemArray,bBlobUpdate,ppValidationResults,ppErrors)	\

    (This)->lpVtbl -> ValidateItems(This,dwCount,pItemArray,bBlobUpdate,ppValidationResults,ppErrors)



#define IOPCItemMgt_RemoveItems(This,dwCount,phServer,ppErrors)	\

    (This)->lpVtbl -> RemoveItems(This,dwCount,phServer,ppErrors)



#define IOPCItemMgt_SetActiveState(This,dwCount,phServer,bActive,ppErrors)	\

    (This)->lpVtbl -> SetActiveState(This,dwCount,phServer,bActive,ppErrors)



#define IOPCItemMgt_SetClientHandles(This,dwCount,phServer,phClient,ppErrors)	\

    (This)->lpVtbl -> SetClientHandles(This,dwCount,phServer,phClient,ppErrors)



#define IOPCItemMgt_SetDatatypes(This,dwCount,phServer,pRequestedDatatypes,ppErrors)	\

    (This)->lpVtbl -> SetDatatypes(This,dwCount,phServer,pRequestedDatatypes,ppErrors)



#define IOPCItemMgt_CreateEnumerator(This,riid,ppUnk)	\

    (This)->lpVtbl -> CreateEnumerator(This,riid,ppUnk)



#endif /* COBJMACROS */





#endif 	/* C style interface */







HRESULT STDMETHODCALLTYPE IOPCItemMgt_AddItems_Proxy( 

    IOPCItemMgt __RPC_FAR * This,

    /* [in] */ DWORD dwCount,

    /* [size_is][in] */ OPCITEMDEF __RPC_FAR *pItemArray,

    /* [size_is][size_is][out] */ OPCITEMRESULT __RPC_FAR *__RPC_FAR *ppAddResults,

    /* [size_is][size_is][out] */ HRESULT __RPC_FAR *__RPC_FAR *ppErrors);





void __RPC_STUB IOPCItemMgt_AddItems_Stub(

    IRpcStubBuffer *This,

    IRpcChannelBuffer *_pRpcChannelBuffer,

    PRPC_MESSAGE _pRpcMessage,

    DWORD *_pdwStubPhase);





HRESULT STDMETHODCALLTYPE IOPCItemMgt_ValidateItems_Proxy( 

    IOPCItemMgt __RPC_FAR * This,

    /* [in] */ DWORD dwCount,

    /* [size_is][in] */ OPCITEMDEF __RPC_FAR *pItemArray,

    /* [in] */ BOOL bBlobUpdate,

    /* [size_is][size_is][out] */ OPCITEMRESULT __RPC_FAR *__RPC_FAR *ppValidationResults,

    /* [size_is][size_is][out] */ HRESULT __RPC_FAR *__RPC_FAR *ppErrors);





void __RPC_STUB IOPCItemMgt_ValidateItems_Stub(

    IRpcStubBuffer *This,

    IRpcChannelBuffer *_pRpcChannelBuffer,

    PRPC_MESSAGE _pRpcMessage,

    DWORD *_pdwStubPhase);





HRESULT STDMETHODCALLTYPE IOPCItemMgt_RemoveItems_Proxy( 

    IOPCItemMgt __RPC_FAR * This,

    /* [in] */ DWORD dwCount,

    /* [size_is][in] */ OPCHANDLE __RPC_FAR *phServer,

    /* [size_is][size_is][out] */ HRESULT __RPC_FAR *__RPC_FAR *ppErrors);





void __RPC_STUB IOPCItemMgt_RemoveItems_Stub(

    IRpcStubBuffer *This,

    IRpcChannelBuffer *_pRpcChannelBuffer,

    PRPC_MESSAGE _pRpcMessage,

    DWORD *_pdwStubPhase);





HRESULT STDMETHODCALLTYPE IOPCItemMgt_SetActiveState_Proxy( 

    IOPCItemMgt __RPC_FAR * This,

    /* [in] */ DWORD dwCount,

    /* [size_is][in] */ OPCHANDLE __RPC_FAR *phServer,

    /* [in] */ BOOL bActive,

    /* [size_is][size_is][out] */ HRESULT __RPC_FAR *__RPC_FAR *ppErrors);





void __RPC_STUB IOPCItemMgt_SetActiveState_Stub(

    IRpcStubBuffer *This,

    IRpcChannelBuffer *_pRpcChannelBuffer,

    PRPC_MESSAGE _pRpcMessage,

    DWORD *_pdwStubPhase);





HRESULT STDMETHODCALLTYPE IOPCItemMgt_SetClientHandles_Proxy( 

    IOPCItemMgt __RPC_FAR * This,

    /* [in] */ DWORD dwCount,

    /* [size_is][in] */ OPCHANDLE __RPC_FAR *phServer,

    /* [size_is][in] */ OPCHANDLE __RPC_FAR *phClient,

    /* [size_is][size_is][out] */ HRESULT __RPC_FAR *__RPC_FAR *ppErrors);





void __RPC_STUB IOPCItemMgt_SetClientHandles_Stub(

    IRpcStubBuffer *This,

    IRpcChannelBuffer *_pRpcChannelBuffer,

    PRPC_MESSAGE _pRpcMessage,

    DWORD *_pdwStubPhase);





HRESULT STDMETHODCALLTYPE IOPCItemMgt_SetDatatypes_Proxy( 

    IOPCItemMgt __RPC_FAR * This,

    /* [in] */ DWORD dwCount,

    /* [size_is][in] */ OPCHANDLE __RPC_FAR *phServer,

    /* [size_is][in] */ VARTYPE __RPC_FAR *pRequestedDatatypes,

    /* [size_is][size_is][out] */ HRESULT __RPC_FAR *__RPC_FAR *ppErrors);





void __RPC_STUB IOPCItemMgt_SetDatatypes_Stub(

    IRpcStubBuffer *This,

    IRpcChannelBuffer *_pRpcChannelBuffer,

    PRPC_MESSAGE _pRpcMessage,

    DWORD *_pdwStubPhase);





HRESULT STDMETHODCALLTYPE IOPCItemMgt_CreateEnumerator_Proxy( 

    IOPCItemMgt __RPC_FAR * This,

    /* [in] */ REFIID riid,

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





void __RPC_STUB IOPCItemMgt_CreateEnumerator_Stub(

    IRpcStubBuffer *This,

    IRpcChannelBuffer *_pRpcChannelBuffer,

    PRPC_MESSAGE _pRpcMessage,

    DWORD *_pdwStubPhas

⌨️ 快捷键说明

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