StackLocation question

MessageHello !

I have my DeviceObject attached to another DeviceObject …
I intersept IRPs for this “another DevObj”

  1. Is it possible to have (CurrentLocation == 1) in my driver before I do IoCallDriver() to “another DevObj” ?
  2. If it is, then in which cases ?
  3. How can I set a CompletionRoutine in this case ?

Thank You in advance !


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com

Message

----- Original Message -----
.From: foxgen
To: NT Developers Interest List
Sent: Friday, November 30, 2001 9:11 AM
Subject: [ntdev] StackLocation question

Hello !

I have my DeviceObject attached to another DeviceObject …
I intersept IRPs for this “another DevObj”

  1. Is it possible to have (CurrentLocation == 1) in my driver before I do
    IoCallDriver() to “another DevObj” ?

This is certainly possible in your TDI Filter driver. The cause is an IRP
from NetBT, which has opened “\Device\Tcp” before your filter has attached.
When it opened “\Device\Tcp” if calculated necessary IRP stack size without
knowing that your filter would be inserted later.

  1. If it is, then in which cases ?
  2. How can I set a CompletionRoutine in this case ?

One solution is to revise the load order of NetBT and your driver to insure
NetBT loads after your TDI Filter. Research how to do this yourself.

Other solutions include creating a new “proxy” IRP of your own, making the
requested call, and then using your IRP results to complete the original
IRP.

There may be other solutions.

Good luck,

Thomas F. Divine

PCAUSA - Toolkits & Resources For Network Software Developers
NDIS Protocol - NDIS Intermediate - TDI Client/Filter
http: - http:


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com</http:></http:>