I have a network card with 4 adapters (Intel server adapter I350-T4). When I insert this card into a PC, the adapters are discovered e.g. as follows:
- I350-T4 => adapter 1
- I350-T4 #2 => adapter 2
- I350-T4 #3 => adapter 3
- I350-T4 #4 => adapter 4
When I get another PC, and another network card (same make and model of course), Windows iterates the devices as follows:
- I350-T4 #4 => adapter 1
- I350-T4 #1 => adapter 2
- I350-T4 #2 => adapter 3
- I350-T4 #3 => adapter 4
This is a problem, as our technical documentation dictates which device is connected to which physical adapter. Since my software only has a reference to the "adapter name" windows assigns to the physical adapter I have no way of guaranteeing which "logical adapter" matches to which physical adapter.
I don't know how windows enumerates the devices on such a network card, and if there are network cards that do have a reproducing way of discovery.
I did test to swap the network cards between the PCs, and found that the way the adapters are discovered follows the network card.
Question1: how does windows discover network cards?
Question2: Is there anyway to influence this behavior?
Question3: Is there any logical property (thus in windows) to determine the physical port / position of the adapter?
Question4: If anybody would've experience with this specific topic, is there a better approach that let me couple logical adapters to physical adapters?