使用 INF 文件安装后未列出 V4 打印机驱动程序

V4 printer driver not listed after installing using INF file

我关注 this Microsoft tutorial,开发 V4 printer driver

Here 是完整的工作解决方案。

为了安装,我只需右键单击 INF 文件并单击安装。

我得到以下确认:

但是打印管理下没有列出驱动程序。

可能是什么问题?是我安装方法不对还是代码有问题

我尝试将日志记录添加到驱动程序源代码中的所有函数中。而none好像是写的。所以驱动还没有自己安装。

仅供参考:我已将 PC 置于测试签名模式并且驱动程序签名强制执行也已禁用。

经过大量挖掘,我找到了解决方案。分享出来是为了让遇到类似问题的人省心

第一件事。在设备驱动程序安装中,发生了两件事。

  1. 驱动程序文件 uploaded/copied 到驱动程序存储区(这里是:%windir%\System32\DriverStore\FileRepository\
  2. 插入相应的设备后,现在就是实际安装的时候了。对应的设备就是你在INF文件中指定的device/model

这是传统路径。

因此,当您尝试使用 INF 文件安装时,驱动程序文件会上传到驱动程序存储的文件存储库中。我认为如果在 INF 安装期间插入任何受支持的模型,驱动程序将完全安装(尚未测试)。

安装。 现在我的要求要求先安装并列出驱动程序。为此,您可以使用函数 InstallPrinterDriverFromPackage function 显式安装它。这是一个使用它的例子:

HRESULT Install(LPCTSTR pszInfPath)
{
    HRESULT ret = InstallPrinterDriverFromPackage(
        NULL,
        pszInfPath, //path of the INF file in the Driver Store
        L"MyV4PrintDriver", //the name of the driver as in the INF file
        //L"Windows NT x86", 32 bit environment
        L"Windows x64",
        0); 

    if ( ret != S_OK )
    {
        _com_error err(ret);
        LPCTSTR errMsg = err.ErrorMessage();
        wcout << errMsg << endl;
    }
    return ret;
}

更多。您可以使用UploadPrinterDriverPackage函数将打印机驱动文件上传到驱动商店。