This is my very first post and need help regarding basic problem.
I am working on Video Miniport Driver for Vista which communicates with DxgKrnl like VidePort is XP. I want to inform my user mode app about some event from Miniport Driver. I can use Escape call from User mode app to get info to Miniport driver but that will require me to keep some user mode thread waiting or some thread polling. I want some asyncronous notification from Miniport Driver to User mode app. I am looking for DTM favourable way with which i can acheive this.
So my question is what all options do i have to notify my user mode app from Miniport driver.
I cant use shared events or some other dispatcher objects as MSFT call it ‘Out of Band Communication’ and is not recommended. Is it possible to use Pnp Events as way of communication.
I am not sure please suggest me some way of doing this.
Hi,
I am sure there are lots of experts in this group. Can somebody please help me on this? Or this is not the right group for askiing questions on Video Drivers?
-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of
xxxxx@yahoo.co.in
Sent: Tuesday, January 23, 2007 11:12 AM
To: Windows System Software Devs Interest List
Subject: RE:[ntdev] Notifying User Mode App from Video Miniport Driver
Hi,
I am sure there are lots of experts in this group. Can somebody please help
me on this? Or this is not the right group for askiing questions on Video
Drivers?
On 1/23/07, Manohara.K wrote: > > Use WMI , refer the R200Sample WDK Sample > > -----Original Message----- > From: xxxxx@lists.osr.com > [mailto:xxxxx@lists.osr.com] On Behalf Of > xxxxx@yahoo.co.in > Sent: Tuesday, January 23, 2007 11:12 AM > To: Windows System Software Devs Interest List > Subject: RE:[ntdev] Notifying User Mode App from Video Miniport Driver > > Hi, > I am sure there are lots of experts in this group. Can somebody please > help > me on this? Or this is not the right group for askiing questions on Video > Drivers? > > Thanks, > Dhiren > > — > Questions? First check the Kernel Driver FAQ at > http://www.osronline.com/article.cfm?id=256 > > To unsubscribe, visit the List Server section of OSR Online at > http://www.osronline.com/page.cfm?name=ListServer > > > — > Questions? First check the Kernel Driver FAQ at > http://www.osronline.com/article.cfm?id=256 > > To unsubscribe, visit the List Server section of OSR Online at > http://www.osronline.com/page.cfm?name=ListServer >
Thanks guys for sharing your info with me
Hi Manohara,
WMI would be good useful for me but my problem is that mine is a miniport driver and i am not directly exposing handlers to various IRP’s. And to support WMI from driver i need to handle various minor codes for IRP_MJ_SYSTEM_CONTROL. I am not sure how i am going to indicate support for WMI. Also the port driver doesn’t provide any API’s to indicate WMI support.
Please let me know your thoughts.
Hi Narayan,
I look at that thread and it was about ‘inverted call’ technique. I don’t want to pend some user mode thread. That is my last resort if i am not able to find some asynchronous way.
The “inverted call” technique does not pend the thread that initiates the request, unless that thread has issued the IRP synchronously. The thread usually asynchronously issues the request, the driver begins processing it, the thread continues doing whatever else it wants, then the driver completes the request, the thread is notified, and then the thread processes the result of the request. This is a very common design in Windows drivers.
From: xxxxx@lists.osr.com [xxxxx@lists.osr.com] On Behalf Of xxxxx@yahoo.co.in [xxxxx@yahoo.co.in]
Sent: Tuesday, January 23, 2007 7:37 AM
To: Windows System Software Devs Interest List
Subject: RE:[ntdev] Notifying User Mode App from Video Miniport Driver
Thanks guys for sharing your info with me
Hi Manohara,
WMI would be good useful for me but my problem is that mine is a miniport driver and i am not directly exposing handlers to various IRP’s. And to support WMI from driver i need to handle various minor codes for IRP_MJ_SYSTEM_CONTROL. I am not sure how i am going to indicate support for WMI. Also the port driver doesn’t provide any API’s to indicate WMI support.
Please let me know your thoughts.
Hi Narayan,
I look at that thread and it was about ‘inverted call’ technique. I don’t want to pend some user mode thread. That is my last resort if i am not able to find some asynchronous way.
I understood your concern. you are right… But what i understand about ‘inverted call’ (i might be wrong) is that entire magic is in ability to return the status of IRP as pending from driver. But miniport driver does not work directly with IRP’s. miniport just gets called for some control code. we either can say success or return some error code.
Arlie, is their a way i can send PnP notification from a graphics miniport driver or any other way.
Like i have one big doubt that can a graphics miniport driver fire a WMI as miniport doesnt directly say i am WMI aware and i can support WMI.
I understood your concern. you are right… But what i understand about ‘inverted call’ (i might be wrong) is that entire magic is in ability to return the status of IRP as pending from driver. But miniport driver does not work directly with IRP’s. miniport just gets called for some control code. we either can say success or return some error code.
But your miniport’s StartIO routine gets every important field from the
IRP: the control code, the STATUS_BLOCK, the input buffer, and the
output buffer. In practical terms, there isn’t anything that a WDM
driver can do with an IRP that you cannot also do in your miniport,
except pass it along to another driver.
–
Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.
I am getting all these parameters but we dont get full IRP structure to miniport driver. So problem is if i return the status as pending that how am i going to complete the request later.
In order to call IoCompleteRequest later i need the IRP pointer in Miniport which i dont have.