我跟着this Microsoft tutorial开发V4 printer driver
。使用INF文件安装后没有列出V4打印机驱动程序
Here是完整的工作解决方案。
而对于安装我只需右键单击INF文件并单击安装。
但司机并没有在打印管理列表。
可能是什么问题?我是以错误的方式进行安装还是存在代码问题?
我尝试将日志记录添加到驱动程序源代码中的所有函数。似乎没有人写。所以驱动程序没有安装它自己。
仅供参考:我已将PC用于测试签名模式,并且驱动程序签名强制也被禁用。
我跟着this Microsoft tutorial开发V4 printer driver
。使用INF文件安装后没有列出V4打印机驱动程序
Here是完整的工作解决方案。
而对于安装我只需右键单击INF文件并单击安装。
但司机并没有在打印管理列表。
可能是什么问题?我是以错误的方式进行安装还是存在代码问题?
我尝试将日志记录添加到驱动程序源代码中的所有函数。似乎没有人写。所以驱动程序没有安装它自己。
仅供参考:我已将PC用于测试签名模式,并且驱动程序签名强制也被禁用。
经过大量的挖掘,我找到了解决方案。我分享这个,以便面对类似问题的人可以节省很多努力。
第一件事。在设备驱动程序安装中,有两件事正在发生。
%windir%\System32\DriverStore\FileRepository\
这是传统的路径。
因此,当您尝试使用INF文件来安装,驱动程序文件被上传到驱动程序存储区的文件存储库。我THI如果在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函数将打印机驱动程序文件上传到驱动程序存储区。