我正在尝试从Windows 驱动程序工具包 (WDK) 8.1 示例(位图示例)打印测试页。因为我没有得到任何打印输出,所以我在每次调用“DrvWriteSpoolBuf”之后放置了一个“GetLastError”调用:
dwWritten = pDevObj->pDrvProcs->DrvWriteSpoolBuf(pDevObj, (void*)&(pOemPDEV->bmFileHeader), sizeof(BITMAPFILEHEADER));
DWORD pdwReturn = GetLastError();
if (pdwReturn != ERROR_SUCCESS)
ERR("OEMEndDoc: Error printing=%ld\n", pdwReturn);
我收到错误 183 !!! 从系统错误代码:
ERROR_ALREADY_EXISTS
183 (0xB7)
Cannot create a file when that file already exists.
上面调用的替代版本
DWORD res = pOemPDEV->pOEMHelp->DrvWriteSpoolBuf(pDevObj, &(pOemPDEV->bmFileHeader), sizeof(BITMAPFILEHEADER), &dwWritten);
我得到 res=E_FAIL
(为使用粗体道歉 - 评论似乎忽略了这个结果)
我怎样才能从打印中得到这样的错误?(到 LPT1 或 FILE: 端口)
我已经通过将我尝试发送到后台处理程序的确切内容保存到位图来测试代码,位图已正确创建。
...我很抱歉没有包含更多代码,它可以在我上面发布的链接中找到... Windows Driver Kit (WDK) 8.1 Samples
Windows Driver Kit (WDK) 8.1 Samples\OEM 打印机自定义插件 Samples\C++\bitmap