我已根据WinUsbDriver为复合设备(带有MI _ ##部分的硬件ID)创建了一个驱动程序。
关键是“模板”不包含 [DefaultInstall] 部分,因此我不能 P / Invoke InstallHinfSection 功能:
InstallHinfSection(NULL,NULL,TEXT("DefaultInstall 132 path-to-inf\infname.inf"),0);
我想在首次连接复合设备之前创建INF文件并使用应用程序代码安装它们。
如何在没有.NET桌面应用程序的 [DefaultInstall] 部分的情况下安装INF驱动程序?
答案 0 :(得分:0)
https://stackoverflow.com/a/11751075/1948857
可能这个答案可以提供帮助。这些天我遇到了这些问题并用这些答案解决了。
答案 1 :(得分:0)
您最好的选择(在Windows Vista及更高版本中)是使用直接功能将inf安装到驱动程序存储区中,然后自动将其安装在匹配的硬件上。这可以通过一个函数来完成:DiInstallDriver。
例如......
[DllImport("newdev.dll")]
public static extern bool DiInstallDriver
(
[In] IntPtr hwndParent,
[In] string FullInfPath,
[In] uint Flags,
[Out] bool NeedReboot
);
DiInstallDriver(IntPtr.Zero, "full path to my inf", 0, false);