Monday 12 March 2018

Marshal gethrforexception vb net


Marshal. GetHRForException Method.


Converte a exceção especificada em um HRESULT.


Parâmetros.


Valor de retorno.


O HRESULT mapeado para a exceção fornecida.


GetHRForException também configura uma interface IErrorInfo para a exceção que pode ser obtida chamando o método GetErrorInfo COM API. Você pode usar esse método para retornar um valor HRESULT em uma implementação de classe gerenciada de uma interface COM onde você aplica o System. Runtime. InteropServices. PreserveSigAttribute. Tenha o método atribuído pegar todas as exceções e usar GetHRForException para retornar o valor HRESULT apropriado. Permitir que uma exceção se propague fora do método produz um comportamento incorreto. (Na verdade, o tempo de execução da linguagem comum não pode passar uma exceção para um cliente COM chamando esse método através de uma tabela v.) Para obter informações adicionais sobre a interface IErrorInfo e os métodos COM GetErrorInfo, consulte a Biblioteca MSDN.


Nota Este método usa SecurityAction. LinkDemand para evitar que seja chamado de código não confiável; apenas o chamador imediato é necessário para ter a permissão SecurityPermissionAttribute. UnmanagedCode. Se o seu código pode ser chamado a partir de código parcialmente confiável, não passe a entrada do usuário para métodos de classe Marshal sem validação. Para limitações importantes ao usar o membro LinkDemand, veja Demand vs. LinkDemand.


Requisitos.


Plataformas: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, família Windows Server 2003.


Marechal. Método GetHRForException (Exception)


A documentação de referência da API tem uma nova casa. Visite o navegador da API no docs. microsoft para ver a nova experiência.


Converte a exceção especificada em um HRESULT.


Assembly: mscorlib (em mscorlib. dll)


Parâmetros.


A exceção para converter em um HRESULT.


Valor de retorno.


O HRESULT mapeado para a exceção fornecida.


GetHRForException também configura uma interface IErrorInfo para a exceção que pode ser obtida chamando a função COM GetErrorInfoNEEDGUID. Você pode usar essa função para retornar um valor HRESULT em uma implementação de classe gerenciada de uma interface COM onde você aplica o atributo PreserveSigAttribute. Ter o método atribuído pegar todas as exceções e usar o método GetHRForException para retornar o valor HRESULT apropriado. Permitir que uma exceção se propague fora do método produz um comportamento incorreto. (Na verdade, o tempo de execução da linguagem comum não consegue passar uma exceção para um cliente COM que chama esse método através de uma tabela v.)


Observe que o método GetHRForException define a interface IErrorInfo do segmento atual. Isso pode causar resultados inesperados para métodos como os métodos ThrowExceptionForHR que padrão para usar o IErrorInfo do segmento atual se ele estiver configurado.


requer confiança total para o chamador imediato. Este membro não pode ser usado por código parcialmente confiável ou transparente.


Marshal. GetHRForException Method.


Converte a exceção especificada em um HRESULT.


Parâmetros.


Valor de retorno.


O HRESULT mapeado para a exceção fornecida.


GetHRForException também configura uma interface IErrorInfo para a exceção que pode ser obtida chamando o método GetErrorInfo COM API. Você pode usar esse método para retornar um valor HRESULT em uma implementação de classe gerenciada de uma interface COM onde você aplica o System. Runtime. InteropServices. PreserveSigAttribute. Tenha o método atribuído pegar todas as exceções e usar GetHRForException para retornar o valor HRESULT apropriado. Permitir que uma exceção se propague fora do método produz um comportamento incorreto. (Na verdade, o tempo de execução da linguagem comum não pode passar uma exceção para um cliente COM chamando esse método através de uma tabela v.) Para obter informações adicionais sobre a interface IErrorInfo e os métodos COM GetErrorInfo, consulte a Biblioteca MSDN.


Nota Este método usa SecurityAction. LinkDemand para evitar que seja chamado de código não confiável; apenas o chamador imediato é necessário para ter a permissão SecurityPermissionAttribute. UnmanagedCode. Se o seu código pode ser chamado a partir de código parcialmente confiável, não passe a entrada do usuário para métodos de classe Marshal sem validação. Para limitações importantes ao usar o membro LinkDemand, veja Demand vs. LinkDemand.


Requisitos.


Plataformas: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, família Windows Server 2003.


Classe Marshal.


Fornece uma coleção de métodos para alocar memória não gerenciada, copiando blocos de memória não gerenciados e conversão gerenciada em tipos não gerenciados, bem como outros métodos diversos usados ​​ao interagir com o código não gerenciado.


Para obter uma lista de todos os membros desse tipo, consulte Membros do Marechal.


Segurança de linha.


Qualquer público estático (Shared no Visual Basic) membros desse tipo são thread-safe. Todos os membros da instância não são garantidos para serem seguros por thread.


Os métodos estáticos (Shared in Visual Basic) definidos na classe Marshal são essenciais para trabalhar com código não gerenciado. A maioria dos métodos definidos aqui são geralmente utilizados por desenvolvedores avançados que criam agentes personalizados que precisam fornecer uma ponte entre os modelos de programação gerenciados e não gerenciados. Por exemplo, o método StringToHGlobalAnsi copia os caracteres ANSI de uma string especificada (no heap gerenciado) para um buffer no heap não gerenciado. Ele também aloca o heap do alvo do tamanho certo, como o seguinte código C # mostra:


O tempo de execução de linguagem comum fornece recursos de empacotamento específicos. Para obter detalhes sobre o comportamento de marshaling, consulte Interop Marshaling.


A classe Marshal compreende muitos membros diversos. A tabela a seguir atribui cada membro à categoria que melhor descreve seu uso.


Requisitos.


Plataformas: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, família Windows Server 2003, Compact Framework.


Marshal. GetHRForException Method.


Converte a exceção especificada em um HRESULT.


Parâmetros.


Valor de retorno.


O HRESULT mapeado para a exceção fornecida.


GetHRForException também configura uma interface IErrorInfo para a exceção que pode ser obtida chamando o método GetErrorInfo COM API. Você pode usar esse método para retornar um valor HRESULT em uma implementação de classe gerenciada de uma interface COM onde você aplica o System. Runtime. InteropServices. PreserveSigAttribute. Tenha o método atribuído pegar todas as exceções e usar GetHRForException para retornar o valor HRESULT apropriado. Permitir que uma exceção se propague fora do método produz um comportamento incorreto. (Na verdade, o tempo de execução da linguagem comum não pode passar uma exceção para um cliente COM chamando esse método através de uma tabela v.) Para obter informações adicionais sobre a interface IErrorInfo e os métodos COM GetErrorInfo, consulte a Biblioteca MSDN.


Nota Este método usa SecurityAction. LinkDemand para evitar que seja chamado de código não confiável; apenas o chamador imediato é necessário para ter a permissão SecurityPermissionAttribute. UnmanagedCode. Se o seu código pode ser chamado a partir de código parcialmente confiável, não passe a entrada do usuário para métodos de classe Marshal sem validação. Para limitações importantes ao usar o membro LinkDemand, veja Demand vs. LinkDemand.


Requisitos.


Plataformas: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, família Windows Server 2003.

No comments:

Post a Comment