Partilhar via


SafeHandle.DangerousGetHandle Método

Definição

Retorna o valor do campo handle.

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

Retornos

IntPtr

nativeint

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 de identificador real de uma instância da SafeHandle classe derivada. Esse método é necessário para compatibilidade com versões anteriores porque muitas propriedades no .NET Framework retornam IntPtr tipos de identificador. IntPtr os tipos de identificador são tipos específicos da plataforma usados para representar um ponteiro ou um identificador.

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 ainda retornará o valor de identificador original, potencialmente obsoleto. 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 o identificador representa for exposto a código não confiável, isso poderá levar a um ataque de segurança de reciclagem no identificador reutilizado ou retornado. Por exemplo, um chamador não confiável pode consultar dados no identificador apenas retornados e receber informações para um recurso totalmente não relacionado. Consulte os DangerousAddRef métodos e DangerousRelease para obter mais informações sobre como usar o DangerousGetHandle método com segurança.

Aplica-se a