[DllImport("winspool.drv", EntryPoint="OpenPrinter")]
public static extern int OpenPrinterA(string pPrinterName, ref int phPrinter,
ref PRINTER_DEFAULTS pDefault);
This is actually the sig for OpenPrinterA.
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);
The System.Management API allows for lots of printer stuff, but doesn't let you delete a print job in Win2K.