why can not I get information(eg. dmCopies) from JOB_INFO_2 in Win98


I am developing a Printer Monitor Tool, and I need to get detailed
information of every printing job.
According to Microsoft support site:HOWTO: Get the Status of a Printer and a
Print Job
I use EnumJobs API to get what I want. The source works well in Win2K, but
It does not work in win98.
That code is like below:

/* Get the list of jobs. */

if (!EnumJobs(hPrinter, 0,
pPrinterInfo->cJobs, 2,
cByteNeeded, (LPDWORD)&cByteUsed,
// free memory and return

* Return the information.
*pcJobs = nReturned;
*pStatus = pPrinterInfo->Status;
*ppJobInfo = pJobStorage;

For example:pcJobs = 1
In win2k, ppJobInfo returns a JOB_INFO_2 structure and
(JOB_INFO_2*)->pDevMode returns all the information that I want
In Win98, ppJobInfo also returns a JOB_INFO_2 structure,but
(JOB_INFO_2*)->pDevMode always NULL, and I can not get any information in
DEVMODE like dmCopies etc.

Who can help me or give me any advice?