我的程序如下:
#define ShimDeviceName   "\\\\.\\IMDRIVER2000"
DeviceHandle = CreateFile(
DeviceName,
GENERIC_WRITE | GENERIC_READ,
0,
NULL,
OPEN_EXISTING,
FILE_FLAG_OVERLAPPED,
0
);
错误提示:
error C2664: 'CreateFileW' : cannot convert parameter 1 from 'char [17]' to 'LPCWSTR'

解决方案 »

  1.   

    你编译的是Unicode版本,所以DeviceName应该是宽字符,用CComBSTR定义试一试,呵呵
      

  2.   

    定义一个 LPCWSTR,初始化为 "\\\\.\\IMDRIVER2000",传入CreatFile()
      

  3.   

    const LPWSTR p=L"\\\\.\\IMDRIVER2000";
      

  4.   

    多谢大家的建议,我最后是这样做的:
    CComBSTR ShimDeviceName="\\\\.\\IMDRIVER2000";
    DeviceHandle = CreateFileW(
    DeviceName,
    GENERIC_WRITE | GENERIC_READ,
    0,
    NULL,
    OPEN_EXISTING,
    FILE_FLAG_OVERLAPPED,
    0
    );
    程序通过。再次感谢大家:)