Есть несколько способов сделать это.
Очевидное решение — изменить статический IP-адрес через апплет в Панели управления.
Предполагая, что вы ищете программное решение, после изменения ключа реестра вы можете вызвать RegFlushKey(HKEY_LOCAL_MACHINE);
, чтобы сохранить изменение, а затем перезагрузить устройство.
Если вы хотите, чтобы изменение вступило в силу немедленно, т. е. избежать перезагрузки, вам потребуется повторно привязать адаптер после настройки нового адреса. Вот пример (обработка ошибок опущена для ясности):
HANDLE h = CreateFile(L"NDS0:", GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, 0, NULL);
// Assuming adapter is called PHOTON1.
// Append extra NUL, IOCTL_NDIS_REBIND_ADAPTER expects a MULTI_SZ.
WCHAR adapter[] = "PHOTON1\0";
DeviceIoControl(h, IOCTL_NDIS_REBIND_ADAPTER, adapter, sizeof(adapter), NULL, 0, NULL, 0);
CloseHandle(h);
Опять же, если вы хотите, чтобы изменение сохранилось после перезагрузки, вызовите RegFlushKey
после обновления реестра.
person
Carsten Hansen
schedule
09.10.2015