SSPC-Tester/Driver/急停报警相关资料/PCI2312 Samples/VB.net/PCI2312_64.vb

74 lines
4.3 KiB
VB.net
Raw Normal View History

Module PCI2312
'######################## <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> #################################
' CreateFileObject<63><74><EFBFBD>õ<EFBFBD><C3B5>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28><>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8>ʵ<EFBFBD>ֶ<EFBFBD><D6B6>ַ<EFBFBD>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
Public Const PCI2312_modeRead = &H0 ' ֻ<><D6BB><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>ʽ
Public Const PCI2312_modeWrite = &H1 ' ֻд<D6BB>ļ<EFBFBD><C4BC><EFBFBD>ʽ
Public Const PCI2312_modeReadWrite = &H2 ' <20>ȶ<EFBFBD><C8B6><EFBFBD>д<EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>ʽ
Public Const PCI2312_modeCreate = &H3 ' <20><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><D4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڣ<EFBFBD><DAA3><EFBFBD><EFBFBD>ؽ<EFBFBD><D8BD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0
Public Const PCI2312_typeText = &H4 ' <20><><EFBFBD>ı<EFBFBD><C4B1><EFBFBD>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
'######################## <20><><EFBFBD><EFBFBD>ͨ<EFBFBD>ú<EFBFBD><C3BA><EFBFBD> #################################
' <20><><EFBFBD><EFBFBD><EFBFBD>ڱ<EFBFBD><DAB1><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Declare Function PCI2312_CreateDevice Lib "PCI2312_64" (ByVal DeviceID As Int32) As IntPtr ' create device object
Declare Function PCI2312_GetDeviceCount Lib "PCI2312_64" (ByVal hDevice As IntPtr) As Int32 ' get the amount of this kind of device from this system
Declare Function PCI2312_GetDeviceCurrentID Lib "PCI2312_64" (ByVal hDevice As IntPtr, ByRef DeviceLgcID As Int32, ByRef DevicePhysID As Int32) As Boolean
Declare Function PCI2312_ListDeviceDlg Lib "PCI2312_64" (ByVal hDevice As IntPtr) As Boolean ' list all PCI devices in the system
Declare Function PCI2312_ReleaseDevice Lib "PCI2312_64" (ByVal hDevice As IntPtr) As Boolean ' reset the whole PCI device
'####################### <20><><EFBFBD><EFBFBD>I/O<><4F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> #################################
' Applicable to the equipment control that is more direct and specific, low-level, more complex.
' For example, if it needs special control process and control efficiency in accordance with the special control object , users can achieve by using these interfaces.
Declare Function PCI2312_SetDeviceDO Lib "PCI2312_64" ( _
ByVal hDevice As IntPtr, _
ByVal bDOSts() As Byte) As IntPtr ' Get on/off status
Declare Function PCI2312_GetDeviceDI Lib "PCI2312_64" ( _
ByVal hDevice As IntPtr, _
ByVal bDISts() As Byte) As IntPtr ' Get on/off status
'####################### <20>жϺ<D0B6><CFBA><EFBFBD> #################################
' <20><><EFBFBD><EFBFBD>Ӳ<EFBFBD><D3B2><EFBFBD>źŵ<C5BA>״̬<D7B4><EFBFBD><E4BBAF><EFBFBD><EFBFBD>CPU<50><55><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD><D0B6>¼<EFBFBD>hEventInt<6E><74>
Declare Function PCI2312_InitDeviceInt Lib "PCI2312_64" ( _
ByVal hDevice As IntPtr, _
ByVal hEventInt As IntPtr) As Boolean
Declare Function PCI2312_GetDeviceIntCount Lib "PCI2312_64" (ByVal hDevice As IntPtr) As Int32 ' In interrupt is initialized, using it to get the interrupt service routine produce number of times
Declare Function PCI2312_ReleaseDeviceInt Lib "PCI2312_64" (ByVal hDevice As IntPtr) As Boolean ' Release interruption resource
' ################# <20>ڴ<EFBFBD>ӳ<EFBFBD><D3B3><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD>ֱ<EFBFBD>Ӳ<EFBFBD><D3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><D0B4><EFBFBD><EFBFBD> ########################
' <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB>Ա<EFBFBD><D4B1><EFBFBD><E8B1B8>ֱ<EFBFBD>ӡ<EFBFBD><D3A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E2A1A2><EFBFBD>Ͳ㡢<CDB2><E3A1A2><EFBFBD><EFBFBD><EFBFBD>ӵĿ<D3B5><C4BF>ơ<EFBFBD><C6A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
' <20><><EFBFBD>ƶ<EFBFBD><C6B6><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̺Ϳ<CCBA><CDBF><EFBFBD>Ч<EFBFBD><D0A7>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9><EFBFBD><EFBFBD>Щ<EFBFBD>ӿ<EFBFBD><D3BF><EFBFBD><EFBFBD><EFBFBD>ʵ<EFBFBD>֡<EFBFBD>
Declare Function PCI2312_GetDeviceBar Lib "PCI2312_64" ( _
ByVal hDevice As IntPtr, _
ByVal pbPCIBar() As Int64) As Boolean ' ȡ<><C8A1>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD>BAR<41><52>ַ
Declare Function PCI2312_WritePortByte Lib "PCI2312_64" (ByVal hDevice As IntPtr, ByVal pPort As Int64, ByVal Value As Byte) As Boolean
Declare Function PCI2312_WritePortWord Lib "PCI2312_64" (ByVal hDevice As IntPtr, ByVal pPort As Int64, ByVal Value As UInt16) As Boolean
Declare Function PCI2312_WritePortULong Lib "PCI2312_64" (ByVal hDevice As IntPtr, ByVal pPort As Int64, ByVal Value As UInt32) As Boolean
Declare Function PCI2312_ReadPortByte Lib "PCI2312_64" (ByVal hDevice As IntPtr, ByVal pPort As Int64) As Byte
Declare Function PCI2312_ReadPortWord Lib "PCI2312_64" (ByVal hDevice As IntPtr, ByVal pPort As Int64) As UInt16
Declare Function PCI2312_ReadPortULong Lib "PCI2312_64" (ByVal hDevice As IntPtr, ByVal pPort As Int64) As UInt32
'########################### Thread operation function ######################################
Declare Function PCI2312_CreateSystemEvent Lib "PCI2312_64" () As IntPtr ' create the (kernel) system event object
Declare Function PCI2312_ReleaseSystemEvent Lib "PCI2312_64" (ByVal hEvent As IntPtr) As Boolean ' release (kernel) system event object
End Module