SafeHandle.DangerousGetHandle Método

Definição

Retorna o valor do campo handle.Returns the value of the handle field.

public:
 IntPtr DangerousGetHandle();
public IntPtr DangerousGetHandle ();
member this.DangerousGetHandle : unit -> nativeint
Public Function DangerousGetHandle () As IntPtr

Retornos

IntPtr

Um IntPtr que representa o valor do campo handle.An IntPtr representing the value of the handle field. 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.If the handle has been marked invalid with SetHandleAsInvalid(), this method still returns the original handle value, which can be a stale value.

Comentários

Você pode usar esse método para recuperar o valor do identificador real de uma instância da SafeHandle classe derivada.You can use this method to retrieve the actual handle value from an instance of the SafeHandle derived class. Esse método é necessário para compatibilidade com versões anteriores porque muitas propriedades no .NET Framework retornam IntPtr tipos de identificadores.This method is needed for backwards compatibility because many properties in the .NET Framework return IntPtr handle types. IntPtr os tipos de identificador são tipos específicos da plataforma usados para representar um ponteiro ou um identificador.IntPtr handle types are platform-specific types used to represent a pointer or a handle.

Cuidado

O uso do DangerousGetHandle método pode representar riscos de segurança porque, se o identificador tiver sido marcado como inválido com SetHandleAsInvalid , DangerousGetHandle o ainda retornará o valor de identificador original e potencialmente obsoleto.Using the DangerousGetHandle method can pose security risks because, if the handle has been marked as invalid with SetHandleAsInvalid, DangerousGetHandle still returns the original, potentially stale handle value. O identificador retornado também pode ser reciclado a qualquer momento.The returned handle can also be recycled at any point. Na melhor das hipóteses, isso significa que o identificador pode parar de funcionar repentinamente.At best, this means the handle might suddenly stop working. Na pior das hipóteses, se o identificador ou o recurso que o identificador representa for exposto a um código não confiável, isso poderá levar a um ataque de segurança de reciclagem no identificador reutilizado ou retornado.At worst, if the handle or the resource that the handle represents is exposed to untrusted code, this can lead to a recycling security attack on the reused or returned handle. Por exemplo, um chamador não confiável pode consultar dados na alça que acabou de retornar e receber informações para um recurso totalmente não relacionado.For example, an untrusted caller can query data on the handle just returned and receive information for an entirely unrelated resource. Consulte os DangerousAddRef métodos e DangerousRelease para obter mais informações sobre como usar o DangerousGetHandle methodsafely.See the DangerousAddRef and the DangerousRelease methods for more information about using the DangerousGetHandle methodsafely.

Aplica-se a