TDI client and few network cards

Hi,

I had written TDI client which used as internal connection driver.
Problem is arised when we add few more network boards to the system.
For some reasons it’s required that this driver accepts connection
only from the specified network board. Other boards should works
normally.
I had read MSDN TDI articles few times, but cannot find how
to determine which interface(or network card, or TCP/IP address)is
used when TDI driver get connection event. Also, method of
initializing TDI client cannot specify(rather) required IP address.
So, question. Is it possible to determine on which
interface/IP/network card we have got coonection event in TDI driver?

The only suspicious thing I saw is
PTA_IP_ADDRESS pAddress->Address[0].Address[0].in_addr = 0;
and consequent call ZwCreateFile and ObReferenceObjectByHandle.
when opening device.


Best regards,
Sergey mailto:kipnis@wp.pl

> initializing TDI client cannot specify(rather) required IP address.

This is done when you create the address file object.

The only suspicious thing I saw is
PTA_IP_ADDRESS pAddress->Address[0].Address[0].in_addr = 0;

Yes, set it to non-NULL. This ZwCreateFile call is mapped to Berkeley bind().

Maxim Shatskih, Windows DDK MVP
StorageCraft Corporation
xxxxx@storagecraft.com
http://www.storagecraft.com