我正在尝试以编程方式更新驱动程序,如下所示:
var result = UpdateDriverForPlugAndPlayDevices(
IntPtr.Zero,
@"MMDEVAPI\AudioEndpoints",
@"C:\Windows\System32\DriverStore\FileRepository\audioendpoint.inf_amd64_3cc700130e8033fe\audioendpoint.inf",
0,
false);
程序在x64中运行,但在执行上面行时抛出AccessViolationException。 (尝试读/写受保护的内存)。
有任何想法如何解决这个问题?
答案 0 :(得分:1)
该片段缺少函数的[DllImport]声明。但我可以说你使用的那个是错的,最后一个参数必须是out bool
。当然,您使用的声明缺少out
,这是您传递 false 的唯一方法。
是的,当本机代码尝试取消引用指针时,这可靠地生成AVE。