Eu decidi procurar na API do Windows por uma solução e encontrar this , a interface que controla o botão circulado! Tudo o resto pode ser controlado com netsh. Eu escrevi um utilitário C ++ simples que me permite iniciar / interromper o ICS entre dois adaptadores de rede, definir o escopo da regra de firewall "Servidor DNS IN" e definir o endereço IP da interface de LAN. Isso é tudo que eu precisava e não acho que haja outra maneira de fazer isso.
Enviei minha solução para o sourceforge: link