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

📄 opcda.h

📁 VXWORKS源代码
💻 H
📖 第 1 页 / 共 3 页
字号:
/* opcda.h generated by WIDL Version 2.2.1 on 06-Dec-01 at 11:53:51 AM */#include "comBase.h"#ifndef __INCopcda_h#define __INCopcda_h#include "vxidl.h"#ifdef __cplusplusextern "C" {#endifint include_opcda (void);#ifndef __IOPCServer_FWD_DEFINED__#define __IOPCServer_FWD_DEFINED__typedef interface IOPCServer IOPCServer;#endif /* __IOPCServer_FWD_DEFINED__ */#ifndef __IOPCServerPublicGroups_FWD_DEFINED__#define __IOPCServerPublicGroups_FWD_DEFINED__typedef interface IOPCServerPublicGroups IOPCServerPublicGroups;#endif /* __IOPCServerPublicGroups_FWD_DEFINED__ */#ifndef __IOPCBrowseServerAddressSpace_FWD_DEFINED__#define __IOPCBrowseServerAddressSpace_FWD_DEFINED__typedef interface IOPCBrowseServerAddressSpace IOPCBrowseServerAddressSpace;#endif /* __IOPCBrowseServerAddressSpace_FWD_DEFINED__ */#ifndef __IOPCGroupStateMgt_FWD_DEFINED__#define __IOPCGroupStateMgt_FWD_DEFINED__typedef interface IOPCGroupStateMgt IOPCGroupStateMgt;#endif /* __IOPCGroupStateMgt_FWD_DEFINED__ */#ifndef __IOPCPublicGroupStateMgt_FWD_DEFINED__#define __IOPCPublicGroupStateMgt_FWD_DEFINED__typedef interface IOPCPublicGroupStateMgt IOPCPublicGroupStateMgt;#endif /* __IOPCPublicGroupStateMgt_FWD_DEFINED__ */#ifndef __IOPCSyncIO_FWD_DEFINED__#define __IOPCSyncIO_FWD_DEFINED__typedef interface IOPCSyncIO IOPCSyncIO;#endif /* __IOPCSyncIO_FWD_DEFINED__ */#ifndef __IOPCAsyncIO_FWD_DEFINED__#define __IOPCAsyncIO_FWD_DEFINED__typedef interface IOPCAsyncIO IOPCAsyncIO;#endif /* __IOPCAsyncIO_FWD_DEFINED__ */#ifndef __IOPCItemMgt_FWD_DEFINED__#define __IOPCItemMgt_FWD_DEFINED__typedef interface IOPCItemMgt IOPCItemMgt;#endif /* __IOPCItemMgt_FWD_DEFINED__ */#ifndef __IEnumOPCItemAttributes_FWD_DEFINED__#define __IEnumOPCItemAttributes_FWD_DEFINED__typedef interface IEnumOPCItemAttributes IEnumOPCItemAttributes;#endif /* __IEnumOPCItemAttributes_FWD_DEFINED__ */#ifndef __IOPCDataCallback_FWD_DEFINED__#define __IOPCDataCallback_FWD_DEFINED__typedef interface IOPCDataCallback IOPCDataCallback;#endif /* __IOPCDataCallback_FWD_DEFINED__ */#ifndef __IOPCAsyncIO2_FWD_DEFINED__#define __IOPCAsyncIO2_FWD_DEFINED__typedef interface IOPCAsyncIO2 IOPCAsyncIO2;#endif /* __IOPCAsyncIO2_FWD_DEFINED__ */#ifndef __IOPCItemProperties_FWD_DEFINED__#define __IOPCItemProperties_FWD_DEFINED__typedef interface IOPCItemProperties IOPCItemProperties;#endif /* __IOPCItemProperties_FWD_DEFINED__ */enum tagOPCDATASOURCE{OPC_DS_CACHE = 1,OPC_DS_DEVICE = 2,};typedef enum tagOPCDATASOURCE OPCDATASOURCE;enum tagOPCBROWSETYPE{OPC_BRANCH = 1,OPC_LEAF = 2,OPC_FLAT = 3,};typedef enum tagOPCBROWSETYPE OPCBROWSETYPE;enum tagOPCNAMESPACETYPE{OPC_NS_HIERARCHIAL = 1,OPC_NS_FLAT = 2,};typedef enum tagOPCNAMESPACETYPE OPCNAMESPACETYPE;enum tagOPCBROWSEDIRECTION{OPC_BROWSE_UP = 1,OPC_BROWSE_DOWN = 2,OPC_BROWSE_TO = 3,};typedef enum tagOPCBROWSEDIRECTION OPCBROWSEDIRECTION;#define OPC_READABLE    1#define OPC_WRITEABLE   2enum tagOPCEUTYPE{OPC_NOENUM = 0,OPC_ANALOG = 1,OPC_ENUMERATED = 2,};typedef enum tagOPCEUTYPE OPCEUTYPE;enum tagOPCSERVERSTATE{OPC_STATUS_RUNNING = 1,OPC_STATUS_FAILED = 2,OPC_STATUS_NOCONFIG = 3,OPC_STATUS_SUSPENDED = 4,OPC_STATUS_TEST = 5,};typedef enum tagOPCSERVERSTATE OPCSERVERSTATE;enum tagOPCENUMSCOPE{OPC_ENUM_PRIVATE_CONNECTIONS = 1,OPC_ENUM_PUBLIC_CONNECTIONS = 2,OPC_ENUM_ALL_CONNECTIONS = 3,OPC_ENUM_PRIVATE = 4,OPC_ENUM_PUBLIC = 5,OPC_ENUM_ALL = 6,};typedef enum tagOPCENUMSCOPE OPCENUMSCOPE;typedef DWORD OPCHANDLE;struct tagOPCGROUPHEADER{DWORD dwSize;DWORD dwItemCount;OPCHANDLE hClientGroup;DWORD dwTransactionID;HRESULT hrStatus;};typedef struct tagOPCGROUPHEADER OPCGROUPHEADER;struct tagOPCITEMHEADER1{OPCHANDLE hClient;DWORD dwValueOffset;WORD wQuality;WORD wReserved;FILETIME ftTimeStampItem;};typedef struct tagOPCITEMHEADER1 OPCITEMHEADER1;struct tagOPCITEMHEADER2{OPCHANDLE hClient;DWORD dwValueOffset;WORD wQuality;WORD wReserved;};typedef struct tagOPCITEMHEADER2 OPCITEMHEADER2;struct tagOPCGROUPHEADERWRITE{DWORD dwItemCount;OPCHANDLE hClientGroup;DWORD dwTransactionID;HRESULT hrStatus;};typedef struct tagOPCGROUPHEADERWRITE OPCGROUPHEADERWRITE;struct tagOPCITEMHEADERWRITE{OPCHANDLE hClient;HRESULT dwError;};typedef struct tagOPCITEMHEADERWRITE OPCITEMHEADERWRITE;struct tagOPCITEMSTATE{OPCHANDLE hClient;FILETIME ftTimeStamp;WORD wQuality;WORD wReserved;VARIANT vDataValue;};typedef struct tagOPCITEMSTATE OPCITEMSTATE;struct tagOPCSERVERSTATUS{FILETIME ftStartTime;FILETIME ftCurrentTime;FILETIME ftLastUpdateTime;OPCSERVERSTATE dwServerState;DWORD dwGroupCount;DWORD dwBandWidth;WORD wMajorVersion;WORD wMinorVersion;WORD wBuildNumber;WORD wReserved;LPWSTR szVendorInfo;};typedef struct tagOPCSERVERSTATUS OPCSERVERSTATUS;struct tagOPCITEMDEF{LPWSTR szAccessPath;LPWSTR szItemID;BOOL bActive;OPCHANDLE hClient;DWORD dwBlobSize;BYTE* pBlob;VARTYPE vtRequestedDataType;WORD wReserved;};typedef struct tagOPCITEMDEF OPCITEMDEF;struct tagOPCITEMATTRIBUTES{LPWSTR szAccessPath;LPWSTR szItemID;BOOL bActive;OPCHANDLE hClient;OPCHANDLE hServer;DWORD dwAccessRights;DWORD dwBlobSize;BYTE* pBlob;VARTYPE vtRequestedDataType;VARTYPE vtCanonicalDataType;OPCEUTYPE dwEUType;VARIANT vEUInfo;};typedef struct tagOPCITEMATTRIBUTES OPCITEMATTRIBUTES;struct tagOPCITEMRESULT{OPCHANDLE hServer;VARTYPE vtCanonicalDataType;WORD wReserved;DWORD dwAccessRights;DWORD dwBlobSize;BYTE* pBlob;};typedef struct tagOPCITEMRESULT OPCITEMRESULT;#define    OPC_QUALITY_MASK            0xC0#define    OPC_STATUS_MASK             0xFC#define    OPC_LIMIT_MASK              0x03#define    OPC_QUALITY_BAD             0x00#define    OPC_QUALITY_UNCERTAIN       0x40#define    OPC_QUALITY_GOOD            0xC0#define    OPC_QUALITY_CONFIG_ERROR    0x04#define    OPC_QUALITY_NOT_CONNECTED   0x08#define    OPC_QUALITY_DEVICE_FAILURE  0x0c#define    OPC_QUALITY_SENSOR_FAILURE  0x10#define    OPC_QUALITY_LAST_KNOWN      0x14#define    OPC_QUALITY_COMM_FAILURE    0x18#define    OPC_QUALITY_OUT_OF_SERVICE  0x1C#define    OPC_QUALITY_LAST_USABLE     0x44#define    OPC_QUALITY_SENSOR_CAL      0x50#define    OPC_QUALITY_EGU_EXCEEDED    0x54#define    OPC_QUALITY_SUB_NORMAL      0x58#define    OPC_QUALITY_LOCAL_OVERRIDE  0xD8#define    OPC_LIMIT_OK                0x00#define    OPC_LIMIT_LOW               0x01#define    OPC_LIMIT_HIGH              0x02#define    OPC_LIMIT_CONST             0x03typedef struct    {    COM_VTBL_BEGIN    COM_VTBL_ENTRY (HRESULT, QueryInterface, (IUnknown* pThis, REFIID riid, void** ppvObject));#define IUnknown_QueryInterface(pThis, riid, ppvObject) pThis->lpVtbl->QueryInterface(COM_ADJUST_THIS(pThis), riid, ppvObject)    COM_VTBL_ENTRY (ULONG, AddRef, (IUnknown* pThis));#define IUnknown_AddRef(pThis) pThis->lpVtbl->AddRef(COM_ADJUST_THIS(pThis))    COM_VTBL_ENTRY (ULONG, Release, (IUnknown* pThis));#define IUnknown_Release(pThis) pThis->lpVtbl->Release(COM_ADJUST_THIS(pThis))    COM_VTBL_ENTRY (HRESULT, AddGroup, (IOPCServer* pThis, LPCWSTR szName, BOOL bActive, DWORD dwRequestedUpdateRate, OPCHANDLE hClientGroup, LONG* pTimeBias, FLOAT* pPercentDeadband, DWORD dwLCID, OPCHANDLE* phServerGroup, DWORD* pRevisedUpdateRate, REFIID riid, LPUNKNOWN* ppUnk));#define IOPCServer_AddGroup(pThis, szName, bActive, dwRequestedUpdateRate, hClientGroup, pTimeBias, pPercentDeadband, dwLCID, phServerGroup, pRevisedUpdateRate, riid, ppUnk) pThis->lpVtbl->AddGroup(COM_ADJUST_THIS(pThis), szName, bActive, dwRequestedUpdateRate, hClientGroup, pTimeBias, pPercentDeadband, dwLCID, phServerGroup, pRevisedUpdateRate, riid, ppUnk)    COM_VTBL_ENTRY (HRESULT, GetErrorString, (IOPCServer* pThis, HRESULT dwError, LCID dwLocale, LPWSTR* ppString));#define IOPCServer_GetErrorString(pThis, dwError, dwLocale, ppString) pThis->lpVtbl->GetErrorString(COM_ADJUST_THIS(pThis), dwError, dwLocale, ppString)    COM_VTBL_ENTRY (HRESULT, GetGroupByName, (IOPCServer* pThis, LPCWSTR szName, REFIID riid, LPUNKNOWN* ppUnk));#define IOPCServer_GetGroupByName(pThis, szName, riid, ppUnk) pThis->lpVtbl->GetGroupByName(COM_ADJUST_THIS(pThis), szName, riid, ppUnk)    COM_VTBL_ENTRY (HRESULT, GetStatus, (IOPCServer* pThis, OPCSERVERSTATUS** ppServerStatus));#define IOPCServer_GetStatus(pThis, ppServerStatus) pThis->lpVtbl->GetStatus(COM_ADJUST_THIS(pThis), ppServerStatus)    COM_VTBL_ENTRY (HRESULT, RemoveGroup, (IOPCServer* pThis, OPCHANDLE hServerGroup, BOOL bForce));#define IOPCServer_RemoveGroup(pThis, hServerGroup, bForce) pThis->lpVtbl->RemoveGroup(COM_ADJUST_THIS(pThis), hServerGroup, bForce)    COM_VTBL_ENTRY (HRESULT, CreateGroupEnumerator, (IOPCServer* pThis, OPCENUMSCOPE dwScope, REFIID riid, LPUNKNOWN* ppUnk));#define IOPCServer_CreateGroupEnumerator(pThis, dwScope, riid, ppUnk) pThis->lpVtbl->CreateGroupEnumerator(COM_ADJUST_THIS(pThis), dwScope, riid, ppUnk)    COM_VTBL_END    } IOPCServerVtbl;#ifdef __cplusplusinterface IOPCServer : public IUnknown{virtual HRESULT AddGroup (LPCWSTR szName, BOOL bActive, DWORD dwRequestedUpdateRate, OPCHANDLE hClientGroup, LONG* pTimeBias, FLOAT* pPercentDeadband, DWORD dwLCID, OPCHANDLE* phServerGroup, DWORD* pRevisedUpdateRate, REFIID riid, LPUNKNOWN* ppUnk) =0;virtual HRESULT GetErrorString (HRESULT dwError, LCID dwLocale, LPWSTR* ppString) =0;virtual HRESULT GetGroupByName (LPCWSTR szName, REFIID riid, LPUNKNOWN* ppUnk) =0;virtual HRESULT GetStatus (OPCSERVERSTATUS** ppServerStatus) =0;virtual HRESULT RemoveGroup (OPCHANDLE hServerGroup, BOOL bForce) =0;

⌨️ 快捷键说明

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