Prev: USB_RNDIS - multiple devices on the same interface
Next: LNK2001: unresolved external CreateControl
From: Metroickha on 2 Mar 2010 04:54 Hello everyone, I've been looking around for some printer/display driver which can hook a GDI function. I would like to understand how you can 'catch' a function like 'CDC.LineTo(...)' in an application and do something else like saving these instructions to perhaps a textfile. In the DDK I've found some samples like MSPlot (Printer), Mirror (Video). But they're so different from eachother, except from their initialization proces. Now I've read about the Source file, Makefile and the operation when createDC(...) is called. So the basic idea: In the application some_event() { CDC dc = createDC(...); dc.LineTo(...); } I would like to catch this dc.LineTo() and do something else with it, instead of letting it draw on screen. Does anyone know where I can find easy understandable information? Or where the hooking process is broken down in pieces?
From: Ivan Brugiolo [MSFT] on 2 Mar 2010 06:05 One of the best books on the topic is still (10+ years after its publication, and despite being out-of-print) Windows Graphics Programming: Win32 GDI and DirectDraw Hewlett-Packard Professional Books Feng Yuan That will take you in the details of why a driver for a printer and a display driver are the same (in a given context), and, you'll understand why what you are trying to do can be accomplished with a mirror driver. -- -- This posting is provided "AS IS" with no warranties, and confers no rights. Use of any included script samples are subject to the terms specified at http://www.microsoft.com/info/cpyright.htm "Metroickha" <Metroickha(a)discussions.microsoft.com> wrote in message news:5FC8E95B-9122-47D8-BBB5-F511FC888F40(a)microsoft.com... > Hello everyone, > > I've been looking around for some printer/display driver which can hook a > GDI function. I would like to understand how you can 'catch' a function > like > 'CDC.LineTo(...)' in an application and do something else like saving > these > instructions to perhaps a textfile. > > In the DDK I've found some samples like MSPlot (Printer), Mirror (Video). > But they're so different from eachother, except from their initialization > proces. > > Now I've read about the Source file, Makefile and the operation when > createDC(...) is called. > > So the basic idea: > > In the application > some_event() > { > CDC dc = createDC(...); > dc.LineTo(...); > } > > I would like to catch this dc.LineTo() and do something else with it, > instead of letting it draw on screen. > > Does anyone know where I can find easy understandable information? Or > where > the hooking process is broken down in pieces?
From: Metroickha on 4 Mar 2010 06:28 Thanks, but this books seems out-of-print. And not available here in the Netherlands. :( Any other options? "Ivan Brugiolo [MSFT]" wrote: > One of the best books on the topic is still > (10+ years after its publication, and despite being out-of-print) > Windows Graphics Programming: Win32 GDI and DirectDraw > Hewlett-Packard Professional Books > Feng Yuan > > That will take you in the details of why a driver for a printer and > a display driver are the same (in a given context), and, you'll understand > why > what you are trying to do can be accomplished with a mirror driver. > -- > > -- > This posting is provided "AS IS" with no warranties, and confers no rights. > Use of any included script samples are subject to the terms specified at > http://www.microsoft.com/info/cpyright.htm > > > "Metroickha" <Metroickha(a)discussions.microsoft.com> wrote in message > news:5FC8E95B-9122-47D8-BBB5-F511FC888F40(a)microsoft.com... > > Hello everyone, > > > > I've been looking around for some printer/display driver which can hook a > > GDI function. I would like to understand how you can 'catch' a function > > like > > 'CDC.LineTo(...)' in an application and do something else like saving > > these > > instructions to perhaps a textfile. > > > > In the DDK I've found some samples like MSPlot (Printer), Mirror (Video). > > But they're so different from eachother, except from their initialization > > proces. > > > > Now I've read about the Source file, Makefile and the operation when > > createDC(...) is called. > > > > So the basic idea: > > > > In the application > > some_event() > > { > > CDC dc = createDC(...); > > dc.LineTo(...); > > } > > > > I would like to catch this dc.LineTo() and do something else with it, > > instead of letting it draw on screen. > > > > Does anyone know where I can find easy understandable information? Or > > where > > the hooking process is broken down in pieces? > > . >
From: Ivan Brugiolo [MSFT] on 5 Mar 2010 13:51 You can try to find the book as used in the Amazon Marketplace, or equivalent services. That said, the landscape for mirror drivers is, more or less, the following: There are about 70+ commercial solutions that I know of built on the WDK 'mirror' example. (Anything from screen reader, screen magnifier, accessibility application, network projector, wannabe TS replacement, remote-access solutions). All of them seems to suffer from common classes of problems (device bitmap support, alphablend/transparentblt support) but, they get the job done. You can start from there, and, forget about intercepting NtGdi at a higher level in the stack. -- -- This posting is provided "AS IS" with no warranties, and confers no rights. Use of any included script samples are subject to the terms specified at http://www.microsoft.com/info/cpyright.htm "Metroickha" <Metroickha(a)discussions.microsoft.com> wrote in message news:9270E9BF-8E8C-43BF-84A7-B21A38FAA254(a)microsoft.com... > Thanks, but this books seems out-of-print. And not available here in the > Netherlands. :( Any other options? > > "Ivan Brugiolo [MSFT]" wrote: > >> One of the best books on the topic is still >> (10+ years after its publication, and despite being out-of-print) >> Windows Graphics Programming: Win32 GDI and DirectDraw >> Hewlett-Packard Professional Books >> Feng Yuan >> >> That will take you in the details of why a driver for a printer and >> a display driver are the same (in a given context), and, you'll >> understand >> why >> what you are trying to do can be accomplished with a mirror driver. >> -- >> >> -- >> This posting is provided "AS IS" with no warranties, and confers no >> rights. >> Use of any included script samples are subject to the terms specified at >> http://www.microsoft.com/info/cpyright.htm >> >> >> "Metroickha" <Metroickha(a)discussions.microsoft.com> wrote in message >> news:5FC8E95B-9122-47D8-BBB5-F511FC888F40(a)microsoft.com... >> > Hello everyone, >> > >> > I've been looking around for some printer/display driver which can hook >> > a >> > GDI function. I would like to understand how you can 'catch' a function >> > like >> > 'CDC.LineTo(...)' in an application and do something else like saving >> > these >> > instructions to perhaps a textfile. >> > >> > In the DDK I've found some samples like MSPlot (Printer), Mirror >> > (Video). >> > But they're so different from eachother, except from their >> > initialization >> > proces. >> > >> > Now I've read about the Source file, Makefile and the operation when >> > createDC(...) is called. >> > >> > So the basic idea: >> > >> > In the application >> > some_event() >> > { >> > CDC dc = createDC(...); >> > dc.LineTo(...); >> > } >> > >> > I would like to catch this dc.LineTo() and do something else with it, >> > instead of letting it draw on screen. >> > >> > Does anyone know where I can find easy understandable information? Or >> > where >> > the hooking process is broken down in pieces? >> >> . >>
From: MsdnSubscriber on 23 Mar 2010 03:01 can you explain a bit more the "common classes of problems"...I didn't get that part? "Ivan Brugiolo [MSFT]" wrote: > You can try to find the book as used in the Amazon Marketplace, > or equivalent services. > > That said, the landscape for mirror drivers is, more or less, the following: > There are about 70+ commercial solutions that I know of > built on the WDK 'mirror' example. > (Anything from screen reader, screen magnifier, accessibility application, > network projector, wannabe TS replacement, remote-access solutions). > All of them seems to suffer from common classes of problems > (device bitmap support, alphablend/transparentblt support) but, > they get the job done. > You can start from there, and, forget about intercepting NtGdi > at a higher level in the stack. > > -- > > -- > This posting is provided "AS IS" with no warranties, and confers no rights. > Use of any included script samples are subject to the terms specified at > http://www.microsoft.com/info/cpyright.htm > > > "Metroickha" <Metroickha(a)discussions.microsoft.com> wrote in message > news:9270E9BF-8E8C-43BF-84A7-B21A38FAA254(a)microsoft.com... > > Thanks, but this books seems out-of-print. And not available here in the > > Netherlands. :( Any other options? > > > > "Ivan Brugiolo [MSFT]" wrote: > > > >> One of the best books on the topic is still > >> (10+ years after its publication, and despite being out-of-print) > >> Windows Graphics Programming: Win32 GDI and DirectDraw > >> Hewlett-Packard Professional Books > >> Feng Yuan > >> > >> That will take you in the details of why a driver for a printer and > >> a display driver are the same (in a given context), and, you'll > >> understand > >> why > >> what you are trying to do can be accomplished with a mirror driver. > >> -- > >> > >> -- > >> This posting is provided "AS IS" with no warranties, and confers no > >> rights. > >> Use of any included script samples are subject to the terms specified at > >> http://www.microsoft.com/info/cpyright.htm > >> > >> > >> "Metroickha" <Metroickha(a)discussions.microsoft.com> wrote in message > >> news:5FC8E95B-9122-47D8-BBB5-F511FC888F40(a)microsoft.com... > >> > Hello everyone, > >> > > >> > I've been looking around for some printer/display driver which can hook > >> > a > >> > GDI function. I would like to understand how you can 'catch' a function > >> > like > >> > 'CDC.LineTo(...)' in an application and do something else like saving > >> > these > >> > instructions to perhaps a textfile. > >> > > >> > In the DDK I've found some samples like MSPlot (Printer), Mirror > >> > (Video). > >> > But they're so different from eachother, except from their > >> > initialization > >> > proces. > >> > > >> > Now I've read about the Source file, Makefile and the operation when > >> > createDC(...) is called. > >> > > >> > So the basic idea: > >> > > >> > In the application > >> > some_event() > >> > { > >> > CDC dc = createDC(...); > >> > dc.LineTo(...); > >> > } > >> > > >> > I would like to catch this dc.LineTo() and do something else with it, > >> > instead of letting it draw on screen. > >> > > >> > Does anyone know where I can find easy understandable information? Or > >> > where > >> > the hooking process is broken down in pieces? > >> > >> . > >> > . >
|
Pages: 1 Prev: USB_RNDIS - multiple devices on the same interface Next: LNK2001: unresolved external CreateControl |