[WinPrnDev] Re: Language Monitor2 problems

  • From: "Rocky Harting" <rocky.harting@xxxxxxxxxxxxxxxxxxxx>
  • To: <winprndev@xxxxxxxxxxxxx>
  • Date: Tue, 7 Oct 2008 13:57:29 -0600

DOH, now I feel stupid! I guess it all depends on where in the DDK a person
reads from.  I just found an area that says its required.

-----Original Message-----
From: winprndev-bounce@xxxxxxxxxxxxx
[mailto:winprndev-bounce@xxxxxxxxxxxxx]On Behalf Of Rocky Harting
Sent: Monday, October 06, 2008 12:55 PM
To: winprndev@xxxxxxxxxxxxx
Subject: [WinPrnDev] Re: Language Monitor2 problems


Thank you for your help.  That's just what I was attempting this morning.
It appears that Language Monitors require the "ShutDown" function, even
though the DDK falsely claims that function is optional.


-----Original Message-----
From: winprndev-bounce@xxxxxxxxxxxxx
[mailto:winprndev-bounce@xxxxxxxxxxxxx]On Behalf Of Steve Friedl
Sent: Monday, October 06, 2008 10:53 AM
To: winprndev@xxxxxxxxxxxxx
Subject: [WinPrnDev] Re: Language Monitor2 problems


On Mon, Oct 06, 2008 at 09:09:00AM -0600, Rocky Harting wrote:
> 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 don't know which functions it's not happy with, but why not make
up some dummy functions and populate them all: see which one makes the error
go away?


>
> 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

--
Stephen J Friedl | Security Consultant |  UNIX Wizard  |   +1 714 544-6561
www.unixwiz.net  | Tustin, Calif. USA  | Microsoft MVP | steve@xxxxxxxxxxx
---
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


---
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


---
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: