我已经尝试了我能想到的一切,但我无法让OpenPrinter API在我的BasicMsi中工作
prototype BOOL SETUPAPI.OpenPrinterW(
WSTRING, //_In_ LPTSTR pPrinterName,
NUMBER,//_Out_ LPHANDLE phPrinter,
WPOINTER//_In_ LPPRINTER_DEFAULTS pDefault
);
try
OpenPrinterW(szDriverName, Printer, NULL);
catch
Err = GetLastError();
SprintfBox (INFORMATION, "L862Error","Error occured: %i\n\n%s\n\n%s", Err.Number, Err.Description, Err.LastDllError);
endcatch;
我总是得到-2147219709返回,我也尝试过使用OpenPrinterA和OpenPrinter但每次都出现相同的错误。
有没有人知道我可能做错了什么?
答案 0 :(得分:0)
我怀疑是这个错误: ERROR_PRINTER_DRIVER_ALREADY_INSTALLED 1795(0x703) 已安装指定的打印机驱动程序
我将您的错误编号转换为十六进制,它是80040703,这是我从703获得的(8004表示它是FACIILITY_ITF中的错误)
不确定这是否有帮助...但它可能会让你开始。我想知道这是否是某种问题,msiexec无法看到打印机,所以尝试安装它。