SafeHandle.DangerousAddRef(Boolean) メソッド

定義

SafeHandle インスタンスの参照カウンターを手動でインクリメントします。

public:
 void DangerousAddRef(bool % success);
[System.Security.SecurityCritical]
public void DangerousAddRef (ref bool success);
public void DangerousAddRef (ref bool success);
[<System.Security.SecurityCritical>]
member this.DangerousAddRef : bool -> unit
member this.DangerousAddRef : bool -> unit
Public Sub DangerousAddRef (ByRef success As Boolean)

パラメーター

success
Boolean

参照カウンターが正常にインクリメントされた場合は true。それ以外の場合は false

属性

注釈

このメソッドは DangerousAddRef 、共通言語ランタイムがハンドルによって使用されるメモリを再利用できないようにします (これは、ランタイムがメソッドを呼び出すときに ReleaseHandle 発生します)。 このメソッドを使用して、インスタンスの参照カウントを手動で SafeHandle インクリメントできます。 DangerousAddRefは、参照カウントが正常にインクリメントされたかどうかを示すパラメーター (success) を使用してrefブール値を返します。 これにより、エラーが発生した場合にプログラム ロジックをバックアウトできます。 呼び出すDangerousAddRef前に設定successするfalse必要があります。 の場合 successtrue、呼び出しと対応する呼び出し DangerousAddRef を照合して、リソース リークを回避します DangerousRelease

注意事項

この方法は上級ユーザーを対象としており、常に慎重に使用する必要があります。 ハンドル リソースのリークを回避するには、スレッドの中止が処理を中断できない、制約付き実行領域内 (CER) 内で常にこのメソッドを呼び出します。

適用対象

こちらもご覧ください