下面是我尝试的代码片段:
PRINTER_INFO_2 pi;
BOOL Result = FALSE;
HANDLE pHd;
memset(&pi, 0, sizeof(PRINTER_INFO_2));
pi.pPrinterName = L"RxXPSDrv";
pi.pDriverName = L"XPSDrv Sample Driver";
// Select Share Name
pi.pShareName = L"MyPrinter";
// Select Server Name
pi.pServerName = NULL;
// Select Port Name
pi.pPortName = L"COM3:";
//pi.pPortName = L"C:\\Users\\admin\\Desktop\\a1.xps";
pi.pSecurityDescriptor = NULL;
// Select Print Processor
pi.pPrintProcessor = L"winprint";
// Select Attributes
pi.Attributes = PRINTER_ATTRIBUTE_DO_COMPLETE_FIRST | PRINTER_ATTRIBUTE_LOCAL;
// Set Priority
pi.Priority = 1;
// Call the function AddPrinter
pHd = AddPrinter(NULL, 2, (LPBYTE)&pi);
此处@ pi.pPortName 我需要提供 C:\ Users \ admin \ Desktop \ a1.xps ,但它无法正常工作且打印机未添加。使用 COM3 ,它可以正常工作。 谁能告诉我怎么能这样做?如何提供 XPS 到 pi.pPortName 的完整路径?
答案 0 :(得分:1)
您必须先添加“本地端口”“C:\ Users \ admin \ Desktop \ a1.xps”。我只是尝试了它的工作原理。添加端口的一些代码:Adding-a-Local-Port-through-XcvData-and-C