The code in util_windows.cpp enumerates the available tap network adapters on the system by going through all the present network adapters according to the registry and matching their ComponentId string property against a list of known values for tap adapters; currently this is just two values:
tap0801 (the one that was originally hardcoded, probably of the "WinTap" that was distributed with Wireshark/Ethereal, before they stopped using WinTap)
tap0901 (the value from OpenVPN's that I added because I wanted one that had a signed x86_64 version that could be used practically on regular Windows x86_64 systems)
cat7 mentioned a particular windows TAP version already on the system, probably around from a previous install of something, not being detected by the GUI here: https://github.com/kanjitalk755/macemu/issues/58#issuecomment-700532151
The code in
util_windows.cpp
enumerates the available tap network adapters on the system by going through all the present network adapters according to the registry and matching theirComponentId
string property against a list of known values for tap adapters; currently this is just two values:tap0801
(the one that was originally hardcoded, probably of the "WinTap" that was distributed with Wireshark/Ethereal, before they stopped using WinTap)tap0901
(the value from OpenVPN's that I added because I wanted one that had a signed x86_64 version that could be used practically on regular Windows x86_64 systems)There may be others "in the wild". Moreover anyone could rebuild the tap driver and customize this value in the source (https://github.com/OpenVPN/tap-windows6/blob/154d825af1d4e6f493b561fc6dd06a7d58ac2235/version.m4#L7); is there some more canonical way to detect that a given enumerable network adapter is indeed a tap adapter?