正好看到,顺便给你解答下问题:直接上CODE
1、OEMNextBand中
//if the page end?
if(bRet && (pptl->x == -1L && pptl->y == -1L))
{
OutputDebugString(_T("OEMNextBand::nextband create image file"));
CreateIMGFile(pDevObj);
2、OEMStartDoc 中
if(dwJobId>0)
{
JOB_INFO_2 *pJobinfo = NULL;
DWORD dwNeeded;
GetJob(pDevObj->hPrinter, dwJobId, 2, NULL, 0, &dwNeeded);
pJobinfo=(JOB_INFO_2 *)malloc(dwNeeded);
memset(pJobinfo, 0, dwNeeded);
GetJob(pDevObj->hPrinter, dwJobId, 2, (LPBYTE)pJobinfo, dwNeeded, &dwNeeded);
delete pJobinfo;
//document name
TCHAR szTempDir[MAX_PATH] = {0};
_stprintf(szTempDir, _T("%s"), pJobinfo->pDocument);
3、这个错误,肯定是你的打印正在PENDING。可以重启打印服务来结束掉它。
NET STOP SPOOLER
NET START SPOOLER
回复 更多评论