Prev: don't know how to make '\atlsd.lib'
Next: Plug-out usb wifi card, but it still exists at device management p
From: MsdnSubscriber on 25 Feb 2010 03:19 I'm new to driver development but have over 15 year experience programming in other areas. I want to create a software like maxivista (http://www.maxivista.com/) . Basically, what it does is create a virtual monitor and sends the video data over network to the client pc...which basically paints it in a window...giving the illusion of a second monitor. I've gone through the DDK and I know mirror driver is Not the solution in this case. So basically, I need to create a virtual video driver. But there is No instruction etc anywhere on how to create one. So how do I go on about making a virtual device driver? Do I have to handle all DirectX calls as well as GDI? Btw, can I just solve this problem by create a virtual monitor? If I create a virtual monitor, would that require the graphics card to support multiple monitors in the first place?
From: heejune on 25 Feb 2010 21:39 Let me give you few tips for good starters. You probably need to decide which platform to develop with, because it becomes very different ways depending on WDDM(for vista and later) and XPDM. And fortunately if you wanna work with XPDM then there're good resources you can refer to, such as codeproject's XPDM sample. I don't know why but the only WDDM sample, R200 has been removed from recent WDK sample. So you need to look up prior WDK version if you decided to support Vista and later. So far it seems WDK document and the post in this newsgroup are only references to get valuable information. Actually I'm struggling against quite simliar problem right now. Hope this could help.. On Feb 25, 5:19 pm, MsdnSubscriber <MsdnSubscri...(a)discussions.microsoft.com> wrote: > I'm new to driver development but have over 15 year experience programming in > other areas. I want to create a software like maxivista > (http://www.maxivista.com/) . Basically, what it does is create a virtual > monitor and sends the video data over network to the client pc...which > basically paints it in a window...giving the illusion of a second monitor.. > > I've gone through the DDK and I know mirror driver is Not the solution in > this case. So basically, I need to create a virtual video driver. But there > is No instruction etc anywhere on how to create one. > > So how do I go on about making a virtual device driver? Do I have to handle > all DirectX calls as well as GDI? > > Btw, can I just solve this problem by create a virtual monitor? If I create > a virtual monitor, would that require the graphics card to support multiple > monitors in the first place?
From: Ivan Brugiolo [MSFT] on 26 Feb 2010 15:28 To complement what other have already pointed out: There is no concept of `Virtual Monitor`. Both in XPDM and WDDM, the `monitor` comes out from the `child` enumeration of the underlying miniport. In XPDM, you can decide how many children you report to VideoPrt.sys from your VideoPortInitialize - HwGetVideoChildDescriptor. In WDDM, you can do that by reporting the VidPn - Targets (and by building the topology from your VidPn Sources as well) in DxgkDdiQueryChildRelations. > So how do I go on about making a virtual device driver? Do I have to > handle > all DirectX calls as well as GDI? For XPDM, there is way to only support basig GDI operations. For WDDM, you need to provider a rendering stack for D3D9L at least. > Btw, can I just solve this problem by create a virtual monitor? No, your problem cannot be solved by a virtual monitor alone. -- -- 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 "MsdnSubscriber" <MsdnSubscriber(a)discussions.microsoft.com> wrote in message news:F724035F-9F43-4415-8776-76488F9AF98B(a)microsoft.com... > I'm new to driver development but have over 15 year experience programming > in > other areas. I want to create a software like maxivista > (http://www.maxivista.com/) . Basically, what it does is create a virtual > monitor and sends the video data over network to the client pc...which > basically paints it in a window...giving the illusion of a second monitor. > > I've gone through the DDK and I know mirror driver is Not the solution in > this case. So basically, I need to create a virtual video driver. But > there > is No instruction etc anywhere on how to create one. > > So how do I go on about making a virtual device driver? Do I have to > handle > all DirectX calls as well as GDI? > > Btw, can I just solve this problem by create a virtual monitor? If I > create > a virtual monitor, would that require the graphics card to support > multiple > monitors in the first place?
From: Eugene Sukhodolin on 27 Feb 2010 00:35
> I've gone through the DDK and I know mirror driver is Not the > solution in > this case. So basically, I need to create a virtual video driver. > But there > is No instruction etc anywhere on how to create one. Actually, mirror drivers and virtual display drivers are very similar in implementation. We implemented both and the shared code base is about 97% of all code required for our virtual video driver. So it's not a bad idea to look at the mirror driver sample found in WDK. Alternatively, if you just need a ready to use solution and don't really want to do kernel-mode development, you can look at our virtual video driver: http://www.demoforge.com/sdk/dfquasar-sdk-1.2.74.0.zip -- Sincerely, Eugene Sukhodolin http://www.demoforge.com |