[DllImport("winspool.drv", EntryPoint="SetJob")]
static extern int SetJobA(IntPtr hPrinter, int JobId,
int Level, ref byte pJob, int Command_Renamed);
Declare Function SetJob Lib "winspool.drv" (hPrinter As IntPtr, JobId As Integer,
Level As Integer, ByRef pJob As Byte, Command_Renamed As Integer)
Used by sample code: PRINTER_DEFAULTS
None.
How to cancel a print job:
int pHandle = 0;
PRINTER_DEFAULTS defaults = new PRINTER_DEFAULTS();
byte b = 0;
OpenPrinterA(printerName, ref pHandle, ref defaults);
SetJobA(pHandle, (int)jobID, 0, ref b, (int)Job_Control.Cancel);
ClosePrinter(pHandle);
Please add some!
The System.Management API allows for lots of printer stuff, but doesn't let you delete a print job in Win2K.