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

📄 opcda.h

📁 OPC 规范
💻 H
📖 第 1 页 / 共 5 页
字号:
    } CATID_OPCDAServer20Vtbl;

    interface CATID_OPCDAServer20
    {
        CONST_VTBL struct CATID_OPCDAServer20Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __CATID_OPCDAServer20_INTERFACE_DEFINED__ */


#ifndef __CATID_OPCDAServer30_INTERFACE_DEFINED__
#define __CATID_OPCDAServer30_INTERFACE_DEFINED__

/* interface CATID_OPCDAServer30 */
/* [object][uuid] */ 


EXTERN_C const IID IID_CATID_OPCDAServer30;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("CC603642-66D7-48f1-B69A-B625E73652D7")
    CATID_OPCDAServer30 : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct CATID_OPCDAServer30Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            CATID_OPCDAServer30 * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            CATID_OPCDAServer30 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            CATID_OPCDAServer30 * This);
        
        END_INTERFACE
    } CATID_OPCDAServer30Vtbl;

    interface CATID_OPCDAServer30
    {
        CONST_VTBL struct CATID_OPCDAServer30Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __CATID_OPCDAServer30_INTERFACE_DEFINED__ */


#ifndef __CATID_XMLDAServer10_INTERFACE_DEFINED__
#define __CATID_XMLDAServer10_INTERFACE_DEFINED__

/* interface CATID_XMLDAServer10 */
/* [object][uuid] */ 


EXTERN_C const IID IID_CATID_XMLDAServer10;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3098EDA4-A006-48b2-A27F-247453959408")
    CATID_XMLDAServer10 : public IUnknown
    {
    public:
    };
    
#else 	/* C style interface */

    typedef struct CATID_XMLDAServer10Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            CATID_XMLDAServer10 * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            CATID_XMLDAServer10 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            CATID_XMLDAServer10 * This);
        
        END_INTERFACE
    } CATID_XMLDAServer10Vtbl;

    interface CATID_XMLDAServer10
    {
        CONST_VTBL struct CATID_XMLDAServer10Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


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

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

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


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __CATID_XMLDAServer10_INTERFACE_DEFINED__ */


/* interface __MIDL_itf_opcda_0256 */
/* [local] */ 

#define CATID_OPCDAServer10 IID_CATID_OPCDAServer10
#define CATID_OPCDAServer20 IID_CATID_OPCDAServer20
#define CATID_OPCDAServer30 IID_CATID_OPCDAServer30
#define CATID_XMLDAServer10 IID_CATID_XMLDAServer10
typedef DWORD OPCHANDLE;

typedef 
enum tagOPCDATASOURCE
    {	OPC_DS_CACHE	= 1,
	OPC_DS_DEVICE	= OPC_DS_CACHE + 1
    } 	OPCDATASOURCE;

typedef 
enum tagOPCBROWSETYPE
    {	OPC_BRANCH	= 1,
	OPC_LEAF	= OPC_BRANCH + 1,
	OPC_FLAT	= OPC_LEAF + 1
    } 	OPCBROWSETYPE;

typedef 
enum tagOPCNAMESPACETYPE
    {	OPC_NS_HIERARCHIAL	= 1,
	OPC_NS_FLAT	= OPC_NS_HIERARCHIAL + 1
    } 	OPCNAMESPACETYPE;

typedef 
enum tagOPCBROWSEDIRECTION
    {	OPC_BROWSE_UP	= 1,
	OPC_BROWSE_DOWN	= OPC_BROWSE_UP + 1,
	OPC_BROWSE_TO	= OPC_BROWSE_DOWN + 1
    } 	OPCBROWSEDIRECTION;

typedef 
enum tagOPCEUTYPE
    {	OPC_NOENUM	= 0,
	OPC_ANALOG	= OPC_NOENUM + 1,
	OPC_ENUMERATED	= OPC_ANALOG + 1
    } 	OPCEUTYPE;

typedef 
enum tagOPCSERVERSTATE
    {	OPC_STATUS_RUNNING	= 1,
	OPC_STATUS_FAILED	= OPC_STATUS_RUNNING + 1,
	OPC_STATUS_NOCONFIG	= OPC_STATUS_FAILED + 1,
	OPC_STATUS_SUSPENDED	= OPC_STATUS_NOCONFIG + 1,
	OPC_STATUS_TEST	= OPC_STATUS_SUSPENDED + 1,
	OPC_STATUS_COMM_FAULT	= OPC_STATUS_TEST + 1
    } 	OPCSERVERSTATE;

typedef 
enum tagOPCENUMSCOPE
    {	OPC_ENUM_PRIVATE_CONNECTIONS	= 1,
	OPC_ENUM_PUBLIC_CONNECTIONS	= OPC_ENUM_PRIVATE_CONNECTIONS + 1,
	OPC_ENUM_ALL_CONNECTIONS	= OPC_ENUM_PUBLIC_CONNECTIONS + 1,
	OPC_ENUM_PRIVATE	= OPC_ENUM_ALL_CONNECTIONS + 1,
	OPC_ENUM_PUBLIC	= OPC_ENUM_PRIVATE + 1,
	OPC_ENUM_ALL	= OPC_ENUM_PUBLIC + 1
    } 	OPCENUMSCOPE;

typedef struct tagOPCGROUPHEADER
    {
    DWORD dwSize;
    DWORD dwItemCount;
    OPCHANDLE hClientGroup;
    DWORD dwTransactionID;
    HRESULT hrStatus;
    } 	OPCGROUPHEADER;

typedef struct tagOPCITEMHEADER1
    {
    OPCHANDLE hClient;
    DWORD dwValueOffset;
    WORD wQuality;
    WORD wReserved;
    FILETIME ftTimeStampItem;
    } 	OPCITEMHEADER1;

typedef struct tagOPCITEMHEADER2
    {
    OPCHANDLE hClient;
    DWORD dwValueOffset;
    WORD wQuality;
    WORD wReserved;
    } 	OPCITEMHEADER2;

typedef struct tagOPCGROUPHEADERWRITE
    {
    DWORD dwItemCount;
    OPCHANDLE hClientGroup;
    DWORD dwTransactionID;
    HRESULT hrStatus;
    } 	OPCGROUPHEADERWRITE;

typedef struct tagOPCITEMHEADERWRITE
    {
    OPCHANDLE hClient;
    HRESULT dwError;
    } 	OPCITEMHEADERWRITE;

typedef struct tagOPCITEMSTATE
    {
    OPCHANDLE hClient;
    FILETIME ftTimeStamp;
    WORD wQuality;
    WORD wReserved;
    VARIANT vDataValue;
    } 	OPCITEMSTATE;

typedef struct tagOPCSERVERSTATUS
    {
    FILETIME ftStartTime;
    FILETIME ftCurrentTime;
    FILETIME ftLastUpdateTime;
    OPCSERVERSTATE dwServerState;
    DWORD dwGroupCount;
    DWORD dwBandWidth;
    WORD wMajorVersion;
    WORD wMinorVersion;
    WORD wBuildNumber;
    WORD wReserved;
    /* [string] */ LPWSTR szVendorInfo;
    } 	OPCSERVERSTATUS;

typedef struct tagOPCITEMDEF
    {
    /* [string] */ LPWSTR szAccessPath;
    /* [string] */ LPWSTR szItemID;
    BOOL bActive;
    OPCHANDLE hClient;
    DWORD dwBlobSize;
    /* [size_is] */ BYTE *pBlob;
    VARTYPE vtRequestedDataType;
    WORD wReserved;
    } 	OPCITEMDEF;

typedef struct tagOPCITEMATTRIBUTES
    {
    /* [string] */ LPWSTR szAccessPath;
    /* [string] */ LPWSTR szItemID;
    BOOL bActive;
    OPCHANDLE hClient;
    OPCHANDLE hServer;
    DWORD dwAccessRights;
    DWORD dwBlobSize;
    /* [size_is] */ BYTE *pBlob;
    VARTYPE vtRequestedDataType;
    VARTYPE vtCanonicalDataType;
    OPCEUTYPE dwEUType;
    VARIANT vEUInfo;
    } 	OPCITEMATTRIBUTES;

typedef struct tagOPCITEMRESULT
    {
    OPCHANDLE hServer;
    VARTYPE vtCanonicalDataType;
    WORD wReserved;
    DWORD dwAccessRights;
    DWORD dwBlobSize;
    /* [size_is] */ BYTE *pBlob;
    } 	OPCITEMRESULT;

typedef struct tagOPCITEMPROPERTY
    {
    VARTYPE vtDataType;
    WORD wReserved;
    DWORD dwPropertyID;
    /* [string] */ LPWSTR szItemID;
    /* [string] */ LPWSTR szDescription;
    VARIANT vValue;
    HRESULT hrErrorID;
    DWORD dwReserved;
    } 	OPCITEMPROPERTY;

typedef struct tagOPCITEMPROPERTIES
    {
    HRESULT hrErrorID;
    DWORD dwNumProperties;
    /* [size_is] */ OPCITEMPROPERTY *pItemProperties;
    DWORD dwReserved;
    } 	OPCITEMPROPERTIES;

typedef struct tagOPCBROWSEELEMENT
    {
    /* [string] */ LPWSTR szName;
    /* [string] */ LPWSTR szItemID;
    DWORD dwFlagValue;
    DWORD dwReserved;
    OPCITEMPROPERTIES ItemProperties;
    } 	OPCBROWSEELEMENT;

typedef struct tagOPCITEMVQT
    {
    VARIANT vDataValue;
    BOOL bQualitySpecified;
    WORD wQuality;
    WORD wReserved;
    BOOL bTimeStampSpecified;
    DWORD dwReserved;
    FILETIME ftTimeStamp;
    } 	OPCITEMVQT;

typedef 
enum tagOPCBROWSEFILTER
    {	OPC_BROWSE_FILTER_ALL	= 1,
	OPC_BROWSE_FILTER_BRANCHES	= OPC_BROWSE_FILTER_ALL + 1,
	OPC_BROWSE_FILTER_ITEMS	= OPC_BROWSE_FILTER_BRANCHES + 1
    } 	OPCBROWSEFILTER;



extern RPC_IF_HANDLE __MIDL_itf_opcda_0256_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_opcda_0256_v0_0_s_ifspec;

#ifndef __IOPCServer_INTERFACE_DEFINED__
#define __IOPCServer_INTERFACE_DEFINED__

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


EXTERN_C const IID IID_IOPCServer;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("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 *pTimeBias,
            /* [in][unique] */ FLOAT *pPercentDeadband,
            /* [in] */ DWORD dwLCID,
            /* [out] */ OPCHANDLE *phServerGroup,
            /* [out] */ DWORD *pRevisedUpdateRate,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ LPUNKNOWN *ppUnk) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetErrorString( 
            /* [in] */ HRESULT dwError,
            /* [in] */ LCID dwLocale,
            /* [string][out] */ LPWSTR *ppString) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetGroupByName( 
            /* [string][in] */ LPCWSTR szName,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ LPUNKNOWN *ppUnk) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetStatus( 
            /* [out] */ OPCSERVERSTATUS **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 *ppUnk) = 0;
        
    };

⌨️ 快捷键说明

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