如题。本人只会C#(vs 2005 c#),不懂VC++代码,在工业控制中要用到一个.dll动态链接库,里面也就几个小函数,哪位高手可以帮我转成C#调用形式的,谢谢了!打开设备:
函数:HANDLE WINAPI XC_PCImOpenDevice(ULONG iIndex,BOOL iEnableMemory,BOOL iEnableInterrupt )
功能:打开XC_PCI设备,返回句柄,出错则无效
参数:iIndex 指定XC_PCI设备序号,0对应第一个设备
iEnableMemory 是否需要支持存储器
iEnableInterrupt 是否需要支持中断
返回值:-1 表示打开设备失败;其它值表示打开设备成功
关闭设备
函数:VOID WINAPI XC_PCImCloseDevice( ULONG iIndex )
功能:关闭XC_PCI设备
参数:iIndex 指定XC_PCI设备序号
返回值:无
读入
函数:BOOL WINAPI XC_PCImReadIoByte( ULONG iIndex, PVOID iAddr, PUCHAR oByte )
功能:从I/O端口读取一个字节
参数:iIndex 指定XC_PCI设备序号
iAddr 指定I/O端口的地址
oByte 指向一个字节单元,用于保存读取的字节数据
返回值:布尔值,成功为true,否则为false
写出
函数:BOOL WINAPI XC_PCImWriteIoByte(ULONG iIndex, PVOID iAddr, UCHAR iByte )
功能:向I/O端口写入一个字节
参数:iIndex 指定XC_PCI设备序号
iAddr 指定I/O端口的地址
iByte 待写入的字节数据
函数:HANDLE WINAPI XC_PCImOpenDevice(ULONG iIndex,BOOL iEnableMemory,BOOL iEnableInterrupt )
功能:打开XC_PCI设备,返回句柄,出错则无效
参数:iIndex 指定XC_PCI设备序号,0对应第一个设备
iEnableMemory 是否需要支持存储器
iEnableInterrupt 是否需要支持中断
返回值:-1 表示打开设备失败;其它值表示打开设备成功
关闭设备
函数:VOID WINAPI XC_PCImCloseDevice( ULONG iIndex )
功能:关闭XC_PCI设备
参数:iIndex 指定XC_PCI设备序号
返回值:无
读入
函数:BOOL WINAPI XC_PCImReadIoByte( ULONG iIndex, PVOID iAddr, PUCHAR oByte )
功能:从I/O端口读取一个字节
参数:iIndex 指定XC_PCI设备序号
iAddr 指定I/O端口的地址
oByte 指向一个字节单元,用于保存读取的字节数据
返回值:布尔值,成功为true,否则为false
写出
函数:BOOL WINAPI XC_PCImWriteIoByte(ULONG iIndex, PVOID iAddr, UCHAR iByte )
功能:向I/O端口写入一个字节
参数:iIndex 指定XC_PCI设备序号
iAddr 指定I/O端口的地址
iByte 待写入的字节数据
Intptr XC_PCImOpenDevice (Int32 iIndex, bool iEnableMemory, bool iEnableInterrupt )
VOID WINAPI XC_PCImCloseDevice( ULONG iIndex )
void XC_PCImCloseDevice(Int32 iIndex)
BOOL WINAPI XC_PCImReadIoByte( ULONG iIndex, PVOID iAddr, PUCHAR oByte )
bool XC_PCImReadIoByte(Int32 iIndex, Inptr iAddr, Intprt oByte)
BOOL WINAPI XC_PCImWriteIoByte(ULONG iIndex, PVOID iAddr, UCHAR iByte )
bool XC_PCImWriteIoByte(Int32 iIndex, Intptr iAddr, Intptr iByte)