We have written Printer Management Software for tracking print jobs. We also need to have it poll printers for toner level status and error messages (paper jam, open tray, no paper, etc). We thought that WMI would do this and indeed there is an interface for it, but it does not seem to work properly and only provides basic status info.
At this point we think if we could use PJL on PJL-enable bi-directional printers, that would cover us for most situations, and my client would be happy with that. The problem is we need to use this on printers connected locally to a computer via USB and via Parallel.
So what we need are functions written in [url removed, login to view] (not C#) that can correctly determine when there is a low toner message, as well as common error messages from PJL-enabled bidirectional printers. We will then integrate these functions into our software.