Como posso desabilitar no nível do aplicativo uma interface de rede?
A questão principal é esta:
Se eu desabilitar o nic em wmic (win7) ou devcon (XP), o "plug and play" de um nic fio não funciona mais. Por exemplo, se o usuário colocar o cabo em um nic com deficiência, o sistema operacional não saberá sobre isso.
Portanto, preciso persistir a condição de ativação, mas desabilitar a rede como um nic de desativação.
Há alguma API, configuração de rede (roteamento, alteração de IP, alteração de gateway, qualquer), recurso do .NET Framework (somente NetFramework 2.0) ou você pode pensar em alguma solução alternativa para fazer isso?
Sugestões e ideias também serão tratadas como uma solução.
Obrigado e cumprimentos.
Editar : O porquê:
Estou fazendo uma inscrição solicitada por uma empresa de terceiros para resolver um problema de pessoas não responsáveis.
A idéia principal do aplicativo é automaticamente "desativar" (até agora não acho que por 'desativar' está desabilitando o nic), então automaticamente "desabilitar" um fio selecionado.
Mas, em algumas condições, por exemplo, um desligamento do DNS ou algo parecido, se o usuário conecta o cabo utp na eth, o aplicativo precisa saber se está conectado, até o topo.
O aplicativo tem um fluxo de trabalho orientado para o comportamento "não seja um tolo". Por isso, precisamos cuidar de todas as condições, para usuários especialistas ou novatos.
Suponha que este caso:
nic A está ativado e ativado.
nic B está ativado e desativado.
O usuário conecta o cabo B.
o nic B está ativado e ativo.
A aplicação desativa a conexão B.
nic B está desativado.
O usuário desconecta o cabo B
O nic A está ativado, mas não tem conexão com a Internet. (Para terceira empresa é um caso "baixo")
O aplicativo desativa o nic A.
O aplicativo NÃO pode ativar o nic B quando os usuários reconectarem o cabo B.
Até agora, há muitas combinações.