|
|
发表于 2008-6-17 13:16:14
|
显示全部楼层
WINIO在VISTA下可以直接用的,不需要去重新编译, d& |2 f- ]) h% u8 w+ T
[DllImport("winio.dll")]- I# _* } e5 ^) V
public static extern bool InitializeWinIo();! D+ r! S" X: @3 G2 F
[DllImport("winio.dll")]
8 j4 Z3 K, W Y! y public static extern bool GetPortVal(IntPtr wPortAddr, out int pdwPortVal, byte bSize);4 Z# [# [7 J1 g' L+ `2 P
[DllImport("winio.dll")]9 z1 C0 N5 i/ \$ s
public static extern bool SetPortVal(uint wPortAddr, IntPtr dwPortVal, byte bSize);
2 I8 y* h" Q9 W: {% A9 w [DllImport("winio.dll")]
/ t- E# z$ |, Y$ t) z6 U; [( V, I public static extern byte MapPhysToLin(byte pbPhysAddr, uint dwPhysSize, IntPtr PhysicalMemoryHandle);% Z+ j1 `+ Z( \9 ]6 C. I5 L4 ^
[DllImport("winio.dll")]
; y! k4 O2 f! O6 b4 d4 j) }" }) K public static extern bool UnmapPhysicalMemory(IntPtr PhysicalMemoryHandle, byte pbLinAddr);7 o7 h( k2 _( `7 L+ l0 o5 P! N! w3 e
[DllImport("winio.dll")], m$ o# M: K& f- [# Y7 Q* Q. @- u
public static extern bool GetPhysLong(IntPtr pbPhysAddr, byte pdwPhysVal);
# C! U7 x0 j3 \ [DllImport("winio.dll")]. E, o0 M# \1 a4 v! i9 Q
public static extern bool SetPhysLong(IntPtr pbPhysAddr, byte dwPhysVal);
& C7 D5 I' [$ @/ j8 _& E, ~ [DllImport("winio.dll")]: F0 s% x9 _+ a/ R0 P
public static extern void ShutdownWinIo(); |
|