Compartilhar via


Método SafeHandle.DangerousAddRef (Boolean)

 

Dica

The .NET API Reference documentation has a new home. Visit the .NET API Browser on docs.microsoft.com to see the new experience.

Incrementa manualmente o contador de referências em instâncias do SafeHandle.

Namespace:   System.Runtime.InteropServices
Assembly:  mscorlib (em mscorlib.dll)

Sintaxe

[SecurityCriticalAttribute]
public void DangerousAddRef(
    ref bool success
)
public:
[SecurityCriticalAttribute]
void DangerousAddRef(
    bool% success
)
[<SecurityCriticalAttribute>]
member DangerousAddRef : 
        success:bool byref -> unit
<SecurityCriticalAttribute>
Public Sub DangerousAddRef (
    ByRef success As Boolean
)

Parâmetros

  • success
    Type: System.Boolean

    true se o contador de referências tiver sido aumentado com êxito; caso contrário, false.

Comentários

O DangerousAddRef método impede que o common language runtime recuperar memória usada por um identificador (o que ocorre quando o tempo de execução chama o ReleaseHandle método). Você pode usar esse método para incrementar a contagem de referência em manualmente um SafeHandle instância.DangerousAddRefRetorna um valor booliano usando um ref parâmetro (success) que indica se a contagem de referência foi incrementada com êxito. Isso permite que sua lógica de programa de volta em caso de falha. Você deve definir success para false antes de chamar DangerousAddRef. Se success é true, evitar vazamentos de recursos correspondendo a chamada para DangerousAddRef com uma chamada correspondente para DangerousRelease.

Aviso

Este método destina-se para usuários avançados e sempre deve ser usado com cuidado. Para evitar o vazamento de recursos do identificador, sempre chame esse método dentro de uma região de execução restrita (CER), onde uma anulação de thread não é possível interromper o processamento.

Segurança

SecurityPermission

for permission to call unmanaged code. Security action: F:System.Security.Permissions.SecurityAction.LinkDemand. Associated enumeration: F:System.Security.Permissions.SecurityPermissionFlag.UnmanagedCode

Informações de Versão

Plataforma Universal do Windows
Disponível desde 8
.NET Framework
Disponível desde 2.0
Biblioteca de Classes Portátil
Com suporte no: plataformas portáteis do .NET
Silverlight
Disponível desde 2.0
Windows Phone Silverlight
Disponível desde 7.0
Windows Phone
Disponível desde 8.1

Confira Também

DangerousRelease
Classe SafeHandle
Namespace System.Runtime.InteropServices

Retornar ao início