OK, how about the examination of another program? This is what I found:
1) First, this section of the registry is examined:
HKEY_LOCAL_MACHINE\Enum\Root\Net
There happens to be two subkeys there on this computer, 0000 and 0001. Each is opened sequentially. The results for the first subkey are are follows: First the "Class" value is queried -- the result is "Net". Then the "Driver" value is queried -- result is "Net\0000". Last, the "Driver Description" is queried -- result is "Dial-Up Adapter".
Next the 0000\Bindings sub-subkey is opened and "Enum"erated. The desired result is a string value: "MSTCP/0000".
2) Next, the HKEY_LOCAL_MACHINE\Enum\Network\MSTCP\0000 key is opened. The "Driver" value is queried -- the result is "NetTrans\0001".
__________________________
OK, stop for a second. We now have determined EXACTLY what we need to know. We have the Adapter name ("Dial-Up Adapter") and its ...\Class\Net subkey ("Net\0000"). Most importantly, we have the correct ...Class\NetTrans subkey for the TCP-IP binding to this adapter ("NetTrans\0001").
But it is not that simple. There are only TWO subkeys in HKEY_LOCAL_MACHINE\Enum\Root\Net, yet I have three Adapters... let me go on.
__________________________
3) The opened keys are all closed. Then this key is opened:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Class\Net\0000
This is the key that was specified in the ...Root\Net\0000 key.
4) This key is opened next:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Class\Net\0000\Ndi\params\IPMTU, followed by a query in the ABOVE key (...\Class\Net\0000) for a value entitled "IPMTU". After that, both of the ...Class\Net subkeys are closed.
[That reminds me, for Dial-Up Adapters, you cannot set the MTU by using a "MaxMTU" value in the NetTrans subkey -- instead it must be an "IPMTU" value in the Net subkey. This is very different than for the NIC's.]
5) It then returns to HKLM\Enum\Root\Net and opens the next subkey - 0001. It extracts the Class, Driver, and DeviceDesc as above. In this case, the results are Net, Net/0001, and Extranet Access Client Adapter.
6) The Bindings subkey is opened and Enumerated -- the result in question is a string value named "MSTCP\0003". Not surprisingly, the next key opened is HKLM\Enum\Network\MSTCP\0003, and the "Driver" value is queried. The result this time is "NetTrans\0012". Again we have the Adapter name, the corresponding ...Class\Net subkey, and the ...Class\NetTrans subkey that binds TCP-IP to this adapter. This time it is Extranet Access Client Adapter, Net\0001, and NetTrans\0012.
7) The ...Net\0001 key is opened and an attempt is made to open an IPMTU subkey. Since this is not a Dial-Up Adapter, this is not found and the Net\0001 key is closed.
8) The NetTrans\0012 key is opened and a queried is made for a "MaxMTU" value. In the case of my ExtraNet adapter, none is found.
9) It goes back to my ...Enum\Root\Net key and finds no more subkeys. This is the weird part -- it has not yet found my actual NIC. There must be more to the story.
10) It runs through all of the Root subkeys -- always querying for "Class" -- and assumedly looking for "Net" -- but not finding it. Then it moves through *ALL* the ...Enum subkeys and keeps querying for "Class" -- but apparently not having success. Eh, until it gets to this key:
HKLM\Enum\PCI\VEN_1317&DEV_0985&SUBSYS_05701317&REV_11\BUS_00&DEV_0F&FUNC_00
That is exactly the key! There is a "Class" value there that has "Net" as its data.
11) The program found what it was looking for, so it extracts the Driver and the DeviceDesc values -- in this case, they are "Net\0002" and "Network Everywhere Fast Ethernet Adapter(NC100 v2)".
12) Next, it checks the Bindings subkey there -- that is:
HKLM\Enum\PCI\VEN_1317&DEV_0985&SUBSYS_05701317&REV_11\BUS_00&DEV_0F&FUNC_00\Bindings.
Lo and behold, this has a string value named "MSTCP\0001".
13) It should now come as little surprise that the next key opened is: HKLM\Enum\Network\MSTCP\0001. Also of little surprise, the "Driver" value is queried and found to be "NetTrans\0003". We now have the final piece to the puzzle -- my NIC (Network Everywhere Ethernet Adapter) is in the Net/0002 subkey and bound to TCP-IP in the NetTrans\0003 subkey.
14) The process is repeated, HKLM\System\CurrentControlSet\Services\Class\Net\0002 is opened and the IPMTU subkey is looked for but not found, so the HKLM\System\CurrentControlSet\Services\Class\NetTrans\0003 key is opened and the "MaxMTU" value is queried.
______________________________
I realize this is HUGE, but this is exactly what occurs. The *entire* Enum key is queried looking for any Class="Net" value. If it is found, then the Driver and DeviceDesc values are noted, and the Binding subkey is opened and queried for a Driver value. Once you have these, you have all the information you need to link a given Adapter to the correct NetTrans Protocol-Adapter pair.
If you think you wish this was more simple, imagine how I feel!!

Good night.