Добавить правило исходящего трафика в брандмауэр Защитника Windows с помощью API C++
Я пытаюсь добавить правила в Защитник Windows программным путем, и у меня возникла проблема. Я могу добавить проблему без правил для входящего правила, но по какой-то причине не могу объяснить, не могу добавить правило для исходящих сообщений.
Вот карастеристика правила, которое я пытаюсь добавить (это правило для блокировки всего интернет-трафика):
Name: "Test Rule"
Description: "A testing rule !"
Grouping: "Test Group"
Action: NET_FW_ACTION_BLOCK
Direction: NET_FW_RULE_DIR_OUT
Enabled: VARIANT_TRUE
InterfaceTypes: "All"
Protocol: NET_FW_IP_PROTOCOL_TCP
RemotePorts: "80,443"
Сообщение об ошибке E_INVALIDARG
("Метод не удался, потому что параметр был недопустим."), И это не очень полезно.
Действительно, после каждого put_Foo()
Я проверяю код возврата, и ничего не идет не так (поэтому параметры выглядят корректно). Более того, если я изменю NET_FW_RULE_DIR_OUT
с NET_FW_RULE_DIR_IN
все идет хорошо (но это не то, что я хочу сделать).
Некоторые ссылки, которые могут быть полезны:
Интерфейс, позволяющий добавить новое правило в коллекцию (ошибка происходит с методом Add)