|
|
发表于 2008-6-17 13:16:14
|
显示全部楼层
WINIO在VISTA下可以直接用的,不需要去重新编译, _- K) N* h) [+ o8 E2 M" l$ y
[DllImport("winio.dll")], Y. q) X; D# U- D
public static extern bool InitializeWinIo();9 c# c" L @1 |$ [. l6 p
[DllImport("winio.dll")]; C0 J+ _! i& s/ b q7 L' x
public static extern bool GetPortVal(IntPtr wPortAddr, out int pdwPortVal, byte bSize);& U/ q7 y1 g4 W
[DllImport("winio.dll")]
+ p$ f- x4 h" l3 z0 t public static extern bool SetPortVal(uint wPortAddr, IntPtr dwPortVal, byte bSize);
# ], W1 T4 h6 i' V$ m [DllImport("winio.dll")]
% j. r# U* P% t. J+ }5 b public static extern byte MapPhysToLin(byte pbPhysAddr, uint dwPhysSize, IntPtr PhysicalMemoryHandle);
0 \# R2 @+ R% H, f [DllImport("winio.dll")]
! }% U8 o5 R! B! I public static extern bool UnmapPhysicalMemory(IntPtr PhysicalMemoryHandle, byte pbLinAddr);3 L# X( s) J2 \, X! P+ b
[DllImport("winio.dll")]8 S0 \; j6 R- ?& f+ f
public static extern bool GetPhysLong(IntPtr pbPhysAddr, byte pdwPhysVal);, C. K" G) l+ e% j: p& G3 X* [. `
[DllImport("winio.dll")]0 q ~6 G# _& m) \/ p
public static extern bool SetPhysLong(IntPtr pbPhysAddr, byte dwPhysVal);* `' F$ f& V/ l. h0 ~: s1 s
[DllImport("winio.dll")]
' f( Y, S1 I! u3 ]3 s4 i+ g public static extern void ShutdownWinIo(); |
|