Active PassThru
NDIS IM Sample Notes

Although the current suite of Microsoft DDK NDIS IM driver samples are extremely useful, they are "passive PassThru" drivers. They perform only the absolute minimum of processing and inspection of data being sent or received. For example, when processing a received packet they simply "re-wrap" the received packet and pass the re-wrapped packet up to higher-level protocols. Similarly, NDIS requests and other operations are just passed on with a minimum of processing.

The Microsoft passive PassThru NDIS IM samples do not provide answers to these interesting questions:

  1. How do I inspect or "filter" data passing through the driver?
  2. How do I make copies of data being sent or received?
  3. How do I inject my own data into the send/receive paths?
  4. How can I distinguish between my own data and passthru data in completion functions such as ProtocolSendComplete and ReturnPacketHandler.
        Note: For example, you wouldn't want to call a higher-level protocol's ProtocolSendComplete handler
        for a packet that it did not actually send.
  5. How do I actually handle packets in my ProtocolReceiveHandler?
        NOTE: This is actually very messy, and is required and exercised even on Windows 2000.
  6. How do I filter calls to QueryInformationHandler or SetInformationHandler?
  7. How can I implement a practical Win32 API for communication with my driver?

The PCAUSA Active PassThru sample attempts to answer these questions.

 

PCAUSA Home · Privacy Statement · Products · Ordering · Support · Utilities · Resources
Mailing Lists  · PCAUSA Newsletter · PCAUSA Discussion List
 
Rawether for Windows and WinDis 32 are trademarks of Printing Communications Assoc., Inc. (PCAUSA)
Microsoft, MS, Windows, Windows 95, Windows 98, Windows Millennium, Windows 2000, and Win32 are registered trademarks and Visual C++ and Windows NT are trademarks of the Microsoft Corporation.
Send mail to webmaster@pcausa.com with questions or comments about this web site.
Copyright © 1996-2008 Printing Communications Assoc., Inc. (PCAUSA)
Last modified: December 31, 2007