SafeHandle.DangerousGetHandle Método

Definição

Devolve o valor do handle campo.

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

Devoluções

IntPtr

nativeint

An IntPtr representa o valor do handle campo. Se o handle for marcado como inválido com SetHandleAsInvalid(), este método ainda devolve o valor original do handle, que pode ser um valor obsoleto.

Observações

Pode usar este método para recuperar o valor real do handle a partir de uma instância da SafeHandle classe derivada. Este método é necessário para compatibilidade retroativa porque muitas propriedades no .NET Framework retornam IntPtr tipos de handles. IntPtr Os tipos de alavanca são tipos específicos de plataforma usados para representar um ponteiro ou uma alça.

Atenção

A utilização do DangerousGetHandle método pode representar riscos de segurança porque, se o handle for marcado como inválido com SetHandleAsInvalid, DangerousGetHandle ainda assim devolve o valor original do handle, potencialmente obsoleto. O cabo devolvido também pode ser reciclado em qualquer ponto. No melhor dos casos, isto significa que a manivela pode deixar de funcionar subitamente. No pior dos casos, se o handle ou o recurso que ele representa estiver exposto a código não confiável, isso pode levar a um ataque de reciclagem de segurança no handle reutilizado ou devolvido. Por exemplo, um chamador não confiável pode consultar dados no handle recém-devolvido e receber informação de um recurso totalmente não relacionado. Consulte os DangerousAddRefDangerousRelease métodos e para mais informações sobre como utilizar o DangerousGetHandle método em segurança.

Aplica-se a