📄 hfopcclient.h
字号:
#ifndef HF_IMP_H
#define HF_IMP_H
#ifdef __cplusplus//
#define HFEXPORT extern "C" __declspec(dllexport)
#else
#define HFEXPORT __declspec(dllexport)
#endif
// From OPC Foundation
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;
const WORD OPC_QUALITY_BAD = 0;
const WORD OPC_QUALITY_UNCERTAIN = 0x40;
const WORD OPC_QUALITY_GOOD = 0xc0;
#define OPC_READABLE 1
#define OPC_WRITEABLE 2
//////////////////////////////////////////////////////////
typedef struct _SERVERINFORMATION
{
FILETIME ftStartTime;
FILETIME ftCurrentTime;
FILETIME ftLastUpdateTime;
WORD dwServerState;
DWORD dwGroupCount;
DWORD dwBandWidth;
WORD wMajorVersion;
WORD wMinorVersion;
WORD wBuildNumber;
WORD wReserved;
char* szVendorInfo;
int BufSize;
} SERVERINFORMATION;
typedef VOID (CALLBACK* DATACHANGEPROC)(HANDLE, HANDLE, HANDLE, VARIANT*, FILETIME, DWORD);
typedef VOID (CALLBACK* SHUTDOWNPROC)(HANDLE);
typedef VOID (CALLBACK* WRITEFINISHPROC)(HANDLE, HANDLE, HANDLE, BOOL);
HFEXPORT BOOL WINAPI SetDataChangeProc(HANDLE hConnect, DATACHANGEPROC lpCallback, WRITEFINISHPROC WriteFinishProc = NULL);
HFEXPORT BOOL WINAPI SetShutDownProc(HANDLE hConnect, SHUTDOWNPROC lpCallback);
HFEXPORT BOOL WINAPI ActiveCode(LPCSTR UserName, LPCSTR Password);
HFEXPORT BOOL WINAPI Init(void);
HFEXPORT void WINAPI Uninit(void);
HFEXPORT int WINAPI GetServerCount(LPCSTR MachineName, short Version = 2);
HFEXPORT BOOL WINAPI GetServerName(int index, char* pBuf, int BufSize);
HFEXPORT HANDLE WINAPI Connect(LPCSTR MachineName, LPCSTR ServerName, short Version = 2);
HFEXPORT void WINAPI Disconnect(HANDLE hConnect);
HFEXPORT BOOL WINAPI GetServerStatus(HANDLE hConnect, SERVERINFORMATION *pSvrStatus);
HFEXPORT HANDLE WINAPI AddGroup(HANDLE hConnect, LPCSTR Name, BOOL bActive, DWORD dwRate,
LONG* pTimeBias, float* pDeadBand, DWORD dwLCID);
HFEXPORT void WINAPI RemoveGroup(HANDLE hConnect, HANDLE hGroup);
HFEXPORT BOOL WINAPI SetGroupName(HANDLE hConnect, HANDLE hGroup, LPCSTR Name);
HFEXPORT BOOL WINAPI SetGroupState(HANDLE hConnect, HANDLE hGroup, DWORD Rate, BOOL bActive,
LONG TimeBias, float DeadBand, DWORD dwLCID);
HFEXPORT BOOL WINAPI GetGroupState( HANDLE hConnect, HANDLE hGroup, char* Name, int BufSize,
DWORD* pRate,BOOL* bActive, LONG* pTimeBias, float* pDeadBand, DWORD* pLCID);
HFEXPORT HANDLE WINAPI AddItem(HANDLE hConnect, HANDLE hGroup, LPCSTR ItemName);
HFEXPORT void WINAPI RemoveItem(HANDLE hConnect, HANDLE hGroup, HANDLE hItem);
HFEXPORT BOOL WINAPI ReadItem(HANDLE hConnect, HANDLE hGroup, HANDLE hItem, VARIANT* pVar,
FILETIME *pTimeStamp, DWORD* pQuality);
HFEXPORT BOOL WINAPI WriteItem(HANDLE hConnect, HANDLE hGroup, HANDLE hItem, VARIANT* pVar, BOOL DoAsync = FALSE);
HFEXPORT BOOL WINAPI ActiveItem(HANDLE hConnect, HANDLE hGroup, HANDLE hItem, BOOL bActive);
HFEXPORT BOOL WINAPI ValidateItem(HANDLE hConnect, HANDLE hGroup, LPCSTR Name, VARTYPE *pType, DWORD* pAccessRights);
HFEXPORT int WINAPI NumberOfItemProperties(HANDLE hConnect, LPCSTR ItemName);
HFEXPORT BOOL WINAPI GetItemPropertyDescription(HANDLE hConnect, int PropertyIndex, DWORD* pPropertyID,
VARTYPE *pVT, char *pBuf, int BufSize);
HFEXPORT BOOL WINAPI ReadPropertyValue(HANDLE hConnect,LPCSTR ItemName, DWORD PropertyID, VARIANT* pValue);
HFEXPORT BOOL WINAPI GetNameSpace(HANDLE hConnect, WORD* pNameSpace);
HFEXPORT BOOL WINAPI SetBrowseFilters(HANDLE hConnect,LPCSTR FilterString, VARTYPE DataType, DWORD AccessType);
HFEXPORT int WINAPI GetItemCount(HANDLE hConnect);
HFEXPORT int WINAPI BrowseItems (HANDLE hConnect, WORD FilterType);
HFEXPORT BOOL WINAPI GetItemName(HANDLE hConnect, int index, char *pBuf, int BufSize);
HFEXPORT BOOL WINAPI GetItemFullName (HANDLE hConnect, int index, char *pQualifiedName, int BufSize);
HFEXPORT BOOL WINAPI ChangeBrowsePosition (HANDLE hConnect, WORD Direction, LPCSTR NodeName);
HFEXPORT BOOL WINAPI BrowseToNode(HANDLE hConnect,LPCSTR NodeName);
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -