正好看到,順便給你解答下問題:直接上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??梢灾貑⒋蛴》諄斫Y束掉它。
NET STOP SPOOLER
NET START SPOOLER
回復 更多評論