I am developing a virtual printer driver. i used ddk provided sample gpd files to generate my minidriver. i want to capture the raw data instead of EMF data and send it to file rather than printer port. I used a rendering plug-in sample (src/print/oemdll/oemuni) and tried to modify accordingly. i changed the inf file and included the plug-in dll and installed the drivers. I tried to trace out by including some debugging messages, but i dint find my dllentry being called. Do i need to tell my mini driver to include and load the rendering plug-in also.
Can any one help me out to solve this problem?
Do i really need to implement a rendering plug-in?
Is there any sample available to capture the raw data?
Thanks & Regards,
Sush
Do you Yahoo!?
Yahoo! Mail - Find what you need with new enhanced search. Learn more.
Extracting EMF data is not supported by Windows/Microsoft. If you want to do
it anyway, you can find informations on how to do this at http://undocprint.printassociates.com/ http:</http:> Here you can also find a link to a
open source project.
Regards,
Christoph Lindemann
-----Original Message-----
From: Sushma Yella [mailto:xxxxx@yahoo.com]
Sent: Monday, January 03, 2005 2:32 PM
To: Windows System Software Devs Interest List
Subject: [ntdev] Virtual Printer Driver
Hello All,
A very happy new year to all of you.
I am developing a virtual printer driver. i used ddk provided sample gpd
files to generate my minidriver. i want to capture the raw data instead of
EMF data and send it to file rather than printer port. I used a rendering
plug-in sample (src/print/oemdll/oemuni) and tried to modify accordingly. i
changed the inf file and included the plug-in dll and installed the drivers.
I tried to trace out by including some debugging messages, but i dint find
my dllentry being called. Do i need to tell my mini driver to include and
load the rendering plug-in also.
Can any one help me out to solve this problem?
Do i really need to implement a rendering plug-in?
Is there any sample available to capture the raw data?
Thanks for the information and link. Im trying to capture the raw data. Can you tell me is this only possible by extracting the EMF file or can we caputure the data by writing a rendering plug-in. Any suggestions would help me?
Thanks & Regards,
Sush
Christoph Lindemann wrote: Hi Sush,
Extracting EMF data is not supported by Windows/Microsoft. If you want to do it anyway, you can find informations on how to do this at http://undocprint.printassociates.com/ Here you can also find a link to a open source project.
Regards, Christoph Lindemann -----Original Message----- From: Sushma Yella [mailto:xxxxx@yahoo.com] Sent: Monday, January 03, 2005 2:32 PM To: Windows System Software Devs Interest List Subject: [ntdev] Virtual Printer Driver
Hello All,
A very happy new year to all of you.
I am developing a virtual printer driver. i used ddk provided sample gpd files to generate my minidriver. i want to capture the raw data instead of EMF data and send it to file rather than printer port. I used a rendering plug-in sample (src/print/oemdll/oemuni) and tried to modify accordingly. i changed the inf file and included the plug-in dll and installed the drivers. I tried to trace out by including some debugging messages, but i dint find my dllentry being called. Do i need to tell my mini driver to include and load the rendering plug-in also.
Can any one help me out to solve this problem?
Do i really need to implement a rendering plug-in?
Is there any sample available to capture the raw data?
You are right in attempting to write a rendering plug-in. But you
shouldn’t be concerned with the format of the data (RAW vs. EMF) since
that is not the concern of the rendering module. The data format is only
the spool file format and technically has nothing to do with the
rendering itself. It is only the print processor that is concerned with
the format of the data that is spooled.
In any case, in order to write a virtual printer driver, you should
write a rendering plug-in that implements the
IPrintOemUni::ImageProcessing function. There is a bitmap driver sample
that prints to a bmp file that is slated to be included in the Longhorn
Driver Kit. But since that has not been released as yet, let me outline
the approach I have used in the Longhorn bitmap driver sample.
The bitmap driver implements the ImageProcessing callback in order to
get access to bitmap data one band at a time. The driver’s
implementation of ImageProcessing buffers the band data every time it is
called. The function is also responsible for filling in the
BITMAPINFOHEADER and COLORTABLE structures that are necessary for
dumping the data out to a bitmap file. The bitmap driver also implements
the OEMEndDoc DDI hook in order to dump the buffered bitmap data out to
the spooler at the end of the print job. The driver’s implementation of
OEMEndDoc dumps the headers first and then the buffered data.
Hope this helps.
Ashwin
This posting is provided “AS IS” with no warranties, and confers no
rights.
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Sushma Yella
Sent: Monday, January 03, 2005 9:25 AM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] Virtual Printer Driver
Hi Christoph,
Thanks for the information and link. Im trying to capture the raw data.
Can you tell me is this only possible by extracting the EMF file or can
we caputure the data by writing a rendering plug-in. Any suggestions
would help me?
Thanks & Regards,
Sush
Christoph Lindemann wrote:
Hi Sush,
Extracting EMF data is not supported by Windows/Microsoft. If you want to do it anyway, you can find informations on how to do this at http://undocprint.printassociates.com/ Here you can also find a link to a open source project.
Regards, Christoph Lindemann
-----Original Message----- From: Sushma Yella [mailto:xxxxx@yahoo.com] Sent: Monday, January 03, 2005 2:32 PM To: Windows System Software Devs Interest List Subject: [ntdev] Virtual Printer Driver
Hello All,
A very happy new year to all of you.
I am developing a virtual printer driver. i used ddk provided sample gpd files to generate my minidriver. i want to capture the raw data instead of EMF data and send it to file rather than printer port. I used a rendering plug-in sample (src/print/oemdll/oemuni) and tried to modify accordingly. i changed the inf file and included the plug-in dll and installed the drivers. I tried to trace out by including some debugging messages, but i dint find my dllentry being called. Do i need to tell my mini driver to include and load the rendering plug-in also.
Can any one help me out to solve this problem?
Do i really need to implement a rendering plug-in?
Is there any sample available to capture the raw data?
Hi Gents, I’m writing a Virtual Printer Driver. In my Rendering DLL I always
receive a 8PP / 24BPP colored Bitmap. Is it possible to tell GDI that I need
a Grayscale Bitmap or do I have to do this by my own.
There are several methodes to extract the EMF data. The PrintMirror project
is done by doing some plugins for unidrv, we have implemented it by building
a complete driver from scratch, others have implemented it by using custom
print processors. They all have their different limitations like complexity,
terminal server support, sharing… The most compatible way is (in my point
of view) implementing a driver from scratch, but this is also the far most
complex way.
If you want to do it with unidrv, I suggest you take a look at PrintMirror.
Best regards,
Christoph Lindemann
-----Original Message-----
From: Sushma Yella [mailto:xxxxx@yahoo.com]
Sent: Monday, January 03, 2005 6:25 PM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] Virtual Printer Driver
Hi Christoph,
Thanks for the information and link. Im trying to capture the raw data. Can
you tell me is this only possible by extracting the EMF file or can we
caputure the data by writing a rendering plug-in. Any suggestions would help
me?
Thanks & Regards,
Sush
Christoph Lindemann wrote:
Hi Sush,
Extracting EMF data is not supported by Windows/Microsoft. If you want to do it anyway, you can find informations on how to do this at http://undocprint.printassociates.com/ http:</http:> Here you can also find a link to a open source project.
Regards, Christoph Lindemann
-----Original Message----- From: Sushma Yella [mailto:xxxxx@yahoo.com] Sent: Monday, January 03, 2005 2:32 PM To: Windows System Software Devs Interest List Subject: [ntdev] Virtual Printer Driver
Hello All,
A very happy new year to all of you.
I am developing a virtual printer driver. i used ddk provided sample gpd files to generate my minidriver. i want to capture the raw data instead of EMF data and send it to file rather than printer port. I used a rendering plug-in sample (src/print/oemdll/oemuni) and tried to modify accordingly. i changed the inf file and included the plug-in dll and installed the drivers. I tried to trace out by including some debugging messages, but i dint find my dllentry being called. Do i need to tell my mini driver to include and load the rendering plug-in also.
Can any one help me out to solve this problem?
Do i really need to implement a rendering plug-in?
Is there any sample available to capture the raw data?
Hi Lela,
I think you have to modify the header of the bitmap which indentifies it as a gray scale image or color image. MSDN provides the structure of this header.
Thanks and Regards
Ramesh
----- Original Message -----
From: Lela <01157026@fh-wels.at>
To: “Windows System Software Devs Interest List” Subject: [ntdev] Virtual Printer Driver Date: Tue, 4 Jan 2005 21:07:54 +0100
> > Hi Gents, I’m writing a Virtual Printer Driver. In my Rendering DLL I always > receive a 8PP / 24BPP colored Bitmap. Is it possible to tell GDI that I need > a Grayscale Bitmap or do I have to do this by my own. > > Yours Lela > > > > — > Questions? First check the Kernel Driver FAQ at > http://www.osronline.com/article.cfm?id=256 > > You are currently subscribed to ntdev as: xxxxx@lycos.com > To unsubscribe send a blank email to xxxxx@lists.osr.com
Hi All,
I am writing a Microsoft Universal Based Printer Device Driver…
Presently I don’t have any test Printer. Hence I want to capture the rendered image as
Bitmap…I wrote rendering plug-in To capture the image and I am getting Bitmap as bottom-up DIB that to not the full page…But I want to capture the image as it is…anybody help in this regard, ( I am doing all this in IOemUni::ImageProcessing module)
I hope somebody might help me as early as possible…
advanced Thanks
Vijji
Do you Yahoo!?
Yahoo! Mail - Find what you need with new enhanced search. Learn more.
I guess you are creating GDI managed surface using EngCreateBitmap.
You can refer EngcreateBitmap in NT DDK documentation.
To get top down image you need to set fl as BMF_TOPDOWN.
Also to get the whole page in a single bitmap you need to specify sizl as
the page size in pixels.
Cheers
Rahul
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Vijay Raj
Sent: Tuesday, January 11, 2005 10:54 AM
To: Windows System Software Devs Interest List
Subject: [ntdev] Virtual Printer Driver
Hi All,
I am writing a Microsoft Universal Based Printer Device Driver…
Presently I don’t have any test Printer. Hence I want to capture the
rendered image as
Bitmap…I wrote rendering plug-in To capture the image and I am getting
Bitmap as bottom-up DIB that to not the full page…But I want to
capture the image as it is…anybody help in this regard, ( I am
doing all this in IOemUni::ImageProcessing module)
I hope somebody might help me as early as possible…
Hi Rahul,
Thank U for Ur reply…
I am capturing the image in IOemUni::ImageProcessing module of the OEMUNI renderer Plug-in of DDK…
I am not at all touching the Printer Graphics DLL functions…
into IOemUni::ImageProcessing module I’ll be getting bitmap image by the UniDrv
I am just trying to capture that bitmap image to a file…
As I told U in my last mail I am getting it in bottom-up form and not all the page information…
I tried with ur reply But problem is I can not have the control over EngXXXXX functions with renderer Plug-in…
couls U please help me out in achieving this task…
thanks in advance
Vijji
Rahul wrote: v:* {behavior:url(#default#VML);}o:* {behavior:url(#default#VML);}w:* {behavior:url(#default#VML);}.shape {behavior:url(#default#VML);} Hi Vijay,
I guess you are creating GDI managed surface using EngCreateBitmap.
You can refer EngcreateBitmap in NT DDK documentation.
To get top down image you need to set fl as BMF_TOPDOWN.
Also to get the whole page in a single bitmap you need to specify sizl as the page size in pixels.
Cheers
Rahul
---------------------------------
From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of Vijay Raj Sent: Tuesday, January 11, 2005 10:54 AM To: Windows System Software Devs Interest List Subject: [ntdev] Virtual Printer Driver
Hi All,
I am writing a Microsoft Universal Based Printer Device Driver…
Presently I don’t have any test Printer. Hence I want to capture the rendered image as
Bitmap…I wrote rendering plug-in To capture the image and I am getting Bitmap as bottom-up DIB that to not the full page…But I want to capture the image as it is…anybody help in this regard, ( I am doing all this in IOemUni::ImageProcessing module)
I hope somebody might help me as early as possible…
You are currently subscribed to ntdev as: unknown lmsubst tag argument: ‘’ To unsubscribe send a blank email to xxxxx@lists.osr.com __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com
Hi All,
I am getting the Bitmap Image in a right manner Now…
But still there is problem in the Plug-in…
That is I am not getting the whole page in my bitmap…
In my Plug-in Banding is enabled…and my IPrintOemUni::ImageProcessing
module is called only once…I don’t know what to do…
can anybody help in this regard
thanks in advance
Vijji
Rahul wrote: v:* {behavior:url(#default#VML);}o:* {behavior:url(#default#VML);}w:* {behavior:url(#default#VML);}.shape {behavior:url(#default#VML);} Hi Vijay,
I guess you are creating GDI managed surface using EngCreateBitmap.
You can refer EngcreateBitmap in NT DDK documentation.
To get top down image you need to set fl as BMF_TOPDOWN.
Also to get the whole page in a single bitmap you need to specify sizl as the page size in pixels.
Cheers
Rahul
---------------------------------
From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of Vijay Raj Sent: Tuesday, January 11, 2005 10:54 AM To: Windows System Software Devs Interest List Subject: [ntdev] Virtual Printer Driver
Hi All,
I am writing a Microsoft Universal Based Printer Device Driver…
Presently I don’t have any test Printer. Hence I want to capture the rendered image as
Bitmap…I wrote rendering plug-in To capture the image and I am getting Bitmap as bottom-up DIB that to not the full page…But I want to capture the image as it is…anybody help in this regard, ( I am doing all this in IOemUni::ImageProcessing module)
I hope somebody might help me as early as possible…
Hi All,
I am getting the Bitmap Image in a right manner Now…
But still there is problem in the Plug-in…
That is I am not getting the whole page in my bitmap…
In my Plug-in Banding is enabled…and my IPrintOemUni::ImageProcessing
module is called only once…I don’t know what to do…
can anybody help in this regard
thanks in advance
Vijji
Rahul wrote: v:* {behavior:url(#default#VML);}o:* {behavior:url(#default#VML);}w:* {behavior:url(#default#VML);}.shape {behavior:url(#default#VML);} Hi Vijay,
I guess you are creating GDI managed surface using EngCreateBitmap.
You can refer EngcreateBitmap in NT DDK documentation.
To get top down image you need to set fl as BMF_TOPDOWN.
Also to get the whole page in a single bitmap you need to specify sizl as the page size in pixels.
Cheers
Rahul
---------------------------------
From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of Vijay Raj Sent: Tuesday, January 11, 2005 10:54 AM To: Windows System Software Devs Interest List Subject: [ntdev] Virtual Printer Driver
Hi All,
I am writing a Microsoft Universal Based Printer Device Driver…
Presently I don’t have any test Printer. Hence I want to capture the rendered image as
Bitmap…I wrote rendering plug-in To capture the image and I am getting Bitmap as bottom-up DIB that to not the full page…But I want to capture the image as it is…anybody help in this regard, ( I am doing all this in IOemUni::ImageProcessing module)
I hope somebody might help me as early as possible…