Compartilhar via


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

SecurityPermission

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