Любой стандартный способ C#.NET использовать WMI IPHelper?

Кто-нибудь знает, существует ли существующее пространство имен C#.NET, которое содержит эквивалент функций WMI IPHelper? В частности, мне нужно вызвать CreateIpForwardEntry и DeleteIpForwardEntry. Это единственный путь через P/Invoke? (ПРИМЕЧАНИЕ: это не запрос сторонних библиотек, а стандартных библиотек.NET)

1 ответ

Решение

В конце концов я решил не беспокоиться, пытаясь использовать функции P/Invoke WMI IPHelper. Намного проще было запустить процесс, открыв cmd.exe и написав консольные команды для добавления и удаления маршрута. Код ниже иллюстрирует, как это можно сделать.

var proc = new Process
{
    StartInfo = new ProcessStartInfo
    {
        FileName = "cmd.exe",
        UseShellExecute = false,
        RedirectStandardOutput = true,
        RedirectStandardInput = true,
        CreateNoWindow = true
    }
};

proc.Start();
proc.StandardInput.WriteLine(delete
    ? "route delete " + ServiceIpAddress + " mask " + GatewayMask + " " + GatewayIpAddress + " -p" : "route add " + ServiceIpAddress + " mask " + GatewayMask + " " +  GatewayIpAddress + " -p");
roc.Close();
Другие вопросы по тегам