SafeHandle.DangerousGetHandle Método

Definição

Retorna o valor do handle campo.

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 handle campo. Se o identificador tiver sido marcado como inválido, SetHandleAsInvalid()esse método ainda retornará o valor de 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 da SafeHandle classe derivada. Esse método é necessário para compatibilidade com versões anteriores porque muitas propriedades no .NET Framework retornam tipos de identificador IntPtr. IntPtr tipos de identificador são tipos específicos de plataforma usados para representar um ponteiro ou um identificador.

Caution

Usar o 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 de repente. 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 que acabou de retornar e receber informações de um recurso totalmente não relacionado. Consulte os DangerousAddRef métodos e os DangerousRelease métodos para obter mais informações sobre como usar o DangerousGetHandle método com segurança.

Aplica-se a