[WinPrnDev] Language Monitor2 problems

  • From: "Rocky Harting" <rocky.harting@xxxxxxxxxxxxxxxxxxxx>
  • To: <winprndev@xxxxxxxxxxxxx>
  • Date: Mon, 6 Oct 2008 09:09:00 -0600

Hi, 
I've been trying to convert our printer language monitor to use
InitializePrintMonitor2 from using the old InitializePrintMonitor function.
The WHQL document states that in order to get our driver signed, we need to
be using MONITOR2.
I'm not doing a port monitor, just language monitor only.  The language
monitor should use standard localmon or usbmon.
I'm sure that I have everything correct, but when I install the updated
driver using the "add printer wizard", I receive the error message: "The
specified print monitor does not have the required functions". I've checked
over and over again and I don't see what is missing. According to the WDK, I
am supplying all required functions. 
I know that my DLLEntry is being called, and I know that my new
InitializePrintMonitor2 is being called. 
Here is my Monitor2 structure: 
MONITOR2 Monitor2 = {
    sizeof(MONITOR2),
    NULL,                           // EnumPorts not supported
    NULL,                           // OpenPort  not supported
    lmOpenPortEx,
    lmStartDocPort,
    lmWritePort,
    lmReadPort,
    lmEndDocPort,
    lmClosePort,
    NULL,                           // AddPort not supported
    NULL,                           // AddPortEx not supported
    NULL,                           // ConfigurePort not supported
    NULL,                           // DeletePort not supported
    lmGetPrinterDataFromPort,       // GetPrinterDataFromPort,
    NULL,                           // SetPortTimeOuts not supported
    NULL,                           // XcvOpenPort not supported
    NULL,                           // XcvDataPort not supported
    NULL,                           // XcvClosePort not supported
    NULL,                           // ShutDown not supported
    NULL                            // SendRecvBidi not supported (not in
Win 2000?)
};

I just added "lmGetPrinterDataFromPort", even though I don't use it.  I
added it because I thought maybe there was a mistake in the WDK
documentation that said it was optional.  

I've stripped down InitializePrintMonitor2 to do basically nothing but
return the address of the above structure.

Thanks if you can help.  I've been stuck for several days on this.


---
Questions? First check the UndocPrint pages at 
http://www.undocprint.org/winspool

To unsubscribe, visit the List Server page at 
//www.freelists.org/list/winprndev

Other related posts: