Método SafeHandle.DangerousGetHandle ()
Dica
The .NET API Reference documentation has a new home. Visit the .NET API Browser on docs.microsoft.com to see the new experience.
Retorna o valor do campo handle.
Namespace: System.Runtime.InteropServices
Assembly: mscorlib (em mscorlib.dll)
Sintaxe
public IntPtr DangerousGetHandle()
public:
IntPtr DangerousGetHandle()
member DangerousGetHandle : unit -> nativeint
Public Function DangerousGetHandle As IntPtr
Valor Retornado
Type: System.IntPtr
Um IntPtr que representa o valor do campo handle. Se o identificador tiver sido marcado como inválido com SetHandleAsInvalid, esse método ainda retornará o valor do identificador original, que pode ser um valor obsoleto.
Comentários
Você pode usar esse método para recuperar o valor real do identificador de uma instância do SafeHandle classe derivada. Esse método é necessário para versões anteriores compatibilidade porque muitas propriedades no .NET Framework retornarem IntPtr tratar tipos.IntPtrtipos de identificador são tipos específicos de plataforma usados para representar um ponteiro ou um identificador.
Aviso
Usando o DangerousGetHandle método pode representar riscos de segurança porque, se o identificador tiver sido marcado como inválido com SetHandleAsInvalid, DangerousGetHandle ainda retorna o valor do identificador original, potencialmente obsoletos. O identificador retornado também pode ser reciclado a qualquer momento. Na melhor das hipóteses, isso significa que o identificador pode parar de funcionar repentinamente. Na pior das hipóteses, se o identificador ou o recurso que representa o identificador é exposto para código não confiável, isso pode levar a um ataque de segurança de reciclagem no identificador retornado ou reutilizado. Por exemplo, um chamador não confiável pode consultar dados no identificador do apenas retornados e receber informações de um recurso totalmente não relacionada. Consulte o DangerousAddRef e DangerousRelease métodos para obter mais informações sobre como usar o DangerousGetHandle methodsafely.
Segurança
for permission to call unmanaged code. Security action: F:System.Security.Permissions.SecurityAction.LinkDemand. Associated enumeration: F:System.Security.Permissions.SecurityPermissionFlag.UnmanagedCode
Informações de Versão
Plataforma Universal do Windows
Disponível desde 8
.NET Framework
Disponível desde 2.0
Biblioteca de Classes Portátil
Com suporte no: plataformas portáteis do .NET
Silverlight
Disponível desde 2.0
Windows Phone Silverlight
Disponível desde 7.0
Windows Phone
Disponível desde 8.1
Confira Também
Classe SafeHandle
Namespace System.Runtime.InteropServices
Retornar ao início