TDI legacy driver installation on Win2K

My objective is to load a TDI legacy driver above tcpip and below netbt.
Any
advice on the best method is appreciated. I have tried the following
approaches:

  1. Currently, I am using a reg file that creates an
    HKLM\system\CCS\services\mydriver key. This key contains a value Group
    set
    to PNP_TDI and a value Tag set to 5. Subsequently, this reg file
    overwrites HKLM\system\CCS\services\netbt\Tag to 6.

The Win2K states that all drivers must have an inf file, so my plan is
to
write a custom installer that performs the task of importing the reg
file.
The Win2K installations I have observed always have
HKLM\system\CCS\services\tcpip\Tag set to 4 and
HKLM\system\CCS\serivces\netbt\Tag set to 5. Just in case this is not
always
true, my installer checks for other drivers in the PNP_TDI group, sets
mydriver\Tag to the value of tcpip\Tag + 1, and then adjusts subsequent
xxxx\Tag settings as appropriate.

I have 3 concerns with this approach:
a. Not a Microsoft standard method.
b. Tag may not always be available.
c. On reboot, Win2K creates a root enumerator key: LEGACY_MYDRIVER. Upon

uninstall, I do not want to leave any traces of my driver. However, I
have not found a way to delete this key.

  1. Using the Oney Ioctl sample inf as a template, I tried installing my
    driver
    using the install command in the Win2K DDK. This certainly loads my
    driver,
    but way to early. I experimented with DependOnService, Tag, and
    LoadOrderGroup to load my driver at the appropriate time, but the PnP
    manager ignores these settings. I think this is because the Oney sample
    includes a hardware ID which indicates to the PnP manager to load my
    driver
    while walking the device tree which occurs immediately after the boot
    drivers are loaded.

  2. Install my driver as a network filter driver by using the snetcfg
    installer
    from the Win2K DDK. This did not seem to work. Additionally, I tried
    using
    the filtject Oney dll to set
    HKLM\system\CCS\Enum\Root\LEGACY_TCPIP\UpperFilters, but this did not
    seem
    to work either.

Thanks in advance,
Dave


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