SSPC-Tester/Driver/急停报警相关资料/PCI2312 Samples/C#/PCI2312.cs

101 lines
5.2 KiB
C#
Raw Normal View History

using System;
using System.Collections.Generic;
using System.Text;
using System.Runtime.InteropServices ;
namespace Sys
{
public partial class 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 Int32 PCI2312_modeRead = 0x0000; // ֻ<><D6BB><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>ʽ
public const Int32 PCI2312_modeWrite = 0x0001; // ֻд<D6BB>ļ<EFBFBD><C4BC><EFBFBD>ʽ
public const Int32 PCI2312_modeReadWrite = 0x0002; // <20>ȶ<EFBFBD><C8B6><EFBFBD>д<EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>ʽ
public const Int32 PCI2312_modeCreate = 0x1000; // <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 Int32 PCI2312_typeText = 0x4000; // <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>
[DllImport("PCI2312_32.DLL")]
public static extern IntPtr PCI2312_CreateDevice(Int32 DeviceID); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD>
[DllImport("PCI2312_32.DLL")]
public static extern Int32 PCI2312_GetDeviceCount(IntPtr hDevice); // ȡ<><C8A1><EFBFBD><EFBFBD><E8B1B8>̨<EFBFBD><CCA8>
[DllImport("PCI2312_32.DLL")]
public static extern Int32 PCI2312_GetDeviceCurrentID(IntPtr hDevice); // ȡ<>õ<EFBFBD>ǰ<EFBFBD><EFBFBD><E8B1B8>Ӧ<EFBFBD><D3A6>ID<49><44>
[DllImport("PCI23112_32.DLL")]
public static extern Int32 PCI2312_ListDeviceDlg(IntPtr hDevice); // <20>б<EFBFBD>ϵͳ<CFB5><CDB3><EFBFBD>е<EFBFBD><D0B5><EFBFBD><EFBFBD>еĸ<D0B5>PCI<43>
[DllImport("PCI2312_32.DLL")]
public static extern Int32 PCI2312_ReleaseDevice(IntPtr hDevice); // <20>ر<EFBFBD><D8B1>豸,<2C><>ֹ<EFBFBD><D6B9><EFBFBD><EFBFBD>,<2C><><EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD>Դ
//####################### <20><><EFBFBD><EFBFBD>I/O<><4F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> #################################
// <20>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9>WriteRegisterULong<6E><67>ReadRegisterULong<6E>Ⱥ<EFBFBD><C8BA><EFBFBD>ֱ<EFBFBD>ӿ<EFBFBD><D3BF>ƼĴ<C6BC><C4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>I/O
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʡ<EFBFBD>£<EFBFBD><C2A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD>ļĴ<C4BC><C4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD>ȣ<EFBFBD><C8A3><EFBFBD>ֻ
// <20><><EFBFBD><EFBFBD>VB<56><42><EFBFBD><EFBFBD><EFBFBD>Ե<EFBFBD><D4B5><EFBFBD><EFBFBD>Բ<EFBFBD><D4B2><EFBFBD><EFBFBD><EFBFBD>ô<EFBFBD>򵥵<EFBFBD>ʵ<EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8><EFBFBD>Ŀ<EFBFBD><C4BF>ơ<EFBFBD>
[DllImport("PCI2312_32.DLL")]
public static extern Int32 PCI2312_SetDeviceDO( // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬
IntPtr hDevice, // <20><EFBFBD><E8B1B8><EFBFBD><EFBFBD>
Byte[] bDOSts); // <20><><EFBFBD><EFBFBD>״̬
[DllImport("PCI2312_32.DLL")]
public static extern Int32 PCI2312_GetDeviceDI( // ȡ<>ÿ<EFBFBD><C3BF><EFBFBD><EFBFBD><EFBFBD>״̬
IntPtr hDevice, // <20><EFBFBD><E8B1B8><EFBFBD><EFBFBD>
Byte[] bDISts); // <20><><EFBFBD><EFBFBD>״̬
//####################### <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>
[DllImport("PCI2312_32.DLL")]
public static extern Int32 PCI2312_InitDeviceInt( // <20><>ʼ<EFBFBD><CABC><EFBFBD>ж<EFBFBD>
IntPtr hDevice, // <20><EFBFBD><E8B1B8><EFBFBD><EFBFBD>
IntPtr hEventInt); // <20>ж<EFBFBD><D0B6>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD>CreateSystemEvent<6E><74><EFBFBD><EFBFBD>
[DllImport("PCI2312_32.DLL")]
public static extern Int32 PCI2312_GetDeviceIntCount(IntPtr hDevice); // <20><><EFBFBD>жϳ<D0B6>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD>жϷ<D0B6><CFB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD>
[DllImport("PCI2312_32.DLL")]
public static extern Int32 PCI2312_ReleaseDeviceInt(IntPtr hDevice); // <20>ͷ<EFBFBD><CDB7>ж<EFBFBD><D0B6><EFBFBD>Դ
//################# <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>
[DllImport("PCI2312_32.DLL")]
public static extern Int32 PCI2312_GetDeviceBar( // ȡ<><C8A1>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD>BAR<41><52>ַ
IntPtr hDevice, // <20><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Int64[] pbPCIBar); // <20><><EFBFBD><EFBFBD>PCI BAR<41><52><EFBFBD>е<EFBFBD>ַ,<2C><><EFBFBD><EFBFBD>PCI BAR<41><52><EFBFBD>ж<EFBFBD><D0B6>ٿ<EFBFBD><D9BF>õ<EFBFBD>ַ<EFBFBD>뿴Ӳ<EBBFB4><D3B2>˵<EFBFBD><CBB5><EFBFBD><EFBFBD>
[DllImport("PCI2312_32.DLL")]
public static extern Int32 PCI2312_WritePortByte(IntPtr hDevice, Int64 pPort, Byte Value);
[DllImport("PCI2312_32.DLL")]
public static extern Int32 PCI2312_WritePortWord(IntPtr hDevice, Int64 pPort, UInt16 Value);
[DllImport("PCI2312_32.DLL")]
public static extern Int32 PCI2312_WritePortULong(IntPtr hDevice, Int64 pPort, UInt32 Value);
[DllImport("PCI2312_32.DLL")]
public static extern Byte PCI2312_ReadPortByte(IntPtr hDevice, Int64 pPort);
[DllImport("PCI2312_32.DLL")]
public static extern UInt16 PCI2312_ReadPortWord(IntPtr hDevice, Int64 pPort);
[DllImport("PCI2312_32.DLL")]
public static extern UInt32 PCI2312_ReadPortULong(IntPtr hDevice, Int64 pPort);
//############################ <20>̲߳<DFB3><CCB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ################################
[DllImport("PCI2312_32.DLL")]
public static extern IntPtr PCI2312_CreateSystemEvent(); // <20><><EFBFBD><EFBFBD><EFBFBD>ں<EFBFBD>ϵͳ<CFB5>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD>
[DllImport("PCI2312_32.DLL")]
public static extern Int32 PCI2312_ReleaseSystemEvent(IntPtr hEvent); // <20>ͷ<EFBFBD><CDB7>ں<EFBFBD><DABA>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD>
}
}