'Attribute VB_Name = "ProEasy"
Option Explicit

' ------------------------------------------------------------------------
'
'    ProEasy.TXT -- Pro-Server API Declarations for Visual Basic
'
'              Copyright (C) 1998-2006 Digital Electronics Corporation
'
'
' ------------------------------------------------------------------------
'
'       ProEasy.DLL
'
'       Version     1.0         Complying with Pro-Server Version 1.0
'
'       Version     1.1             Complying with the multi Pro-Server handle
'                               (The version of the Pro-Server is effective in more than 1.0)
'
'       Version     1.5         Complying with Group Item & cache/direct read
'                               (The version of the Pro-Server is effective in more than 1.5)
'
'       Version     2.0         SRAM backup data write
'                               It is changed from the node name to IP address.
'                               (The version of the Pro-Server is effective in more than 2.0)
'
'       Version     3.0         Gp_Web Version 1.0
'
'       Version     3.1         Direct Wirte(no read after write mode)
'                               (The version of the Pro-Server is effective in more than 3.1)
'
'       Version     4.0         Network project access API
'                               (The version of the Pro-Server is effective in more than 4.0)
'
'       Version     4.1         Data Base and Time Bar API and CSV file transfer API
'                               (The version of the Pro-Server is effective in more than 4.1)
'
'       Version     4.5         CSV file transfer API
'                               (The version of the Pro-Server is effective in more than 4.5)
'
'       Version     5.0         Pro-Server Ex
'                               (The version of the Pro-Server EX is effective in more than 1.0)
'
'       Version     5.1         WinGP was supported.
' ------------------------------------------------------------------------


' ------------------------------------------------------------------------
'       Application Data Type
' ------------------------------------------------------------------------
Public Const EASY_AppKind_NULL = 0
Public Const EASY_AppKind_Bit = 1
Public Const EASY_AppKind_SignedWord = 2
Public Const EASY_AppKind_UnsignedWord = 3
Public Const EASY_AppKind_HexWord = 4
Public Const EASY_AppKind_BCDWord = 5
Public Const EASY_AppKind_SignedDWord = 6
Public Const EASY_AppKind_UnsignedDWord = 7
Public Const EASY_AppKind_HexDWord = 8
Public Const EASY_AppKind_BCDDWord = 9
Public Const EASY_AppKind_Float = 10
Public Const EASY_AppKind_Real = 11
Public Const EASY_AppKind_Str = 12

Public Const EASY_AppKind_Group = &H8000
Public Const EASY_AppKind_SymbolSheet = &H9000

Public Const EASY_AppKind_BOOL = &H201

' ------------------------------------------------------------------------
'        GP BACKUP DATA TYPE
' ------------------------------------------------------------------------
Public Const EASY_BackupDataType_FILING = 1
Public Const EASY_BackupDataType_LOG = 2
Public Const EASY_BackupDataType_TREND = 3
Public Const EASY_BackupDataType_SAMPLING = 4
Public Const EASY_BackupDataType_ALARMHISTRY = 6
Public Const EASY_BackupDataType_ALARMLOG = 7

Public Const EASY_BackupDataType_ALARMBLOCK1 = 5
Public Const EASY_BackupDataType_ALARMBLOCK2 = 6
Public Const EASY_BackupDataType_ALARMBLOCK3 = 7
Public Const EASY_BackupDataType_ALARMBLOCK4 = 8
Public Const EASY_BackupDataType_ALARMBLOCK5 = 9
Public Const EASY_BackupDataType_ALARMBLOCK6 = 10
Public Const EASY_BackupDataType_ALARMBLOCK7 = 11
Public Const EASY_BackupDataType_ALARMBLOCK8 = 12

Public Const EASY_BackupDataType_SAMPLING_With_Group = &H8002

Public Const EASY_BackupDataType_SaveMode_Rewrite = 0
Public Const EASY_BackupDataType_SaveMode_Append = 1


' ------------------------------------------------------------------------
'   Pro-Easy system functions
' ------------------------------------------------------------------------

Declare Function EasyGetSystemStatus Lib "ProEasy.DLL" () As Long
Declare Function EasyLoadErrorMessage Lib "ProEasy.DLL" (ByVal iErrorCode As Long, ByVal osErrorMessage As String) As Long
Declare Function EasyInit Lib "ProEasy.DLL" () As Long
Declare Function EasyTerm Lib "ProEasy.DLL" () As Long

Public Const EASY_LogLevel_SysMessage = &H1
Public Const EASY_LogLevel_SysError = &H2
Public Const EASY_LogLevel_AppError = &H4
Public Const EASY_LogLevel_AppStart = &H8
Public Const EASY_LogLevel_AppEnd = &H10
Public Const EASY_LogLevel_AppWarning = &H20
Public Const EASY_LogLevel_AppMessage1 = &H40
Public Const EASY_LogLevel_AppMessage2 = &H80

Declare Function EasyOutputLog Lib "ProEasy.DLL" (ByVal bLevel As Byte, ByVal sPrompt As String, ByVal sMessage As String) As Long
Declare Function EasyOutputLogClear Lib "ProEasy.DLL" () As Long

' ------------------------------------------------------------------------
'       Single Pro-Server handle functions( handle not use )
' ------------------------------------------------------------------------

' Write functions
Declare Function WriteDeviceBit Lib "ProEasy.DLL" (ByVal sNodeName As String, ByVal sDeviceName As String, ByRef pwData As Integer, ByVal wCount As Integer) As Long
Declare Function WriteDevice16 Lib "ProEasy.DLL" (ByVal sNodeName As String, ByVal sDeviceName As String, ByRef pwData As Integer, ByVal wCount As Integer) As Long
Declare Function WriteDevice32 Lib "ProEasy.DLL" (ByVal sNodeName As String, ByVal sDeviceName As String, ByRef pdwData As Long, ByVal wCount As Integer) As Long
Declare Function WriteDeviceBCD16 Lib "ProEasy.DLL" (ByVal sNodeName As String, ByVal sDeviceName As String, ByRef pwData As Integer, ByVal wCount As Integer) As Long
Declare Function WriteDeviceBCD32 Lib "ProEasy.DLL" (ByVal sNodeName As String, ByVal sDeviceName As String, ByRef pdwData As Long, ByVal wCount As Integer) As Long
Declare Function WriteDeviceFloat Lib "ProEasy.DLL" (ByVal sNodeName As String, ByVal sDeviceName As String, ByRef pflData As Single, ByVal wCount As Integer) As Long
Declare Function WriteDeviceDouble Lib "ProEasy.DLL" (ByVal sNodeName As String, ByVal sDeviceName As String, ByRef pdbData As Double, ByVal wCount As Integer) As Long
Declare Function WriteDeviceStr Lib "ProEasy.DLL" (ByVal sNodeName As String, ByVal sDeviceName As String, ByVal psData As String, ByVal wCount As Integer) As Long
Declare Function WriteDeviceVariant Lib "ProEasy.DLL" (ByVal sNodeName As String, ByVal sDeviceName As String, ByRef pvData As Variant, ByVal wCount As Integer, ByVal wAppKind As Integer) As Long


' Direct write functions
Declare Function WriteDeviceBitD Lib "ProEasy.DLL" (ByVal sNodeName As String, ByVal sDeviceName As String, ByRef pwData As Integer, ByVal wCount As Integer) As Long
Declare Function WriteDevice16D Lib "ProEasy.DLL" (ByVal sNodeName As String, ByVal sDeviceName As String, ByRef pwData As Integer, ByVal wCount As Integer) As Long
Declare Function WriteDevice32D Lib "ProEasy.DLL" (ByVal sNodeName As String, ByVal sDeviceName As String, ByRef pdwData As Long, ByVal wCount As Integer) As Long
Declare Function WriteDeviceBCD16D Lib "ProEasy.DLL" (ByVal sNodeName As String, ByVal sDeviceName As String, ByRef pwData As Integer, ByVal wCount As Integer) As Long
Declare Function WriteDeviceBCD32D Lib "ProEasy.DLL" (ByVal sNodeName As String, ByVal sDeviceName As String, ByRef pdwData As Long, ByVal wCount As Integer) As Long
Declare Function WriteDeviceFloatD Lib "ProEasy.DLL" (ByVal sNodeName As String, ByVal sDeviceName As String, ByRef pflData As Single, ByVal wCount As Integer) As Long
Declare Function WriteDeviceDoubleD Lib "ProEasy.DLL" (ByVal sNodeName As String, ByVal sDeviceName As String, ByRef pdbData As Double, ByVal wCount As Integer) As Long
Declare Function WriteDeviceStrD Lib "ProEasy.DLL" (ByVal sNodeName As String, ByVal sDeviceName As String, ByVal psData As String, ByVal wCount As Integer) As Long
Declare Function WriteDeviceVariantD Lib "ProEasy.DLL" (ByVal sNodeName As String, ByVal sDeviceName As String, ByRef pvData As Variant, ByVal wCount As Integer, ByVal wAppKind As Integer) As Long


' Cache read functions
Declare Function ReadDeviceBit Lib "ProEasy.DLL" (ByVal sNodeName As String, ByVal sDeviceName As String, ByRef owData As Integer, ByVal wCount As Integer) As Long
Declare Function ReadDevice16 Lib "ProEasy.DLL" (ByVal sNodeName As String, ByVal sDeviceName As String, ByRef owData As Integer, ByVal wCount As Integer) As Long
Declare Function ReadDevice32 Lib "ProEasy.DLL" (ByVal sNodeName As String, ByVal sDeviceName As String, ByRef odwData As Long, ByVal wCount As Integer) As Long
Declare Function ReadDeviceBCD16 Lib "ProEasy.DLL" (ByVal sNodeName As String, ByVal sDeviceName As String, ByRef owData As Integer, ByVal wCount As Integer) As Long
Declare Function ReadDeviceBCD32 Lib "ProEasy.DLL" (ByVal sNodeName As String, ByVal sDeviceName As String, ByRef odwData As Long, ByVal wCount As Integer) As Long
Declare Function ReadDeviceFloat Lib "ProEasy.DLL" (ByVal sNodeName As String, ByVal sDeviceName As String, ByRef oflData As Single, ByVal wCount As Integer) As Long
Declare Function ReadDeviceDouble Lib "ProEasy.DLL" (ByVal sNodeName As String, ByVal sDeviceName As String, ByRef odbData As Double, ByVal wCount As Integer) As Long
Declare Function ReadDeviceStr Lib "ProEasy.DLL" (ByVal sNodeName As String, ByVal sDeviceName As String, ByVal osData As String, ByVal wCount As Integer) As Long
Declare Function ReadDeviceVariant Lib "ProEasy.DLL" (ByVal sNodeName As String, ByVal sDeviceName As String, ByRef ovData As Variant, ByVal wCount As Integer, ByVal wAppKind As Integer) As Long


' Direct read functions
Declare Function ReadDeviceBitD Lib "ProEasy.DLL" (ByVal sNodeName As String, ByVal sDeviceName As String, ByRef owData As Integer, ByVal wCount As Integer) As Long
Declare Function ReadDevice16D Lib "ProEasy.DLL" (ByVal sNodeName As String, ByVal sDeviceName As String, ByRef owData As Integer, ByVal wCount As Integer) As Long
Declare Function ReadDevice32D Lib "ProEasy.DLL" (ByVal sNodeName As String, ByVal sDeviceName As String, ByRef odwData As Long, ByVal wCount As Integer) As Long
Declare Function ReadDeviceBCD16D Lib "ProEasy.DLL" (ByVal sNodeName As String, ByVal sDeviceName As String, ByRef owData As Integer, ByVal wCount As Integer) As Long
Declare Function ReadDeviceBCD32D Lib "ProEasy.DLL" (ByVal sNodeName As String, ByVal sDeviceName As String, ByRef odwData As Long, ByVal wCount As Integer) As Long
Declare Function ReadDeviceFloatD Lib "ProEasy.DLL" (ByVal sNodeName As String, ByVal sDeviceName As String, ByRef oflData As Single, ByVal wCount As Integer) As Long
Declare Function ReadDeviceDoubleD Lib "ProEasy.DLL" (ByVal sNodeName As String, ByVal sDeviceName As String, ByRef odbData As Double, ByVal wCount As Integer) As Long
Declare Function ReadDeviceStrD Lib "ProEasy.DLL" (ByVal sNodeName As String, ByVal sDeviceName As String, ByVal osData As String, ByVal wCount As Integer) As Long
Declare Function ReadDeviceVariantD Lib "ProEasy.DLL" (ByVal sNodeName As String, ByVal sDeviceName As String, ByRef ovData As Variant, ByVal wCount As Integer, ByVal wAppKind As Integer) As Long

Declare Function EasyBackupDataRead Lib "ProEasy.DLL" (ByVal sSaveFileName As String, ByVal sNodeName As String, ByVal iBackupDataType As Long, ByVal iSaveMode As Long) As Long
Declare Function EasyBackupDataReadEx Lib "ProEasy.DLL" (ByVal sSaveFileName As String, ByVal sNodeName As String, ByVal iBackupDataType As Long, ByVal iSaveMode As Long, ByVal iNumber As Long,ByVal iStringTable As Long) As Long

Declare Function EasyBackupDataWrite Lib "ProEasy.DLL" (ByVal sSourceFileName As String, ByVal sNodeName As String, ByVal iBackupDataType As Long) As Long
Declare Function EasyLoadNetworkProject Lib "ProEasy.DLL" (ByVal sDBName As String, ByVal dwSetOrAdd As Long) As Long

Declare Function EasyGetAppKind Lib "ProEasy.DLL" (ByVal sNodeName As String, ByVal sDeviceName As String, ByRef owAppKind As Integer) As Long
Declare Function EasyGetIPAdr Lib "ProEasy.DLL" (ByVal sNodeName As String, ByVal osIPAdr As String, ByRef odwExPLCType As Long) As Long
Declare Function EasySetWaitType Lib "ProEasy.DLL" (ByVal dwWaitType As Long) As Long
Declare Function EasyGetWaitType Lib "ProEasy.DLL" () As Long


' ------------------------------------------------------------------------
'       Mulit Pro-Server handle functions
' ------------------------------------------------------------------------
'  Pro-Server handle functions
Declare Function CreateProServerHandle Lib "ProEasy.DLL" () As Long
Declare Function DeleteProServerHandle Lib "ProEasy.DLL" (ByVal hProServer As Long) As Long


' Write functions
Declare Function WriteDeviceBitM Lib "ProEasy.DLL" (ByVal hProServer As Long, ByVal sNodeName As String, ByVal sDeviceName As String, ByRef pwData As Integer, ByVal wCount As Integer) As Long
Declare Function WriteDevice16M Lib "ProEasy.DLL" (ByVal hProServer As Long, ByVal sNodeName As String, ByVal sDeviceName As String, ByRef pwData As Integer, ByVal wCount As Integer) As Long
Declare Function WriteDevice32M Lib "ProEasy.DLL" (ByVal hProServer As Long, ByVal sNodeName As String, ByVal sDeviceName As String, ByRef pdwData As Long, ByVal wCount As Integer) As Long
Declare Function WriteDeviceBCD16M Lib "ProEasy.DLL" (ByVal hProServer As Long, ByVal sNodeName As String, ByVal sDeviceName As String, ByRef pwData As Integer, ByVal wCount As Integer) As Long
Declare Function WriteDeviceBCD32M Lib "ProEasy.DLL" (ByVal hProServer As Long, ByVal sNodeName As String, ByVal sDeviceName As String, ByRef pdwData As Long, ByVal wCount As Integer) As Long
Declare Function WriteDeviceFloatM Lib "ProEasy.DLL" (ByVal hProServer As Long, ByVal sNodeName As String, ByVal sDeviceName As String, ByRef pflData As Single, ByVal wCount As Integer) As Long
Declare Function WriteDeviceDoubleM Lib "ProEasy.DLL" (ByVal hProServer As Long, ByVal sNodeName As String, ByVal sDeviceName As String, ByRef pdbData As Double, ByVal wCount As Integer) As Long
Declare Function WriteDeviceStrM Lib "ProEasy.DLL" (ByVal hProServer As Long, ByVal sNodeName As String, ByVal sDeviceName As String, ByVal psData As String, ByVal wCount As Integer) As Long
Declare Function WriteDeviceVariantM Lib "ProEasy.DLL" (ByVal hProServer As Long, ByVal sNodeName As String, ByVal sDeviceName As String, ByRef pvData As Variant, ByVal wCount As Integer, ByVal wAppKind As Integer) As Long

' Direct write functions
Declare Function WriteDeviceBitDM Lib "ProEasy.DLL" (ByVal hProServer As Long, ByVal sNodeName As String, ByVal sDeviceName As String, ByRef pwData As Integer, ByVal wCount As Integer) As Long
Declare Function WriteDevice16DM Lib "ProEasy.DLL" (ByVal hProServer As Long, ByVal sNodeName As String, ByVal sDeviceName As String, ByRef pwData As Integer, ByVal wCount As Integer) As Long
Declare Function WriteDevice32DM Lib "ProEasy.DLL" (ByVal hProServer As Long, ByVal sNodeName As String, ByVal sDeviceName As String, ByRef pdwData As Long, ByVal wCount As Integer) As Long
Declare Function WriteDeviceBCD16DM Lib "ProEasy.DLL" (ByVal hProServer As Long, ByVal sNodeName As String, ByVal sDeviceName As String, ByRef pwData As Integer, ByVal wCount As Integer) As Long
Declare Function WriteDeviceBCD32DM Lib "ProEasy.DLL" (ByVal hProServer As Long, ByVal sNodeName As String, ByVal sDeviceName As String, ByRef pdwData As Long, ByVal wCount As Integer) As Long
Declare Function WriteDeviceFloatDM Lib "ProEasy.DLL" (ByVal hProServer As Long, ByVal sNodeName As String, ByVal sDeviceName As String, ByRef pflData As Single, ByVal wCount As Integer) As Long
Declare Function WriteDeviceDoubleDM Lib "ProEasy.DLL" (ByVal hProServer As Long, ByVal sNodeName As String, ByVal sDeviceName As String, ByRef pdbData As Double, ByVal wCount As Integer) As Long
Declare Function WriteDeviceStrDM Lib "ProEasy.DLL" (ByVal hProServer As Long, ByVal sNodeName As String, ByVal sDeviceName As String, ByVal psData As String, ByVal wCount As Integer) As Long
Declare Function WriteDeviceVariantDM Lib "ProEasy.DLL" (ByVal hProServer As Long, ByVal sNodeName As String, ByVal sDeviceName As String, ByRef pvData As Variant, ByVal wCount As Integer, ByVal wAppKind As Integer) As Long


' Cache read functions
Declare Function ReadDeviceBitM Lib "ProEasy.DLL" (ByVal hProServer As Long, ByVal sNodeName As String, ByVal sDeviceName As String, ByRef pwData As Integer, ByVal wCount As Integer) As Long
Declare Function ReadDevice16M Lib "ProEasy.DLL" (ByVal hProServer As Long, ByVal sNodeName As String, ByVal sDeviceName As String, ByRef pwData As Integer, ByVal wCount As Integer) As Long
Declare Function ReadDevice32M Lib "ProEasy.DLL" (ByVal hProServer As Long, ByVal sNodeName As String, ByVal sDeviceName As String, ByRef pdwData As Long, ByVal wCount As Integer) As Long
Declare Function ReadDeviceBCD16M Lib "ProEasy.DLL" (ByVal hProServer As Long, ByVal sNodeName As String, ByVal sDeviceName As String, ByRef pwData As Integer, ByVal wCount As Integer) As Long
Declare Function ReadDeviceBCD32M Lib "ProEasy.DLL" (ByVal hProServer As Long, ByVal sNodeName As String, ByVal sDeviceName As String, ByRef pdwData As Long, ByVal wCount As Integer) As Long
Declare Function ReadDeviceFloatM Lib "ProEasy.DLL" (ByVal hProServer As Long, ByVal sNodeName As String, ByVal sDeviceName As String, ByRef pflData As Single, ByVal wCount As Integer) As Long
Declare Function ReadDeviceDoubleM Lib "ProEasy.DLL" (ByVal hProServer As Long, ByVal sNodeName As String, ByVal sDeviceName As String, ByRef pdbData As Double, ByVal wCount As Integer) As Long
Declare Function ReadDeviceStrM Lib "ProEasy.DLL" (ByVal hProServer As Long, ByVal sNodeName As String, ByVal sDeviceName As String, ByVal psData As String, ByVal wCount As Integer) As Long
Declare Function ReadDeviceVariantM Lib "ProEasy.DLL" (ByVal hProServer As Long, ByVal sNodeName As String, ByVal sDeviceName As String, ByRef pvData As Variant, ByVal wCount As Integer, ByVal wAppKind As Integer) As Long


' Direct read functions
Declare Function ReadDeviceBitDM Lib "ProEasy.DLL" (ByVal hProServer As Long, ByVal sNodeName As String, ByVal sDeviceName As String, ByRef pwData As Integer, ByVal wCount As Integer) As Long
Declare Function ReadDevice16DM Lib "ProEasy.DLL" (ByVal hProServer As Long, ByVal sNodeName As String, ByVal sDeviceName As String, ByRef pwData As Integer, ByVal wCount As Integer) As Long
Declare Function ReadDevice32DM Lib "ProEasy.DLL" (ByVal hProServer As Long, ByVal sNodeName As String, ByVal sDeviceName As String, ByRef pdwData As Long, ByVal wCount As Integer) As Long
Declare Function ReadDeviceBCD16DM Lib "ProEasy.DLL" (ByVal hProServer As Long, ByVal sNodeName As String, ByVal sDeviceName As String, ByRef pwData As Integer, ByVal wCount As Integer) As Long
Declare Function ReadDeviceBCD32DM Lib "ProEasy.DLL" (ByVal hProServer As Long, ByVal sNodeName As String, ByVal sDeviceName As String, ByRef pdwData As Long, ByVal wCount As Integer) As Long
Declare Function ReadDeviceFloatDM Lib "ProEasy.DLL" (ByVal hProServer As Long, ByVal sNodeName As String, ByVal sDeviceName As String, ByRef pflData As Single, ByVal wCount As Integer) As Long
Declare Function ReadDeviceDoubleDM Lib "ProEasy.DLL" (ByVal hProServer As Long, ByVal sNodeName As String, ByVal sDeviceName As String, ByRef pdbData As Double, ByVal wCount As Integer) As Long
Declare Function ReadDeviceStrDM Lib "ProEasy.DLL" (ByVal hProServer As Long, ByVal sNodeName As String, ByVal sDeviceName As String, ByVal psData As String, ByVal wCount As Integer) As Long
Declare Function ReadDeviceVariantDM Lib "ProEasy.DLL" (ByVal hProServer As Long, ByVal sNodeName As String, ByVal sDeviceName As String, ByRef pvData As Variant, ByVal wCount As Integer, ByVal wAppKind As Integer) As Long


Declare Function EasyBackupDataReadM Lib "ProEasy.DLL" (ByVal hProServer As Long, ByVal sSaveFileName As String, ByVal sNodeName As String, ByVal iBackupDataType As Long, ByVal iSaveMode As Long) As Long
Declare Function EasyBackupDataReadExM Lib "ProEasy.DLL" (ByVal hProServer As Long, ByVal sSaveFileName As String, ByVal sNodeName As String, ByVal iBackupDataType As Long, ByVal iSaveMode As Long, ByVal iNumber As Long,ByVal iStringTable As Long) As Long

Declare Function EasyBackupDataWriteM Lib "ProEasy.DLL" (ByVal hProServer As Long, ByVal sSourceFileNamee As String, ByVal sNodeName As String, ByVal BackupDataType As Long) As Long
Declare Function EasyLoadNetworkProjectM Lib "ProEasy.DLL" (ByVal hProServer As Long, ByVal sDBName As String, ByVal dwSetOrAdd As Long) As Long

Declare Function EasyGetAppKindM Lib "ProEasy.DLL" (ByVal hProServer As Long, ByVal sNodeName As String, ByVal sDeviceName As String, ByRef wAppKind As Integer) As Long
Declare Function EasyGetIPAdrM Lib "ProEasy.DLL" (ByVal hProServer As Long, ByVal sNodeName As String, ByVal osIPAdr As String, ByRef oExPLCType As Long) As Long
Declare Function EasySetWaitTypeM Lib "ProEasy.DLL" (ByVal hProServer As Long, ByVal dwWaitType As Long) As Long
Declare Function EasyGetWaitTypeM Lib "ProEasy.DLL" (ByVal hProServer As Long) As Long


Declare Function ToCSVStart Lib "ProEasy.DLL" () As Long
Declare Function ShortToCSV Lib "ProEasy.DLL" (ByVal hCsv As Long, ByVal stData As Integer) As Long
Declare Function LongToCSV Lib "ProEasy.DLL" (ByVal hCsv As Long, ByVal lData As Long) As Long
Declare Function DoubleToCSV Lib "ProEasy.DLL" (ByVal hCsv As Long, ByVal dbData As Double) As Long
Declare Function StrToCSV Lib "ProEasy.DLL" (ByVal hCsv As Long, ByVal bstrData As String) As Long
Declare Function ToCSVEnd Lib "ProEasy.DLL" (ByVal hCsv As Long, ByRef pbstrData As String) As Long
Declare Function CSVToStart Lib "ProEasy.DLL" (ByVal sData As String) As Long
Declare Function CSVToShort Lib "ProEasy.DLL" (ByRef phCsv As Long, ByRef stData As Integer) As Long
Declare Function CSVToLong Lib "ProEasy.DLL" (ByRef phCsv As Long, ByRef lData As Long) As Long
Declare Function CSVToDouble Lib "ProEasy.DLL" (ByRef phCsv As Long, ByRef dbData As Double) As Long
Declare Function CSVToStr Lib "ProEasy.DLL" (ByRef phCsv As Long, ByRef obstrData As String) As Long
Declare Function CSVToEnd Lib "ProEasy.DLL" (ByVal hCsv As Long) As Long
Declare Function StrDataToVariant Lib "ProEasy.DLL" (ByVal sData As String, ByVal wAppKind As Integer, ByVal wDataCount As Integer, ByRef ovCvtData As Variant, ByRef owCvtDataCount As Integer) As Long
Declare Function IsCSVEnd Lib "ProEasy.DLL" (ByVal hCsv As Long) As Long

' ------------------------------------------------------------------------
'       Add Functions For Pro-Server Ver.4.0
' ------------------------------------------------------------------------
Declare Function EasyIsCFCard Lib "ProEasy.DLL" (ByVal sNodeName As String) As Long
Declare Function EasyIsCFCardM Lib "ProEasy.DLL" (ByVal hProServer As Long, ByVal sNodeName As String) As Long
Declare Function GetNodeProperty Lib "ProEasy.DLL" (ByVal sNodeName As String, ByVal dwTimeLimit As Long, ByVal dwGPType As String, ByVal osSystemVersion As String, ByVal osComVersion As String, ByVal osECOMVersion As String) As Long
Declare Function GetNodePropertyM Lib "ProEasy.DLL" (ByVal hProServer As Long, ByVal sNodeName As String, ByVal dwTimeLimit As Long, ByVal dwGPType As String, ByVal osSystemVersion As String, ByVal osComVersion As String, ByVal osECOMVersion As String) As Long


' Data Base & Time Bar API's
' call back event code from Time Bar
Public Const PDB_CODE_START_POLLING_DB = &H1
Public Const PDB_CODE_STOP_POLLING_DB = &H2
Public Const PDB_CODE_SLIDER_MOVE = &H10
Public Const PDB_CODE_START_TIMEBAR_PLAY = &H20
Public Const PDB_CODE_STOP_TIMEBAR_PLAY = &H40
Public Const PDB_CODE_CHANGED_LINK_COUNT = &H80
Public Const PDB_CODE_OPEN_DB = &H100
Public Const PDB_CODE_CLOSE_DB = &H200
Public Const PDB_CODE_CHANGE_DB = &H400
Public Const PDB_CODE_CHANGE_DB_ERROR = &H800
Public Const PDB_CODE_CHECK_EXISTENCE = &H1000
Public Const PDB_CODE_SAMPLING_TIME_OVER_RUN = &H2000
Public Const PDB_CODE_START_SAMPLING = &H4000
Public Const PDB_CODE_TEST_POLLING = &H10000
Public Const PDB_CODE_ONE_TIME_POLLING = &H20000
Public Const PDB_CODE_GET_ONE_RECORD = &H40000
Public Const PDB_CODE_TIMEBAR_NOW_MODE = &H80000
Public Const PDB_CODE_REBUILT_DB_FILE = &H100000

' dialog style of Time Bar
Public Const EASY_DS_POPUP = &H0
Public Const EASY_DS_CHILD = &H1
Public Const EASY_DS_SHOW_DB_BUTTON = &H0
Public Const EASY_DS_HIDE_DB_BUTTON = &H2
Public Const EASY_DS_SHOW_DIALOG = &H0
Public Const EASY_DS_HIDE_DIALOG = &H4

Public Const PDB_PollingStatus_Stop = 0
Public Const PDB_PollingStatus_Wait = 1
Public Const PDB_PollingStatus_NowSampling = 2
Public Const PDB_PollingStatus_Closed = 3
Public Const PDB_PollingStatus_Cancel = 4

' Time Bar Status
Public Const EASY_TB_STATUS_NOW = 0
Public Const EASY_TB_STATUS_PAST = 1
Public Const EASY_TB_STATUS_INDEX = 2
Public Const EASY_TB_STATUS_LAST_READ = 3

' Time Basr Write Mode
Public Const EASY_TB_WRITE_SKIP = 0
Public Const EASY_TB_WRITE_ERROR = 1
Public Const EASY_TB_WRITE_DATA_BASE = 2
Public Const EASY_TB_WRITE_GP = 3


Declare Function EasyCreateTimeBar Lib "ProEasy.DLL" (ByRef ohTimeBar As Long, ByRef odwErrorCode As Long, ByVal sDataBaseFileName As String, ByVal hParentWnd As Long, ByVal dwDlgStyle As Long, ByVal dwWM_USER As Long) As Long ' It isn't being supported in Pro-Server EX Ver. 1
Declare Function EasyShowTimeBar Lib "ProEasy.DLL" (ByVal hTimeBar As Long, ByVal dwCmdShow As Long) As Long ' It isn't being supported in Pro-Server EX Ver. 1
Declare Function EasyGetTimeBarWindowHandle Lib "ProEasy.DLL" (ByVal hTimeBar As Long) As Long ' It isn't being supported in Pro-Server EX Ver. 1
Declare Function EasyLinkTimeBar Lib "ProEasy.DLL" (ByVal hTimeBar As Long) As Long ' It isn't being supported in Pro-Server EX Ver. 1
Declare Function EasyLinkTimeBarM Lib "ProEasy.DLL" (ByVal hProServer As Long, ByVal hTimeBar As Long) As Long ' It isn't being supported in Pro-Server EX Ver. 1
Declare Function EasyUnlinkTimeBar Lib "ProEasy.DLL" (ByVal hTimeBar As Long) As Long ' It isn't being supported in Pro-Server EX Ver. 1
Declare Function EasyUnlinkTimeBarM Lib "ProEasy.DLL" (ByVal hProServer As Long, ByVal hTimeBar As Long) As Long ' It isn't being supported in Pro-Server EX Ver. 1
Declare Function EasyDestroyTimeBar Lib "ProEasy.DLL" (ByVal hTimeBar As Long) As Long ' It isn't being supported in Pro-Server EX Ver. 1
Declare Function EasyGetTimeBarRange Lib "ProEasy.DLL" (ByVal hTimeBar As Long, ByRef odwStartTime As Long, ByRef odwEndTime As Long, ByRef odwLeftTime As Long, ByRef odwRightTime As Long) As Long ' It v't being supported in Pro-Server EX Ver. 1
Declare Function EasyGetTimeBarRangeVariant Lib "ProEasy.DLL" (ByVal hTimeBar As Long, ByRef ovStartTime As Variant, ByRef ovEndTime As Variant, ByRef ovLeftTime As Variant, ByRef ovRightTime As Variant) As Long ' It v't being supported in Pro-Server EX Ver. 1
Declare Function EasyBackwardConfirmation Lib "ProEasy.DLL" (ByVal hTimeBar As Long, ByVal dwAutoModeFlag As Long, ByVal dwTime As Long) As Long ' It isn't being supported in Pro-Server EX Ver. 1
Declare Function EasyLockTimeBar Lib "ProEasy.DLL" (ByVal hTimeBar As Long) As Long ' It isn't being supported in Pro-Server EX Ver. 1
Declare Function EasyUnlockTimeBar Lib "ProEasy.DLL" (ByVal hTimeBar As Long) As Long ' It isn't being supported in Pro-Server EX Ver. 1
Declare Function EasyDispDataBaseStatusDialog Lib "ProEasy.DLL" () As Long ' It isn't being supported in Pro-Server EX Ver. 1
Declare Function EasyChangeTimeBarDataBase Lib "ProEasy.DLL" (ByVal hTimeBar As Long, ByVal sDataBaseFileName As String) As Long ' It isn't being supported in Pro-Server EX Ver. 1
Declare Function EasyTimeBarTestPolling Lib "ProEasy.DLL" (ByVal hTimeBar As Long) As Long ' It isn't being supported in Pro-Server EX Ver. 1
Declare Function EasyTimeBarOneTimePolling Lib "ProEasy.DLL" (ByVal hTimeBar As Long) As Long ' It isn't being supported in Pro-Server EX Ver. 1
Declare Function EasyTimeBarPollingStart Lib "ProEasy.DLL" (ByVal hTimeBar As Long) As Long ' It isn't being supported in Pro-Server EX Ver. 1
Declare Function EasyTimeBarPollingStop Lib "ProEasy.DLL" (ByVal hTimeBar As Long) As Long ' It isn't being supported in Pro-Server EX Ver. 1
Declare Function EasyGetTimeBarPollingStatus Lib "ProEasy.DLL" (ByVal hTimeBar As Long, ByRef odwDBStatus As Long) As Long ' It isn't being supported in Pro-Server EX Ver. 1
Declare Function EasyGetDatabaseName Lib "ProEasy.DLL" (ByVal hTimeBar As Long, ByVal oDatabaseName As String) As Long ' It isn't being supported in Pro-Server EX Ver. 1

Declare Function EasySetTimeBarPositionNow Lib "ProEasy.DLL" (ByVal hTimeBar As Long) As Long ' It isn't being supported in Pro-Server EX Ver. 1
Declare Function EasySetTimeBarPositionTime Lib "ProEasy.DLL" (ByVal hTimeBar As Long, ByVal dwPosTime As Long) As Long ' It isn't being supported in Pro-Server EX Ver. 1
Declare Function EasySetTimeBarPositionTimeVariant Lib "ProEasy.DLL" (ByVal hTimeBar As Long, ByVal vPosTime As Variant) As Long ' It isn't being supported in Pro-Server EX Ver. 1
Declare Function EasySetTimeBarPositionIndex Lib "ProEasy.DLL" (ByVal hTimeBar As Long, ByVal dwFileNo As Long, ByVal dwIndex As Long) As Long ' It isn't being supported in Pro-Server EX Ver. 1
Declare Function EasySetTimeBarPositionLastRead Lib "ProEasy.DLL" (ByVal hTimeBar As Long) As Long ' It isn't being supported in Pro-Server EX Ver. 1

Declare Function EasyGetTimeBarPositionStatus Lib "ProEasy.DLL" (ByVal hTimeBar As Long, ByRef odwStatus As Long) As Long ' It isn't being supported in Pro-Server EX Ver. 1
Declare Function EasyGetTimeBarPositionTime Lib "ProEasy.DLL" (ByVal hTimeBar As Long, ByRef odwPosTime As Long) As Long ' It isn't being supported in Pro-Server EX Ver. 1
Declare Function EasyGetTimeBarPositionTimeVariant Lib "ProEasy.DLL" (ByVal hTimeBar As Long, ByRef ovPosTime As Variant) As Long ' It isn't being supported in Pro-Server EX Ver. 1
Declare Function EasyGetTimeBarPositionIndex Lib "ProEasy.DLL" (ByVal hTimeBar As Long, ByRef odwFileNo As Long, ByRef odwIndex As Long) As Long ' It isn't being supported in Pro-Server EX Ver. 1

Declare Function EasyGetTimeBarMaxFileNo Lib "ProEasy.DLL" (ByVal hTimeBar As Long, ByRef odwMaxFileNo As Long) As Long ' It isn't being supported in Pro-Server EX Ver. 1
Declare Function EasyGetTimeBarMaxIndex Lib "ProEasy.DLL" (ByVal hTimeBar As Long, ByVal dwFileNo As Long, ByRef odwIndex As Long) As Long ' It isn't being supported in Pro-Server EX Ver. 1

Declare Function EasySetTimeBarWriteMode Lib "ProEasy.DLL" (ByVal dwWriteMode As Long) As Long ' It isn't being supported in Pro-Server EX Ver. 1
Declare Function EasySetTimeBarWriteModeM Lib "ProEasy.DLL" (ByVal hProServer As Long, ByVal dwWriteMode As Long) As Long ' It isn't being supported in Pro-Server EX Ver. 1
Declare Function EasyGetTimeBarWriteMode Lib "ProEasy.DLL" (ByRef odwWriteMode As Long) As Long ' It isn't being supported in Pro-Server EX Ver. 1
Declare Function EasyGetTimeBarWriteModeM Lib "ProEasy.DLL" (ByVal hProServer As Long, ByRef odwWriteMode As Long) As Long ' It isn't being supported in Pro-Server EX Ver. 1

' CSV file transfer API's
Public Type stEasyDirInfo
    bFileName(1 To 9) As Byte       ' FileName
    bExt(1 To 4) As Byte            ' Extension
    bDummy(1 To 3) As Byte          ' Dummy
    dwFileSize As Long              ' FileSize
    bFileTimeStamp(1 To 9) As Byte  ' TimeStamp
    bDummy2(1 To 3)  As Byte        ' Dummy2
End Type

Declare Function EasyGetListInCard Lib "ProEasy.DLL" (ByVal sNodeName As String, ByVal sDirectory As String, ByRef oiCount As Long, ByVal sSaveFileName As String) As Long
Declare Function EasyFileReadCard Lib "ProEasy.DLL" (ByVal sNodeName As String, ByVal pReadFileType As String, ByVal wReadFileNo As Integer, ByVal sWriteFileName As String, ByRef odwFileSize As Long) As Long
Declare Function EasyFileWriteCard Lib "ProEasy.DLL" (ByVal sNodeName As String, ByVal pReadFileName As String, ByVal sWriteFileType As String, ByVal wWriteFileNo As Integer) As Long
Declare Function EasyGetCfFreeSpace Lib "ProEasy.DLL" (ByVal sNodeName As String, ByRef oiUnallocated As Long) As Long

Declare Function EasyGetGPTime Lib "ProEasy.DLL" (ByVal sNodeName As String, ByRef odwTime As Long) As Long
Declare Function EasyGetGPTimeVariant Lib "ProEasy.DLL" (ByVal sNodeName As String, ByRef ovTime As Variant) As Long
Declare Function EasyGetGPTimeString Lib "ProEasy.DLL" (ByVal sNodeName As String, ByVal sFormat As String, ByVal osTime As String) As Long
Declare Function EasyGetGPTimeStringVariant Lib "ProEasy.DLL" (ByVal sNodeName As String, ByVal sFormat As String, ByRef ovTime As Variant) As Long


' ------------------------------------------------------------------------
'     Add function for Pro-Server Version 4.5
' ------------------------------------------------------------------------
Declare Function EasyFileDeleteCard Lib "ProEasy.DLL" (ByVal sNodeName As String, ByVal pDeleteFileType As String, ByVal wDeleteFileNo As Integer) As Long
Declare Function EasyGetListInCfCard Lib "ProEasy.DLL" (ByVal sNodeName As String, ByVal sDirectory As String, ByRef oiCount As Long, ByVal sSaveFileName As String) As Long
Declare Function EasyFileDeleteInCfCard Lib "ProEasy.DLL" (ByVal sNodeName As String, ByVal sFolderName As String, ByVal sFileName As String) As Long
Declare Function EasyFileReadInCfCard Lib "ProEasy.DLL" (ByVal sNodeName As String, ByVal sFolderName As String, ByVal sFileName As String, ByVal sWriteFileName As String, ByRef odwFileSize As Long) As Long
Declare Function EasyFileWriteInCfCard Lib "ProEasy.DLL" (ByVal sNodeName As String, ByVal pReadFileName As String, ByVal sFolderName As String, ByVal sFileName As String) As Long
Declare Function EasyFileRenameInCfCard Lib "ProEasy.DLL" (ByVal sNodeName As String, ByVal sFolderName As String, ByVal sFileName As String, ByVal sFileRename As String) As Long




' ------------------------------------------------------------------------
'     Add function for Pro-Server EX Version 1.0
' ------------------------------------------------------------------------

' Pro-Server Control's API
Declare Function EasyTermServer Lib "ProEasy.DLL" () As Long
Declare Function EasyNotifyFromServerEnd Lib "ProEasy.DLL" ( ByVal hReceivedWnd As Long, ByVal message As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Declare Function EasyNotifyFromServerEndM Lib "ProEasy.DLL" ( ByVal hProServer As Long, ByVal hReceivedWnd As Long, ByVal message As Long, ByVal wParam As Long, ByVal lParam As Long) As Long

' API that an error message is acquired from the error code and that it is expanded
Declare Function EasyLoadErrorMessageEx Lib "ProEasy.DLL" (ByVal iErrorCode As Long, ByVal osErrorMessage As String) As Long
Declare Function EasyLoadErrorMessageExM Lib "ProEasy.DLL" (ByVal hProServer As Long, ByVal iErrorCode As Long, ByVal osErrorMessage As String) As Long


' Queuing Access Control's API
Declare Function BeginQueuingRead Lib "ProEasy.DLL" () As Long
Declare Function BeginQueuingWrite Lib "ProEasy.DLL" () As Long
Declare Function ExecuteQueuingAccess Lib "ProEasy.DLL" () As Long
Declare Function CancelQueuingAccess Lib "ProEasy.DLL" () As Long
Declare Function IsQueuingAccessSucceeded Lib "ProEasy.DLL" (ByVal iIndex As Long) As Long

Declare Function BeginQueuingReadM Lib "ProEasy.DLL" (ByVal hProServer As Long) As Long
Declare Function BeginQueuingWriteM Lib "ProEasy.DLL" (ByVal hProServer As Long) As Long
Declare Function ExecuteQueuingAccessM Lib "ProEasy.DLL" (ByVal hProServer As Long) As Long
Declare Function CancelQueuingAccessM Lib "ProEasy.DLL" (ByVal hProServer As Long) As Long
Declare Function IsQueuingAccessSucceededM Lib "ProEasy.DLL" (ByVal hProServer As Long, ByVal iIndex As Long) As Long


 
' Cache Control 's API
Declare Function PS_CreateCache Lib "ProEasy.DLL" (ByVal sCacheName As String, ByVal dwPollingTime As Long) As Long
Declare Function PS_EntryCacheRecord Lib "ProEasy.DLL" (ByVal sCacheName As String, ByVal sNodeName As String, ByVal sDevice As String, ByVal wAppKind As Integer, ByVal wCount As Integer) As Long
Declare Function PS_StartCache Lib "ProEasy.DLL" (ByVal sCacheName As String) As Long
Declare Function PS_StopCache Lib "ProEasy.DLL" (ByVal sCacheName As String) As Long
Declare Function PS_DestroyCache Lib "ProEasy.DLL" (ByVal sCacheName As String) As Long
Declare Function PS_SetNotifyFromCache Lib "ProEasy.DLL" (ByVal sCacheName As String, ByVal hWnd As Long, ByVal message As Long, ByVal wParam As Long, ByVal lParam As Long, ByRef ohCacheNotifyID As Long) As Long
Declare Function PS_AcceptNextNotifyFromCache Lib "ProEasy.DLL" (ByVal hCacheNotifyID As Long) As Long
Declare Function PS_KillNotifyFromCache Lib "ProEasy.DLL" (ByVal hCacheNotifyID As Long) As Long
Declare Function PS_GetUpdateCounter Lib "ProEasy.DLL" (ByVal sCacheName As String, ByRef odwCount As Long) As Long
Declare Function PS_GetCacheStatus Lib "ProEasy.DLL" (ByVal sCacheName As String) As Long

Declare Function PS_CreateCacheM Lib "ProEasy.DLL" (ByVal hProServer As Long, ByVal sCacheName As String, ByVal dwPollingTime As Long) As Long
Declare Function PS_EntryCacheRecordM Lib "ProEasy.DLL" (ByVal hProServer As Long, ByVal sCacheName As String, ByVal sNodeName As String, ByVal sDevice As String, ByVal wAppKind As Integer, ByVal wCount As Integer) As Long
Declare Function PS_StartCacheM Lib "ProEasy.DLL" (ByVal hProServer As Long, ByVal sCacheName As String) As Long
Declare Function PS_StopCacheM Lib "ProEasy.DLL" (ByVal hProServer As Long, ByVal sCacheName As String) As Long
Declare Function PS_DestroyCacheM Lib "ProEasy.DLL" (ByVal hProServer As Long, ByVal sCacheName As String) As Long
Declare Function PS_SetNotifyFromCacheM Lib "ProEasy.DLL" (ByVal hProServer As Long, ByVal sCacheName As String, ByVal hWnd As Long, ByVal message As Long, ByVal wParam As Long, ByVal lParam As Long, ByRef ohCacheNotifyID As Long) As Long
Declare Function PS_AcceptNextNotifyFromCacheM Lib "ProEasy.DLL" (ByVal hProServer As Long, ByVal hCacheNotifyID As Long) As Long
Declare Function PS_KillNotifyFromCacheM Lib "ProEasy.DLL" (ByVal hProServer As Long, ByVal hCacheNotifyID As Long) As Long
Declare Function PS_GetUpdateCounterM Lib "ProEasy.DLL" (ByVal hProServer As Long, ByVal sCacheName As String, ByRef odwCount As Long) As Long
Declare Function PS_GetCacheStatusM Lib "ProEasy.DLL" (ByVal hProServer As Long, ByVal sCacheName As String) As Long


' Symbol Information 's API
Public Type SymbolInformation
        m_wAppKind  As Integer                  ' Application data type (1 to 12, 0x8000 )
        m_wDataCount  As Integer                ' Count of data
        m_dwSizeOf   As Long                    ' The byte size of the buffer which is necessary to access it
        m_sSymbolName(1 To 65) As Byte          ' Symbol name
        m_bDummy1(1 To 3) As Byte				' Dummy[0],Dummy[1] reserved, Dummy[2] extend infomation
        m_sDeviceAddress(1 To 257) As Byte      ' Device address
        m_bDummy2(1 To 3) As Byte
End Type



Declare Function SizeOfSymbol Lib "ProEasy.DLL" (ByVal sNodeName As String, ByVal sSymbolName As String, ByRef oiByteSize As Long) As Long
Declare Function GetCountOfSymbolMember Lib "ProEasy.DLL" (ByVal sNodeName As String, ByVal sSymbolName As String, ByRef oiCountOfMember As Long) As Long
Declare Function GetSymbolInformation Lib "ProEasy.DLL" (ByVal sNodeName As String, ByVal sSymbolName As String, ByVal iMaxCountOfSymbolMember As Long, ByVal osSymbolSheetName As String, ByRef oSymbolInformation As SymbolInformation, ByRef oiGotCountOfSymbolMember As Long) As Long


' Group Access API
Declare Function ReadSymbol Lib "ProEasy.DLL" (ByVal sNodeName As String, ByVal sSymbolName As String, ByRef oReadBufferData As Byte) As Long
Declare Function ReadSymbolD Lib "ProEasy.DLL" (ByVal sNodeName As String, ByVal sSymbolName As String, ByRef oReadBufferData As Byte) As Long
Declare Function ReadSymbolVariant Lib "ProEasy.DLL" (ByVal sNodeName As String, ByVal sSymbolName As String, ByRef pvData As Variant) As Long
Declare Function ReadSymbolVariantD Lib "ProEasy.DLL" (ByVal sNodeName As String, ByVal sSymbolName As String, ByRef pvData As Variant) As Long

Declare Function ReadSymbolM Lib "ProEasy.DLL" (ByVal hProServer As Long, ByVal sNodeName As String, ByVal sSymbolName As String, ByRef oReadBufferData As Byte) As Long
Declare Function ReadSymbolDM Lib "ProEasy.DLL" (ByVal hProServer As Long, ByVal sNodeName As String, ByVal sSymbolName As String, ByRef oReadBufferData As Byte) As Long
Declare Function ReadSymbolVariantM Lib "ProEasy.DLL" (ByVal hProServer As Long,ByVal sNodeName As String, ByVal sSymbolName As String, ByRef pvData As Variant) As Long
Declare Function ReadSymbolVariantDM Lib "ProEasy.DLL" (ByVal hProServer As Long,ByVal sNodeName As String, ByVal sSymbolName As String, ByRef pvData As Variant) As Long

Declare Function WriteSymbol Lib "ProEasy.DLL" (ByVal sNodeName As String, ByVal sSymbolName As String, ByRef pWriteBufferData As Byte) As Long
Declare Function WriteSymbolD Lib "ProEasy.DLL" (ByVal sNodeName As String, ByVal sSymbolName As String, ByRef pWriteBufferData As Byte) As Long
Declare Function WriteSymbolVariant Lib "ProEasy.DLL" (ByVal sNodeName As String, ByVal sSymbolName As String, ByRef pvData As Variant) As Long
Declare Function WriteSymbolVariantD Lib "ProEasy.DLL" (ByVal sNodeName As String, ByVal sSymbolName As String, ByRef pvData As Variant) As Long

Declare Function WriteSymbolM Lib "ProEasy.DLL" (ByVal hProServer As Long, ByVal sNodeName As String, ByVal sSymbolName As String, ByRef pWriteBufferData As Byte) As Long
Declare Function WriteSymbolDM Lib "ProEasy.DLL" (ByVal hProServer As Long, ByVal sNodeName As String, ByVal sSymbolName As String, ByRef pWriteBufferData As Byte) As Long
Declare Function WriteSymbolVariantM Lib "ProEasy.DLL" (ByVal hProServer As Long,ByVal sNodeName As String, ByVal sSymbolName As String, ByRef pvData As Variant) As Long
Declare Function WriteSymbolVariantDM Lib "ProEasy.DLL" (ByVal hProServer As Long,ByVal sNodeName As String, ByVal sSymbolName As String, ByRef pvData As Variant) As Long

' CF-CARD access control API
Declare Function EasyFileSetPassiveMode Lib "ProEasy.DLL" (ByVal iPassive As Long) As Long
