My C application uses Gige camera on many various Windows 10 PC. So I wanna set jumbo frame of LAN card of PC programmatically. (when the process starts it is enabled and disabled when the end of process.) any helps?
CodePudding user response:
Thanks to @SimonMourier, I could write power shell command for enables jumbo frames and 1gbps duplex.
// enables.ps1
// Query all network adapter which has 'jumbo frame' property and set it as 9014 bytes.
$jumboFramesList = (Get-NetAdapterAdvancedProperty -RegistryKeyword "*JumboPacket")
foreach($item in $jumboFramesList) {
Set-NetAdapterAdvancedProperty -DisplayName $item.DisplayName -RegistryValue "9014"
}
// Query all network adapter which has 'speed & duplex' property and set it as 1.0 gbps duplex.
$speedDuplexList = (Get-NetAdapterAdvancedProperty -RegistryKeyword "*SpeedDuplex")
foreach($item in $speedDuplexList ) {
Set-NetAdapterAdvancedProperty -DisplayName $item.DisplayName -RegistryValue "6"
// Registry 6 means "1.0 Gbps duplex"
}
// reset.ps1
// Reset all network adapters' properties of 'jumbo frames' and 'speed & duplex'
$jumboFramesList = (Get-NetAdapterAdvancedProperty -RegistryKeyword "*JumboPacket")
foreach($item in $jumboFramesList) {
Reset-NetAdapterAdvancedProperty -Name * -DisplayName $item.DisplayName
}
$speedDuplexList = (Get-NetAdapterAdvancedProperty -RegistryKeyword "*SpeedDuplex")
foreach($item in $speedDuplexList) {
Reset-NetAdapterAdvancedProperty -Name * -DisplayName $item.DisplayName
}
and I could run above script files in my application when I need it.