Usando classes de wrapper gerenciado

A maioria dos aplicativos e componentes (exceto bibliotecas seguras) não diretamente devem telefonar código não gerenciado.Há várias razões para isso.Se código telefonar s código não gerenciado diretamente, ele não poderá ser executado em muitas circunstâncias, pois o código deve receber um alto nível de confiança para telefonar código nativo.Se diretiva é modificada para permitir que tal um aplicativo seja executado, ele pode reduzir significativamente a segurança do sistema, deixando disponível para executar qualquer operação do aplicativo.

Além disso, o código que tenha permissão para acesso código não gerenciado provavelmente pode executar qualquer operação chamando uma API não gerenciada.Por exemplo, o código que tenha permissão para telefonar código não gerenciado não precisa de FileIOPermission para acessar um arquivo; pode apenas telefonar API diretamente, ignorando arquivo gerenciado API que requer o arquivo um não-gerenciado (Win32) FileIOPermission.Se o código gerenciado tenha permissão para chamar código não gerenciado e chamar diretamente em código não gerenciado, o sistema de segurança não poderá confiável impor restrições de segurança, desde que o tempo de execução não pode impor essas restrições em código não gerenciado.

Se desejar que seu aplicativo para executar uma operação que requer acesso a código não gerenciado, ele deve fazê-lo por meio de uma classe gerenciada confiável que encapsula a funcionalidade necessária (se essa classe existir).Não crie uma classe de invólucro você mesmo se já existir em uma biblioteca de classes segura.A classe wrapper deve receber um alto grau de confiança ter permissão para fazer a telefonar em código não gerenciado, é responsável por exigentes chamadores tem as permissões apropriadas.Se você usar a classe wrapper, seu código precisa apenas solicitar e receber permissões que exige a classe wrapper.

Consulte também

Conceitos

Usando Secure classe bibliotecas

Referência

FileIOPermission

Outros recursos

Segurança de Acesso de código