// Set interface name. (Ignore errors.)
wt.SetInterfaceName(ifname)
}
+ err = wt.FlushInterface()
+ if err != nil {
+ wt.DeleteInterface(0)
+ return nil, err
+ }
signalNameUTF16, err := windows.UTF16PtrFromString(wt.SignalEventName())
if err != nil {
return false, false, nil
}
-///
-/// checkReboot checks device install parameters if a system reboot is required.
-///
+//
+// FlushInterface removes all properties from the interface and gives it only a very
+// vanilla IPv4 and IPv6 configuration with no addresses of any sort assigned.
+//
+func (wintun *Wintun) FlushInterface() error {
+ //TODO: implement me!
+ return nil
+}
+
+//
+// checkReboot checks device install parameters if a system reboot is required.
+//
func checkReboot(deviceInfoSet setupapi.DevInfo, deviceInfoData *setupapi.SP_DEVINFO_DATA) (bool, error) {
devInstallParams, err := deviceInfoSet.GetDeviceInstallParams(deviceInfoData)
if err != nil {
func (wintun *Wintun) DataFileName() string {
return fmt.Sprintf("\\\\.\\Global\\WINTUN_DEVICE_%s", guid.ToString((*windows.GUID)(wintun)))
-}
\ No newline at end of file
+}