NDIS MiniportInitialize for virtual NICs

I’m writing a Windows 2000 driver for a virtual NIC that talks to a SCSI
miniport which handles each of the physical adapters. I noticed that my
MiniportInitialize function is only called once, after DriverEntry. So,
how can I “create” multiple virtual adapters, one for each physical
adapter? The DDK states that I can call NdisIMInitializeDeviceInstance[ex]
from ProtocolBindAdapter. However, since I’m not writing a “standard” IM
driver and have no protocol layer, I don’t have or need a
ProtocolBindAdapter function.

What I think would make sense is to have Windows repeatedly call my
MiniportInitialize, and each time I ask the SCSI miniport for the next
available adapter. Once I’ve acknowledged all of the adapters, I can
return an error (such as NDIS_STATUS_ADAPTER_NOT_FOUND).

In my INF file, I have NCF_VIRTUAL set, and the “hardware ID” value is that
for a software adapter (such as MS_IBMDLC in the DDK docs). Should I use
NCF_SOFTWARE_ENUMERATED? Apparently that and NCF_VIRTUAL are mutually
exclusive, though, so it would be one or the other.

Thanks for any help and information,
Jason Todd


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