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 campo handle.
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 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.