If I set the stack location properly, is it possible for me to call a
driver at a higher level, sitting at a lower level?
- albert
If I set the stack location properly, is it possible for me to call a
driver at a higher level, sitting at a lower level?
Sure it is … all you need is a pointer to the proper DEVICE_OBJECT for
that driver. However, if that driver in turn calls you, either directly or
indirectly, with the same IRP you could end up in a rather circular
situation.
–
The personal opinion of
Gary G. Little
“Albert Pinto” wrote in message news:xxxxx@ntdev…
If I set the stack location properly, is it possible for me to call a
driver at a higher level, sitting at a lower level?
- albert
can u give me a situation where this technique should be used/can be used?
On 8/8/05, Gary G. Little wrote:
> Sure it is … all you need is a pointer to the proper DEVICE_OBJECT for
> that driver. However, if that driver in turn calls you, either directly or
> indirectly, with the same IRP you could end up in a rather circular
> situation.
>
> –
> The personal opinion of
> Gary G. Little
>
> “Albert Pinto” wrote in message news:xxxxx@ntdev…
> If I set the stack location properly, is it possible for me to call a
> driver at a higher level, sitting at a lower level?
>
> - albert
>
>
>
> —
> Questions? First check the Kernel Driver FAQ at http://www.osronline.com/article.cfm?id=256
>
> You are currently subscribed to ntdev as: xxxxx@gmail.com
> To unsubscribe send a blank email to xxxxx@lists.osr.com
>
–
- Developer
my filter driver need to access a dispatcher function, which I don’t
support, but am bypassing. so I send the call to the driver above be
and it does it for me.
On 8/8/05, Developer wrote:
> can u give me a situation where this technique should be used/can be used?
>
>
>
>
>
>
> On 8/8/05, Gary G. Little wrote:
> > Sure it is … all you need is a pointer to the proper DEVICE_OBJECT for
> > that driver. However, if that driver in turn calls you, either directly or
> > indirectly, with the same IRP you could end up in a rather circular
> > situation.
> >
> > –
> > The personal opinion of
> > Gary G. Little
> >
> > “Albert Pinto” wrote in message news:xxxxx@ntdev…
> > If I set the stack location properly, is it possible for me to call a
> > driver at a higher level, sitting at a lower level?
> >
> > - albert
> >
> >
> >
> > —
> > Questions? First check the Kernel Driver FAQ at http://www.osronline.com/article.cfm?id=256
> >
> > You are currently subscribed to ntdev as: xxxxx@gmail.com
> > To unsubscribe send a blank email to xxxxx@lists.osr.com
> >
>
>
> –
>
> - Developer
>
> —
> Questions? First check the Kernel Driver FAQ at http://www.osronline.com/article.cfm?id=256
>
> You are currently subscribed to ntdev as: unknown lmsubst tag argument: ‘’
> To unsubscribe send a blank email to xxxxx@lists.osr.com
>
Filesystem filter drivers might do this to, for example, open and scan a
file for viruses before allowing a user open to succeed.
-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Developer
Sent: Monday, August 08, 2005 11:50 AM
To: Windows System Software Devs Interest List
Subject: Re: [ntdev] higher level drivers
can u give me a situation where this technique should be used/can be
used?
On 8/8/05, Gary G. Little wrote:
> Sure it is … all you need is a pointer to the proper DEVICE_OBJECT
for
> that driver. However, if that driver in turn calls you, either
directly or
> indirectly, with the same IRP you could end up in a rather circular
> situation.
>
> –
> The personal opinion of
> Gary G. Little
>
> “Albert Pinto” wrote in message
news:xxxxx@ntdev…
> If I set the stack location properly, is it possible for me to call a
> driver at a higher level, sitting at a lower level?
>
> - albert
>
>
>
> —
> Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256
>
> You are currently subscribed to ntdev as: xxxxx@gmail.com
> To unsubscribe send a blank email to xxxxx@lists.osr.com
>
–
- Developer
—
Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256
You are currently subscribed to ntdev as: unknown lmsubst tag argument:
‘’
To unsubscribe send a blank email to xxxxx@lists.osr.com
If you need to access functionality of the driver above you then you’ve
placed yourself in the wrong part of the stack.
-p
-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Albert Pinto
Sent: Monday, August 08, 2005 9:01 AM
To: Windows System Software Devs Interest List
Subject: Re: [ntdev] higher level drivers
my filter driver need to access a dispatcher function, which I don’t
support, but am bypassing. so I send the call to the driver above be
and it does it for me.
On 8/8/05, Developer wrote:
> can u give me a situation where this technique should be used/can be
used?
>
>
>
>
>
>
> On 8/8/05, Gary G. Little wrote:
> > Sure it is … all you need is a pointer to the proper DEVICE_OBJECT
for
> > that driver. However, if that driver in turn calls you, either
directly or
> > indirectly, with the same IRP you could end up in a rather circular
> > situation.
> >
> > –
> > The personal opinion of
> > Gary G. Little
> >
> > “Albert Pinto” wrote in message
news:xxxxx@ntdev…
> > If I set the stack location properly, is it possible for me to call
a
> > driver at a higher level, sitting at a lower level?
> >
> > - albert
> >
> >
> >
> > —
> > Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256
> >
> > You are currently subscribed to ntdev as: xxxxx@gmail.com
> > To unsubscribe send a blank email to xxxxx@lists.osr.com
> >
>
>
> –
>
> - Developer
>
> —
> Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256
>
> You are currently subscribed to ntdev as: unknown lmsubst tag
argument: ‘’
> To unsubscribe send a blank email to xxxxx@lists.osr.com
>
—
Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256
You are currently subscribed to ntdev as: unknown lmsubst tag argument:
‘’
To unsubscribe send a blank email to xxxxx@lists.osr.com
What do you mean by “set the stack location properly”?
The way you call a higher level (or not next lower in stack) driver is
generally:
have either a valid pointer to the device stack in question obtained
by IoGetDeviceObjectPointer or the equivalent.
Build an IRP for the operation. You typically cannot just reuse an
arriving IRP. (Well you probably could if you managed to save enough
state, but it would be easier to just build a new IRP.)
Use IoCallDriver with the appropriate device object pointer obtained
in step (1).
dispose of this IRP after completion.
Step 4 may be taken care of for you automatically if you can use
IoBuildSynchronousFsdRequest.
-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Albert Pinto
Sent: Monday, August 08, 2005 12:01 PM
To: Windows System Software Devs Interest List
Subject: Re: [ntdev] higher level drivers
my filter driver need to access a dispatcher function, which I don’t
support, but am bypassing. so I send the call to the driver above be
and it does it for me.
On 8/8/05, Developer wrote:
> can u give me a situation where this technique should be used/can be
used?
>
>
>
>
>
>
> On 8/8/05, Gary G. Little wrote:
> > Sure it is … all you need is a pointer to the proper DEVICE_OBJECT
for
> > that driver. However, if that driver in turn calls you, either
directly or
> > indirectly, with the same IRP you could end up in a rather circular
> > situation.
> >
> > –
> > The personal opinion of
> > Gary G. Little
> >
> > “Albert Pinto” wrote in message
news:xxxxx@ntdev…
> > If I set the stack location properly, is it possible for me to call
a
> > driver at a higher level, sitting at a lower level?
> >
> > - albert
> >
> >
> >
> > —
> > Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256
> >
> > You are currently subscribed to ntdev as: xxxxx@gmail.com
> > To unsubscribe send a blank email to xxxxx@lists.osr.com
> >
>
>
> –
>
> - Developer
>
> —
> Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256
>
> You are currently subscribed to ntdev as: unknown lmsubst tag
argument: ‘’
> To unsubscribe send a blank email to xxxxx@lists.osr.com
>
—
Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256
You are currently subscribed to ntdev as: unknown lmsubst tag argument:
‘’
To unsubscribe send a blank email to xxxxx@lists.osr.com
mark,
Filesystem filter drivers might do this to, for example, open and scan a
file for viruses before allowing a user open to succeed.
but then the upper level driver will eventually get control of the
IRP, won’t it?
-Developer
On 8/8/05, Roddy, Mark wrote:
> Filesystem filter drivers might do this to, for example, open and scan a
> file for viruses before allowing a user open to succeed.
>
> -----Original Message-----
> From: xxxxx@lists.osr.com
> [mailto:xxxxx@lists.osr.com] On Behalf Of Developer
> Sent: Monday, August 08, 2005 11:50 AM
> To: Windows System Software Devs Interest List
> Subject: Re: [ntdev] higher level drivers
>
> can u give me a situation where this technique should be used/can be
> used?
>
>
>
>
>
>
> On 8/8/05, Gary G. Little wrote:
> > Sure it is … all you need is a pointer to the proper DEVICE_OBJECT
> for
> > that driver. However, if that driver in turn calls you, either
> directly or
> > indirectly, with the same IRP you could end up in a rather circular
> > situation.
> >
> > –
> > The personal opinion of
> > Gary G. Little
> >
> > “Albert Pinto” wrote in message
> news:xxxxx@ntdev…
> > If I set the stack location properly, is it possible for me to call a
> > driver at a higher level, sitting at a lower level?
> >
> > - albert
> >
> >
> >
> > —
> > Questions? First check the Kernel Driver FAQ at
> http://www.osronline.com/article.cfm?id=256
> >
> > You are currently subscribed to ntdev as: xxxxx@gmail.com
> > To unsubscribe send a blank email to xxxxx@lists.osr.com
> >
>
>
> –
>
> - Developer
>
> —
> Questions? First check the Kernel Driver FAQ at
> http://www.osronline.com/article.cfm?id=256
>
> You are currently subscribed to ntdev as: unknown lmsubst tag argument:
> ‘’
> To unsubscribe send a blank email to xxxxx@lists.osr.com
>
> —
> Questions? First check the Kernel Driver FAQ at http://www.osronline.com/article.cfm?id=256
>
> You are currently subscribed to ntdev as: unknown lmsubst tag argument: ‘’
> To unsubscribe send a blank email to xxxxx@lists.osr.com
>
–
- Developer