c ++ - Forskellige opførsel af EnableStatic på Windows Server 2016

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg skrev C ++ program, der kører på 2 klynge noder, som skal tilføje \ fjerne en virtuel IP fra netværkskortet på hver knudepunkt (efter nogle logik jeg har skrevet ..).
Til det bruger jeg EnableStatic metode i klassen Win32\_NetworkAdapterConfiguration (https://msdn.microsoft.com/en-us/library/aa390383(v=vs.85).aspx).[1]


På dette program har jeg 2 knapper, 'Release VIP' og 'Acquire VIP'.
Jeg bruger RDP til at forbinde disse noder (ved hjælp af den permanente IP, ikke VIP).


For Release VIP kalder jeg: EnableStatic ({'1.1.1.5'}, {'255.255.0.0'});


For Acquire VIP kalder jeg: EnableStatic ({'1.1.1.5', '1.1.1.80'}, {'255.255.0.0', '255.255.0.0'});


(For dette eksempel er 1.1.1.80 VIP)


Da jeg gjorde det på Windows 2012 fungerede alt fint, og jeg kunne tilføje \ fjerne den virtuelle IP.


Nu i Windows 2016 mister min RDP forbindelse i 2-3 sekunder som følge af ændringen i VIP på netværkskortet (både tilføj og fjern ..).


Jeg ved, at i denne API dokumentation skrev Microsoft, at RDP skulle miste forbindelsen, men jeg undrer mig:



  1. Hvorfor skete det ikke i Windows 2012?

  2. Har de foretaget nogen forandring?

  3. Måske gør jeg noget galt?



Og vigtigere:



  1. Har den anden effekt, undtagen RDP, der mister forbindelsen, som jeg skal vide om ??

  2. Er der en bedre API til brug?



Mange tak!

Bedste reference