C# DllImport 方法,出现 The system cannot find the file specified 错误

2021-03-05 10:28

阅读:597

标签:auto   parent   bool   使用   没有   and   调用   OLE   cannot   

最近使用 C# 调用 dll 中的 UpdateDriverForPlugAndPlayDevices() 方法去安装驱动,遇到了 “The system cannot find the file specified” 问题,

看着错误提示,是指系统没有找到指定文件,但是我检查硬盘,该文件确实存在,但是因为我测试时使用的是 Hebrew 希伯来语的系统,
我就考虑会不会是因为路径中包含了特殊字符,导致该方法不能正常工作,我当前的方法声明如下:

[DllImport("newdev.dll", SetLastError = true)]
public static extern bool UpdateDriverForPlugAndPlayDevices(IntPtr hwndParent, string HardwareId, string FullInfPath, UpdateDriverInstallFlag install, out Boolean bRebootRequired);

后面经查资料,添加了 CharSet = CharSet.Auto,问题解决, 修改后的方法声明:

[DllImport("newdev.dll", SetLastError = true, CharSet = CharSet.Auto)]
public static extern bool UpdateDriverForPlugAndPlayDevices(IntPtr hwndParent, string HardwareId, string FullInfPath, UpdateDriverInstallFlag install, out Boolean bRebootRequired);

 

C# DllImport 方法,出现 The system cannot find the file specified 错误

标签:auto   parent   bool   使用   没有   and   调用   OLE   cannot   

原文地址:https://www.cnblogs.com/tommy-huang/p/12901608.html

上一篇:libtorch 常用api

下一篇:C#IO


评论


亲,登录后才可以留言!