tun: windows: switch to NDIS device object
This commit is contained in:
parent
298d759f3e
commit
6c50fedd8e
|
@ -146,13 +146,17 @@ func CreateTUNWithRequestedGUID(ifname string, requestedGUID *windows.GUID) (Dev
|
|||
}
|
||||
|
||||
func (tun *NativeTun) openTUN() error {
|
||||
filename, err := tun.wt.NdisFileName()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
retries := maybeRetry(retryTimeout * retryRate)
|
||||
if tun.close {
|
||||
return os.ErrClosed
|
||||
}
|
||||
|
||||
var err error
|
||||
name, err := windows.UTF16PtrFromString(tun.wt.DataFileName())
|
||||
name, err := windows.UTF16PtrFromString(filename)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
|
|
@ -612,11 +612,6 @@ func (wintun *Wintun) deviceData() (setupapi.DevInfo, *setupapi.DevInfoData, err
|
|||
return 0, nil, windows.ERROR_OBJECT_NOT_FOUND
|
||||
}
|
||||
|
||||
// DataFileName returns the Wintun device data pipe name.
|
||||
func (wintun *Wintun) DataFileName() string {
|
||||
return fmt.Sprintf("\\\\.\\Global\\WINTUN%d", wintun.luidIndex)
|
||||
}
|
||||
|
||||
// NdisFileName returns the Wintun NDIS device object name.
|
||||
func (wintun *Wintun) NdisFileName() (string, error) {
|
||||
key, err := registry.OpenKey(registry.LOCAL_MACHINE, wintun.netRegKeyName(), registry.QUERY_VALUE)
|
||||
|
|
Loading…
Reference in a new issue