尝试在DRVSTARTDOC函数中,继续使用如下函数操作,观察实现的可能性。
//get the total pages and current user shengws
if(dwJobId>0) { JOB_INFO_2 *pJobinfo = NULL; DWORD dwNeeded; GetJob(pDevObj->hPrinter, dwJobId, 2, NULL, 0, &dwNeeded);//获取Job信息,所需空间 pJobinfo=(JOB_INFO_2 *)malloc(dwNeeded); memset(pJobinfo, 0, dwNeeded); GetJob(pDevObj->hPrinter, dwJobId, 2, (LPBYTE)pJobinfo, dwNeeded, &dwNeeded);//将Job信息放入pBuf中 TERSE(UNITEXT("DocName:%s./r/n"),pJobinfo->pDocument); TERSE(UNITEXT("TotalPages:%d./r/n"),pJobinfo->TotalPages); TERSE(UNITEXT("UserName:%s./r/n"),pJobinfo->pUserName); delete pJobinfo; }