Re: Configuring port monitor UI DLL programmatically?

Tech-Archive recommends: Repair Windows Errors & Optimize Windows Performance

From: Philippe Auphelle (remove.this.stuff.pauphelle_at_wanadoo.fr)
Date: 11/19/04


Date: Fri, 19 Nov 2004 09:48:54 +0100

Bobby,

Thanks to you, I finally found it, documented in the XcVDataPort,
under the "MonitorUI" Data Name String.
I had looked for hours for that piece of info in the whole doc set,
and had somehow missed it.

IMHO, the way to link the Monitor UI DLL to the rest should also be
documented under "8.2.2 Port Monitors", near the place that explains
how to register a Port Monitor ("The print folder assigns ports to
port monitors by calling the platform SDK documentation's AddPrinter
function").

Now the whole logic is starting to make sense.
I think that the documentation would also benefit from a good
chronological description of the flow of events that take place
between the various spool modules when a new monitor and a new port
are created.

Last but not least, I didn't find either a description of the what
triggers the creation of a second, third,... instance of the same
monitor.
Ditto for the relation between those instances and their respective
ports: Are the ports names supposed to be unique within the system, or
should they just be unique within the monitor instance that creates
them, whatever the monitor instance represents?

If you know the answers to those two latter questions, and if I'm not
abusing your patience, I'd love some clues!

In any case, thanks for the solution to the UI DLL linkage.
Twas really starting to get me mad. /Ph.

On Fri, 19 Nov 2004 02:01:48 GMT, bobbym@online.microsoft.com (Bobby
Mattappally [MS]) wrote:

>Hi Philippe,
>
>The name of the UI dll is specified in the server dll.
>Please look at the xcv.c file in the localmon ddk sample.
>Also see the ddk help on XcvDataPort function.
>
>
>
>--------------------
>From: Philippe Auphelle <remove.this.stuff.pauphelle@wanadoo.fr>
>Subject: Configuring port monitor UI DLL programmatically?
>
>Hi,
>
>I'm writing a port monitor.
>I understand that I can programmatically declare my monitor (the port
>monitor server DLL) to the OS using the AddMonitor API, and that the
>spooler will find the DLL in the System32 dir.
>
>But then, I don't see how the spooler can figure out the name of the
>port monitor UI DLL (aka Port Monitor Client DLL) to the server DLL...
>apart from appending 'UI' to the name of the PM Server DLL, but I
>didn't find this explicitely mentionned anywhere.
>
>Could anyone shed some light?
>
>TIA! /Ph.
>
>
>
>
>
>Hope this helps.
>
>Thank you,
>Bobby Mattappally
>Microsoft
>
>This posting is provided "AS IS" with no warranties, and confers no rights.



Relevant Pages

  • Re: Port Monitor under Windows XP
    ... > Mircosoft has changed the architecture of Port Monitors under Windows ... > If I use a Windows NT 4.0 Port Monitor everything works fine. ... > spooler does not call Addport in the port monitor server dll. ...
    (microsoft.public.development.device.drivers)
  • RE: Configuring port monitor UI DLL programmatically?
    ... Have you tried calling AddMonitor again for the client DLL? ... > I'm writing a port monitor. ...
    (microsoft.public.development.device.drivers)
  • RE: Printing a .prn file
    ... I'm running Windows XP Home ... which has all of the printer drivers stored ... BJ Language Monitor ... Check under the Local Port Monitor, make sure that the value "Driver: ...
    (microsoft.public.windowsxp.help_and_support)
  • RE: Spoolsv.exe error
    ... I have a friend whos friend installed some 3rd party fax ... Now the printer refuses to work. ... It is also possible that this fax software installed a port monitor that is ...
    (microsoft.public.win2000.printing)
  • Port Monitor: referencing external libraries in sample code
    ... Basically I am migrating from a previous Port Monitor( ... visual studio project) which implements the MONITOR structure to the recent ... Also added the path to the header file in the INCLUDES ...
    (microsoft.public.development.device.drivers)