📄 opcda.h
字号:
/* 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 + -