我已经基于 WinUsbDriver 为复合设备(带有 MI_## 部分的硬件 ID)创建了一个驱动程序。 .
重点是"template"不包含 [DefaultInstall] 部分,因此我无法P/Invoke InstallHinfSection 函数:
InstallHinfSection(NULL,NULL,TEXT("DefaultInstall 132 path-to-inf\infname.inf"),0);
我想在首次连接复合设备之前创建 INF 文件并使用应用程序代码安装它们。
如何从 .NET 桌面应用程序安装没有 [DefaultInstall] 部分的 INF 驱动程序?
最佳答案
您最好的选择(在 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);
关于c# - 如何从 .NET 桌面应用程序安装没有 [DefaultInstall] 部分的 INF 驱动程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28760882/