[DllImport("coredll.dll")]
public static extern IntPtr CreateFile(String lpFileName, UInt32 dwDesiredAccess, UInt32 dwShareMode, IntPtr lpSecurityAttributes, UInt32 dwCreationDisposition, UInt32 dwFlagsAndAttributes, IntPtr hTemplateFile);
[DllImport("coredll.dll")]
public static extern bool DeviceIoControl(IntPtr hDevice, UInt32 dwIoControlCode, Byte[] lpInBuffer, UInt32 nInBufferSize, Byte[] lpOutBuffer, UInt32 nOutBufferSize, UInt32 lpBytesReturned, IntPtr lpOverlapped);
[DllImport("coredll.dll")]
public static extern bool CloseHandle(IntPtr hDevice);
// 定义常量
const UInt32 OPEN_EXISTING = 3;
const UInt32 GENERIC_READ = 0x80000000;
const UInt32 GENERIC_WRITE = 0x40000000;
const Int32 INVALID_HANDLE_VALUE = -1;
wince-驱动 22:33:29
hPort = CreateFile("LED1:", GENERIC_READ | GENERIC_WRITE, 0, IntPtr.Zero, OPEN_EXISTING, 0, IntPtr.Zero);
private IntPtr hPort;
DeviceIoControl(hPort, LED_1_OFF, null, 0, null, 0, 0, IntPtr.Zero);
using System.Runtime.InteropServices;
hPort = CreateFile("LED1:", GENERIC_READ | GENERIC_WRITE, 0, IntPtr.Zero, OPEN_EXISTING, 0, IntPtr.Zero);
private IntPtr hPort;
DeviceIoControl(hPort, LED_1_OFF, null, 0, null, 0, 0, IntPtr.Zero);
using System.Runtime.InteropServices;