다음을 통해 공유


Marshal.FinalReleaseComObject(Object) 메서드

정의

참조 횟수를 0으로 설정하여, RCW(런타임 호출 가능 래퍼)에 대한 모든 참조를 해제합니다.

public:
 static int FinalReleaseComObject(System::Object ^ o);
[System.Security.SecurityCritical]
public static int FinalReleaseComObject (object o);
[System.Runtime.Versioning.SupportedOSPlatform("windows")]
public static int FinalReleaseComObject (object o);
public static int FinalReleaseComObject (object o);
[<System.Security.SecurityCritical>]
static member FinalReleaseComObject : obj -> int
[<System.Runtime.Versioning.SupportedOSPlatform("windows")>]
static member FinalReleaseComObject : obj -> int
static member FinalReleaseComObject : obj -> int
Public Shared Function FinalReleaseComObject (o As Object) As Integer

매개 변수

o
Object

해제할 RCW입니다.

반환

o 매개 변수에 연결된 RCW의 새 참조 횟수 값입니다. 해제 작업을 성공적으로 마치면 값이 0입니다.

특성

예외

o가 올바른 개체 범위가 아닌 경우

o이(가) null인 경우

설명

메서드는 FinalReleaseComObject COM 개체에 대한 관리되는 참조를 해제합니다. 이 메서드를 호출하는 것은 0을 ReleaseComObject 반환할 때까지 루프에서 메서드를 호출하는 것과 같습니다.

COM 개체의 참조 수가 0이 되면 COM 개체는 일반적으로 해제되지만 이는 COM 개체의 구현에 따라 달라지고 런타임의 제어를 벗어나는 것입니다. 그러나 RCW는 가비지 수집되기를 기다리며 여전히 존재할 수 있습니다.

COM 개체가 기본 RCW에서 분리된 후에는 사용할 수 없습니다. 참조 수가 0이 된 후 RCW에서 메서드를 호출하려고 하면 이 InvalidComObjectException throw됩니다.

적용 대상

추가 정보