Я пытаюсь добавить временный IP-адрес в сетевую карту, используя AddIPAddress, когда вы вошли в систему как пользователь без прав администратора. В документации MSDN для AddIPAddress говорится, что ERROR_INVALID_HANDLE возвращается как ошибка, если функция вызывается пользователем без прав администратора.
Учитывая, что мне предшествовал вызов AddIPAddress с API-вызовами LogonUser () и ImpersonateLoggedOnUser (). Теперь мое приложение считает, что оно вошло в систему как администратор, но AddIPAddress все еще не работает с ERROR_INVALID_HANDLE.
MSDN также утверждает, что ..
"Примечание. Групповые политики, корпоративные политики и другие ограничения в сети могут препятствовать успешному завершению этих функций. Убедитесь, что у приложения есть необходимые сетевые разрешения, прежде чем пытаться использовать эти функции."
Можно ли вызвать AddIPAddress, используя олицетворение? если так как? Я предполагаю, что мне нужно изменить разрешения, упомянутые выше, но я не знаю, что изменить в этой области.
Любая помощь будет оценена!
Additonal: Я также нарисовал пробел, пытаясь вызвать netsh (снова вошел в систему как обычный пользователь), используя CreateProcessAsUser, используя дескриптор для олицетворенного пользователя-администратора, чтобы запустить процесс. Всегда возвращает ошибки, указывающие на недостаточные привилегии.