SafeHandle.DangerousGetHandle Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Retorna o valor do handle campo.
public:
IntPtr DangerousGetHandle();
public IntPtr DangerousGetHandle();
member this.DangerousGetHandle : unit -> nativeint
Public Function DangerousGetHandle () As IntPtr
Retornos
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.