//go:build windows package config import ( "os" "golang.org/x/sys/windows" ) // 共享删除权限仅避免旧版停服迁移被文件句柄阻挡;是否清理由独占租约决定。 func openSSLLease(path string) (*os.File, error) { name, err := windows.UTF16PtrFromString(path) if err != nil { return nil, err } handle, err := windows.CreateFile(name, windows.GENERIC_READ|windows.GENERIC_WRITE, windows.FILE_SHARE_READ|windows.FILE_SHARE_WRITE|windows.FILE_SHARE_DELETE, nil, windows.OPEN_EXISTING, windows.FILE_ATTRIBUTE_NORMAL, 0) if err != nil { return nil, err } return os.NewFile(uintptr(handle), path), nil }