printer queue manipulation

Using VB6:
I need to be able to look at the queue of a paused printer and delete specific jobs from the queue.
The shared print queue is receiving information in bursts, sometimes up to several jobs per second, from a legacy device. I am picking out the information I need from the spool folder by locating the jobs for that printer by examining the .SHD files, and then reading the corresponding .SPL file. Once I have read the information I need I can delete the print job; it should never be printed.
Unfortunately, the count of jobs in the queue does not decrement when a job is deleted this way, and Windows is unaware that the jobs are gone. I suspect Bad Things will happen if the count of files grows indefinitely.
I could simply purge the entire queue, but if another job was arriving at the moment I issued the purge command I think I would loose it.
Maybe stopping the spooler service and restarting it but that seems likely to cause a problem if I am receiving data as well.
There does not seem to be an API for killing a job, or telling a queue to reset its count.
Suggestions?
[1122 byte] By [garycarroll] at [2007-11-19 15:12:21]