When targeting Windows, you can use PlatformConfig to fine-tune device creation. This allows you to specify a custom wintun.dll path, set a specific device GUID, configure DNS servers, and control how the library waits for IPv4/IPv6 interfaces to appear after creation.
Key configuration methods:
device_guid(u128): Sets a specific GUID for the device.wintun_file(S): Sets a custom path to the wintun.dll file (e.g., "path/to/wintun" or "path/to/wintun.dll").dns_servers(&[IpAddr]): Configures a list of DNS servers to use.wait_for_interfaces(ipv4: bool, ipv6: bool, timeout: Duration): Configures whether to wait for IPv4 and IPv6 interfaces to become available and the maximum duration to wait.
// Example of configuring Windows-specific settings
let mut config = PlatformConfig::default();
config.wintun_file("C:\\tools\\wintun.dll");
config.dns_servers(&["8.8.8.8".parse().unwrap()]);
config.wait_for_interfaces(true, false, Duration::from_secs(10));