Judging from the NT4 spooler source, it doesn’t look like returning
FALSE from DrvSplEndPage will actually terminate the job while it is
being spooled. I am not sure what the reason for this is. Maybe you can
try to do an abort on the job instead of just returning FALSE.
I am not aware of any spooler-specific documentation that is
available…other than what is present in the DDK docs.
This posting is provided “AS IS” with no warranties, and confers no
rights.
-----Original Message-----
From: Vaibhav Kalia [mailto:xxxxx@newgen.co.in]
Sent: Wednesday, May 01, 2002 10:14 AM
To: NT Developers Interest List
Subject: [ntdev] RE: printer-spooler issues
ashwin,
ya the OS is win nt 4.0
i have a seperate kernel mode and user mode driver (which is not the
implemntation of unidrv)
here is Algo of endpage:
-
if page is first
display file save dialog box.
-
else
append the page number to name entered when the first page was
completed. 3. convert the DIB into the output file say tif etc.
-
if step 3 fails then return FALSE.
the error comes from step 3 that prompts me to return FALSE.
the problem i face is if the print job is spooled fully it keeps on
processing the rest of pages (say error occured on page 5 and total
number is 100, then spooler will be processing the pages 6 to 100 that
takes time and still no output comes as error had occured ) now for the
same situation if the spooling is there (the status at spooler is
“Spooling”) and if my step 3 fails for a page, the spooling immediately
stops and the print job is deleted right away.
i hope i able to express myself more clearly now…
are you aware of some links for spooler related information… thanx &
regards vaibhav
----- Original Message -----
From: “Ashwin Needamangala”
To: “NT Developers Interest List”
Sent: Wednesday, May 01, 2002 10:08 PM
Subject: [ntdev] RE: printer-spooler issues
> I am not sure if I understand your problem correctly. What is the
> reason for using the DrvSplxxx functions? Are you writing a UMPD for
> NT4? In any case, from your description it sounds like you will
> encounter only case 1 since you return FALSE in DrvSplEndPage which
> occurs before the print to dialog.
>
> - Ashwin
>
> This posting is provided “AS IS” with no warranties, and confers no
> rights.
>
>
> -----Original Message-----
> From: Vaibhav Kalia [mailto:xxxxx@newgen.co.in]
> Sent: Wednesday, May 01, 2002 5:40 AM
> To: NT Developers Interest List
> Subject: [ntdev] printer-spooler issues
>
>
> dear all
> in my virtual printer driver, when i generate output as images,
>
> if i am printing say 600 pages, the print to dialog box (ie save to
> image) comes after DrvSplEndPage() is executed in the user mode
> driver, now if the output disk has no space left for saving output
> file, i return FALSE from
> DrvSplEndPage()
> now consider the following scenarios:
>
> CASE 1. if the spooler is still spooling the print job (spooler
> displays the status as “Spooling”), and if FALSE is returned, the
> print job is immediately deleted.
>
> CASE 2. in case i wait for spooling to finish, (now the spooler
> displays the status as “Printing”), and FALSE is returned, the print
> job still remains in the spooler queue, and all the pages are getting
> processed!
>
> why is this behaviour? the job should be deleted immediately as it is
> in the case 1.
>
> any suggestions…
> also any links for information on working of spoolers will be highly
> appreciated.
>
> best regards
> vaibhav
>
>
> —
> You are currently subscribed to ntdev as: xxxxx@microsoft.com To
> unsubscribe send a blank email to %%email.unsub%%
>
> —
> You are currently subscribed to ntdev as: xxxxx@newgen.co.in To
> unsubscribe send a blank email to %%email.unsub%%
—
You are currently subscribed to ntdev as: xxxxx@microsoft.com To
unsubscribe send a blank email to %%email.unsub%%