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

📄 opcda.h

📁 OPC 规范
💻 H
📖 第 1 页 / 共 5 页
字号:
            IOPCSyncIO * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IOPCSyncIO * This);
        
        HRESULT ( STDMETHODCALLTYPE *Read )( 
            IOPCSyncIO * This,
            /* [in] */ OPCDATASOURCE dwSource,
            /* [in] */ DWORD dwCount,
            /* [size_is][in] */ OPCHANDLE *phServer,
            /* [size_is][size_is][out] */ OPCITEMSTATE **ppItemValues,
            /* [size_is][size_is][out] */ HRESULT **ppErrors);
        
        HRESULT ( STDMETHODCALLTYPE *Write )( 
            IOPCSyncIO * This,
            /* [in] */ DWORD dwCount,
            /* [size_is][in] */ OPCHANDLE *phServer,
            /* [size_is][in] */ VARIANT *pItemValues,
            /* [size_is][size_is][out] */ HRESULT **ppErrors);
        
        END_INTERFACE
    } IOPCSyncIOVtbl;

    interface IOPCSyncIO
    {
        CONST_VTBL struct IOPCSyncIOVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#define IOPCSyncIO_Read(This,dwSource,dwCount,phServer,ppItemValues,ppErrors)	\
    (This)->lpVtbl -> Read(This,dwSource,dwCount,phServer,ppItemValues,ppErrors)

#define IOPCSyncIO_Write(This,dwCount,phServer,pItemValues,ppErrors)	\
    (This)->lpVtbl -> Write(This,dwCount,phServer,pItemValues,ppErrors)

#endif /* COBJMACROS */


#endif 	/* C style interface */



HRESULT STDMETHODCALLTYPE IOPCSyncIO_Read_Proxy( 
    IOPCSyncIO * This,
    /* [in] */ OPCDATASOURCE dwSource,
    /* [in] */ DWORD dwCount,
    /* [size_is][in] */ OPCHANDLE *phServer,
    /* [size_is][size_is][out] */ OPCITEMSTATE **ppItemValues,
    /* [size_is][size_is][out] */ HRESULT **ppErrors);


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


HRESULT STDMETHODCALLTYPE IOPCSyncIO_Write_Proxy( 
    IOPCSyncIO * This,
    /* [in] */ DWORD dwCount,
    /* [size_is][in] */ OPCHANDLE *phServer,
    /* [size_is][in] */ VARIANT *pItemValues,
    /* [size_is][size_is][out] */ HRESULT **ppErrors);


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



#endif 	/* __IOPCSyncIO_INTERFACE_DEFINED__ */


#ifndef __IOPCAsyncIO_INTERFACE_DEFINED__
#define __IOPCAsyncIO_INTERFACE_DEFINED__

/* interface IOPCAsyncIO */
/* [unique][uuid][object] */ 


EXTERN_C const IID IID_IOPCAsyncIO;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("39c13a53-011e-11d0-9675-0020afd8adb3")
    IOPCAsyncIO : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE Read( 
            /* [in] */ DWORD dwConnection,
            /* [in] */ OPCDATASOURCE dwSource,
            /* [in] */ DWORD dwCount,
            /* [size_is][in] */ OPCHANDLE *phServer,
            /* [out] */ DWORD *pTransactionID,
            /* [size_is][size_is][out] */ HRESULT **ppErrors) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Write( 
            /* [in] */ DWORD dwConnection,
            /* [in] */ DWORD dwCount,
            /* [size_is][in] */ OPCHANDLE *phServer,
            /* [size_is][in] */ VARIANT *pItemValues,
            /* [out] */ DWORD *pTransactionID,
            /* [size_is][size_is][out] */ HRESULT **ppErrors) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Refresh( 
            /* [in] */ DWORD dwConnection,
            /* [in] */ OPCDATASOURCE dwSource,
            /* [out] */ DWORD *pTransactionID) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Cancel( 
            /* [in] */ DWORD dwTransactionID) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IOPCAsyncIOVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IOPCAsyncIO * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IOPCAsyncIO * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IOPCAsyncIO * This);
        
        HRESULT ( STDMETHODCALLTYPE *Read )( 
            IOPCAsyncIO * This,
            /* [in] */ DWORD dwConnection,
            /* [in] */ OPCDATASOURCE dwSource,
            /* [in] */ DWORD dwCount,
            /* [size_is][in] */ OPCHANDLE *phServer,
            /* [out] */ DWORD *pTransactionID,
            /* [size_is][size_is][out] */ HRESULT **ppErrors);
        
        HRESULT ( STDMETHODCALLTYPE *Write )( 
            IOPCAsyncIO * This,
            /* [in] */ DWORD dwConnection,
            /* [in] */ DWORD dwCount,
            /* [size_is][in] */ OPCHANDLE *phServer,
            /* [size_is][in] */ VARIANT *pItemValues,
            /* [out] */ DWORD *pTransactionID,
            /* [size_is][size_is][out] */ HRESULT **ppErrors);
        
        HRESULT ( STDMETHODCALLTYPE *Refresh )( 
            IOPCAsyncIO * This,
            /* [in] */ DWORD dwConnection,
            /* [in] */ OPCDATASOURCE dwSource,
            /* [out] */ DWORD *pTransactionID);
        
        HRESULT ( STDMETHODCALLTYPE *Cancel )( 
            IOPCAsyncIO * This,
            /* [in] */ DWORD dwTransactionID);
        
        END_INTERFACE
    } IOPCAsyncIOVtbl;

    interface IOPCAsyncIO
    {
        CONST_VTBL struct IOPCAsyncIOVtbl *lpVtbl;
    };

    

#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 * This,
    /* [in] */ DWORD dwConnection,
    /* [in] */ OPCDATASOURCE dwSource,
    /* [in] */ DWORD dwCount,
    /* [size_is][in] */ OPCHANDLE *phServer,
    /* [out] */ DWORD *pTransactionID,
    /* [size_is][size_is][out] */ HRESULT **ppErrors);


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


HRESULT STDMETHODCALLTYPE IOPCAsyncIO_Write_Proxy( 
    IOPCAsyncIO * This,
    /* [in] */ DWORD dwConnection,
    /* [in] */ DWORD dwCount,
    /* [size_is][in] */ OPCHANDLE *phServer,
    /* [size_is][in] */ VARIANT *pItemValues,
    /* [out] */ DWORD *pTransactionID,
    /* [size_is][size_is][out] */ HRESULT **ppErrors);


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


HRESULT STDMETHODCALLTYPE IOPCAsyncIO_Refresh_Proxy( 
    IOPCAsyncIO * This,
    /* [in] */ DWORD dwConnection,
    /* [in] */ OPCDATASOURCE dwSource,
    /* [out] */ DWORD *pTransactionID);


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


HRESULT STDMETHODCALLTYPE IOPCAsyncIO_Cancel_Proxy( 
    IOPCAsyncIO * 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__

/* interface IOPCItemMgt */
/* [unique][uuid][object] */ 


EXTERN_C const IID IID_IOPCItemMgt;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("39c13a54-011e-11d0-9675-0020afd8adb3")
    IOPCItemMgt : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE AddItems( 
            /* [in] */ DWORD dwCount,
            /* [size_is][in] */ OPCITEMDEF *pItemArray,
            /* [size_is][size_is][out] */ OPCITEMRESULT **ppAddResults,
            /* [size_is][size_is][out] */ HRESULT **ppErrors) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ValidateItems( 
            /* [in] */ DWORD dwCount,
            /* [size_is][in] */ OPCITEMDEF *pItemArray,
            /* [in] */ BOOL bBlobUpdate,
            /* [size_is][size_is][out] */ OPCITEMRESULT **ppValidationResults,
            /* [size_is][size_is][out] */ HRESULT **ppErrors) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE RemoveItems( 
            /* [in] */ DWORD dwCount,
            /* [size_is][in] */ OPCHANDLE *phServer,
            /* [size_is][size_is][out] */ HRESULT **ppErrors) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetActiveState( 
            /* [in] */ DWORD dwCount,
            /* [size_is][in] */ OPCHANDLE *phServer,
            /* [in] */ BOOL bActive,
            /* [size_is][size_is][out] */ HRESULT **ppErrors) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetClientHandles( 
            /* [in] */ DWORD dwCount,
            /* [size_is][in] */ OPCHANDLE *phServer,
            /* [size_is][in] */ OPCHANDLE *phClient,
            /* [size_is][size_is][out] */ HRESULT **ppErrors) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetDatatypes( 
            /* [in] */ DWORD dwCount,
            /* [size_is][in] */ OPCHANDLE *phServer,
            /* [size_is][in] */ VARTYPE *pRequestedDatatypes,
            /* [size_is][size_is][out] */ HRESULT **ppErrors) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE CreateEnumerator( 
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ LPUNKNOWN *ppUnk) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IOPCItemMgtVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IOPCItemMgt * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IOPCItemMgt * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IOPCItemMgt * This);
        
        HRESULT ( STDMETHODCALLTYPE *AddItems )( 
            IOPCItemMgt * This,
            /* [in] */ DWORD dwCount,
            /* [size_is][in] */ OPCITEMDEF *pItemArray,
            /* [size_is][size_is][out] */ OPCITEMRESULT **ppAddResults,
            /* [size_is][size_is][out] */ HRESULT **ppErrors);
        
        HRESULT ( STDMETHODCALLTYPE *ValidateItems )( 
            IOPCItemMgt * This,
            /* [in] */ DWORD dwCount,
            /* [size_is][in] */ OPCITEMDEF *pItemArray,
            /* [in] */ BOOL bBlobUpdate,
            /* [size_is][size_is][out] */ OPCITEMRESULT **ppValidationResults,
            /* [size_is][size_is][out] */ HRESULT **ppErrors);
        
        HRESULT ( STDMETHODCALLTYPE *RemoveItems )( 
            IOPCItemMgt * This,
            /* [in] */ DWORD dwCount,
            /* [size_is][in] */ OPCHANDLE *phServer,
            /* [size_is][size_is][out] */ HRESULT **ppErrors);
        
        HRESULT ( STDMETHODCALLTYPE *SetActiveState )( 
            IOPCItemMgt * This,
            /* [in] */ DWORD dwCount,
            /* [size_is][in] */ OPCHANDLE *phServer,
            /* [in] */ BOOL bActive,
            /* [size_is][size_is][out] */ HRESULT **ppErrors);
        
        HRESULT ( STDMETHODCALLTYPE *SetClientHandles )( 
            IOPCItemMgt * This,
            /* [in] */ DWORD dwCount,
            /* [size_is][in] */ OPCHANDLE *phServer,
            /* [size_is][in] */ OPCHANDLE *phClient,
            /* [size_is][size_is][out] */ HRESULT **ppErrors);
        
        HRESULT ( STDMETHODCALLTYPE *SetDatatypes )( 
            IOPCItemMgt * This,
            /* [in] */ DWORD dwCount,
            /* [size_is][in] */ OPCHANDLE *phServer,
            /* [size_is][in] */ VARTYPE *pRequestedDatatypes,
            /* [size_is][size_is][out] */ HRESULT **ppErrors);
        
        HRESULT ( STDMETHODCALLTYPE *CreateEnumerator )( 
            IOPCItemMgt * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ LPUNKNOWN *ppUnk);
        
        END_INTERFACE
    } IOPCItemMgtVtbl;

    interface IOPCItemMgt
    {
        CONST_VTBL struct IOPCItemMgtVtbl *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)	\
    (Thi

⌨️ 快捷键说明

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