SSPC-Tester/Driver/急停报警相关资料/PCI2312 Samples/VC/PCI2312.h

94 lines
4.4 KiB
C
Raw Normal View History

#ifndef _PCI2312_DEVICE_
#define _PCI2312_DEVICE_
//######################## <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>)
#define PCI2312_modeRead 0x0000 // ֻ<><D6BB><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>ʽ
#define PCI2312_modeWrite 0x0001 // ֻд<D6BB>ļ<EFBFBD><C4BC><EFBFBD>ʽ
#define PCI2312_modeReadWrite 0x0002 // <20>ȶ<EFBFBD><C8B6><EFBFBD>д<EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>ʽ
#define 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
#define PCI2312_typeText 0x4000 // <20><><EFBFBD>ı<EFBFBD><C4B1><EFBFBD>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
//***********************************************************
//***********************************************************
// <20>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӿ<EFBFBD>
#ifndef _PCI2312_DRIVER_
#define DEVAPI __declspec(dllimport)
#else
#define DEVAPI __declspec(dllexport)
#endif
#ifdef __cplusplus
extern "C" {
#endif
//######################## <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>
HANDLE DEVAPI FAR PASCAL PCI2312_CreateDevice(int DeviceID = 0); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD>
int DEVAPI FAR PASCAL PCI2312_GetDeviceCount(HANDLE hDevice); // ȡ<><C8A1><EFBFBD><EFBFBD><E8B1B8>̨<EFBFBD><CCA8>
int DEVAPI FAR PASCAL PCI2312_GetDeviceCurrentID(HANDLE hDevice);
BOOL DEVAPI FAR PASCAL PCI2312_ListDeviceDlg(HANDLE hDevice); // <20>б<EFBFBD>ϵͳ<CFB5><CDB3><EFBFBD>е<EFBFBD><D0B5><EFBFBD><EFBFBD>еĸ<D0B5>PCI<43>
BOOL DEVAPI FAR PASCAL PCI2312_ReleaseDevice(HANDLE 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>
BOOL DEVAPI FAR PASCAL PCI2312_SetDeviceDO( // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬
HANDLE hDevice, // <20><EFBFBD><E8B1B8><EFBFBD><EFBFBD>
BYTE bDOSts[16]); // <20><><EFBFBD><EFBFBD>״̬
BOOL DEVAPI FAR PASCAL PCI2312_GetDeviceDI( // ȡ<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬
HANDLE hDevice, // <20><EFBFBD><E8B1B8><EFBFBD><EFBFBD>
BYTE bDISts[16]); // <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>
BOOL DEVAPI FAR PASCAL PCI2312_InitDeviceInt( // <20><>ʼ<EFBFBD><CABC><EFBFBD>ж<EFBFBD>
HANDLE hDevice, // <20><EFBFBD><E8B1B8><EFBFBD><EFBFBD>
HANDLE hEventInt); // <20>ж<EFBFBD><D0B6>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD>CreateSystemEvent<6E><74><EFBFBD><EFBFBD>
LONG DEVAPI FAR PASCAL PCI2312_GetDeviceIntCount(HANDLE 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>
BOOL DEVAPI FAR PASCAL PCI2312_ReleaseDeviceInt(HANDLE 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>
BOOL DEVAPI FAR PASCAL PCI2312_GetDeviceBar( // ȡ<><C8A1>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD>BAR<41><52>ַ
HANDLE hDevice, // <20><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD>CreateDevice<63><65><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
__int64 pbPCIBar[6]); // <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>
BOOL DEVAPI FAR PASCAL PCI2312_WritePortByte(HANDLE hDevice, __int64 pbPort, BYTE Value);
BOOL DEVAPI FAR PASCAL PCI2312_WritePortWord(HANDLE hDevice, __int64 pbPort, WORD Value);
BOOL DEVAPI FAR PASCAL PCI2312_WritePortULong(HANDLE hDevice, __int64 pbPort, ULONG Value);
BYTE DEVAPI FAR PASCAL PCI2312_ReadPortByte(HANDLE hDevice, __int64 pbPort);
WORD DEVAPI FAR PASCAL PCI2312_ReadPortWord(HANDLE hDevice, __int64 pbPort);
ULONG DEVAPI FAR PASCAL PCI2312_ReadPortULong(HANDLE hDevice, __int64 pbPort);
//########################### <20>̲߳<DFB3><CCB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ######################################
HANDLE DEVAPI FAR PASCAL PCI2312_CreateSystemEvent(void); // <20><><EFBFBD><EFBFBD><EFBFBD>ں<EFBFBD><DABA>¼<EFBFBD><C2BC><EFBFBD><EFBFBD>󣬹<EFBFBD>InitDeviceInt<6E><74>VB<56><42><EFBFBD>̵߳Ⱥ<CCB5><C8BA><EFBFBD>ʹ<EFBFBD><CAB9>
BOOL DEVAPI FAR PASCAL PCI2312_ReleaseSystemEvent(HANDLE hEvent); // <20>ͷ<EFBFBD><CDB7>ں<EFBFBD><DABA>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD>
#ifdef __cplusplus
}
#endif
// <20>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#ifndef _PCI2312_DRIVER_
#ifndef _WIN64
#pragma comment(lib, "PCI2312_32.lib")
#pragma message("======== Welcome to use our art company's products!")
#pragma message("======== Automatically linking with PCI2312_32.dll...")
#pragma message("======== Successfully linked with PCI2312_32.dll")
#else
#pragma comment(lib, "PCI2312_64.lib")
#pragma message("======== Welcome to use our art company's products!")
#pragma message("======== Automatically linking with PCI2312_64.dll...")
#pragma message("======== Successfully linked with PCI2312_64.dll")
#endif
#endif
#endif // _PCI2312_DEVICE_