다음을 통해 공유


CriticalHandle 클래스

정의

핸들 리소스에 대한 래퍼 클래스를 나타냅니다.

public ref class CriticalHandle abstract : IDisposable
public ref class CriticalHandle abstract : System::Runtime::ConstrainedExecution::CriticalFinalizerObject, IDisposable
[System.Security.SecurityCritical]
public abstract class CriticalHandle : IDisposable
public abstract class CriticalHandle : System.Runtime.ConstrainedExecution.CriticalFinalizerObject, IDisposable
[System.Security.SecurityCritical]
public abstract class CriticalHandle : System.Runtime.ConstrainedExecution.CriticalFinalizerObject, IDisposable
[<System.Security.SecurityCritical>]
type CriticalHandle = class
    interface IDisposable
type CriticalHandle = class
    inherit CriticalFinalizerObject
    interface IDisposable
[<System.Security.SecurityCritical>]
type CriticalHandle = class
    inherit CriticalFinalizerObject
    interface IDisposable
Public MustInherit Class CriticalHandle
Implements IDisposable
Public MustInherit Class CriticalHandle
Inherits CriticalFinalizerObject
Implements IDisposable
상속
CriticalHandle
상속
파생
특성
구현

설명

CriticalHandle 클래스는 참조 계산을 SafeHandle 구현한다는 점을 SafeHandle 제외하고 클래스와 비슷합니다. 필요한 동기화를 보다 효율적으로 직접 제공할 수 있는 경우 대신 를 사용하여 CriticalHandleSafeHandle 성능 고려 사항을 해결할 수 있습니다.

클래스는 참조 계산을 CriticalHandle 수행하지 않으므로 재활용 보안 공격 처리로부터 보호를 제공하지 않습니다. 참조 계산 알고리즘은 암시적으로 작업을 직렬화하므로 일정량의 스레드 안전성도 손실됩니다. 핸들을 IDisposable.Dispose 사용하는 작업이 다른 스레드에서 처리되지 않는 동안 또는 Close 메서드를 호출하거나 동시에 두 스레드에서 또는 Close 를 호출 IDisposable.Dispose 하는 경우 결과는 비결정적입니다. 클래스는 CriticalHandle 여전히 클래스에서 제공하는 보장된 중요 종료를 CriticalFinalizerObject 제공합니다.

생성자

CriticalHandle(IntPtr)

지정된 잘못된 핸들 값을 사용하여 CriticalHandle 클래스의 새 인스턴스를 초기화합니다.

필드

handle

래핑할 핸들을 지정합니다.

속성

IsClosed

핸들이 닫혔는지 여부를 나타내는 값을 가져옵니다.

IsInvalid

파생 클래스에서 재정의된 경우 핸들 값이 잘못되었는지 여부를 나타내는 값을 가져옵니다.

메서드

Close()

핸들의 리소스를 해제하도록 표시합니다.

Dispose()

CriticalHandle에서 사용하는 모든 리소스를 해제합니다.

Dispose(Boolean)

일반적인 삭제 작업을 수행할지 여부를 지정하여 CriticalHandle 클래스에서 사용하는 관리되지 않는 리소스를 해제합니다.

Equals(Object)

지정된 개체가 현재 개체와 같은지 확인합니다.

(다음에서 상속됨 Object)
Finalize()

핸들에 연결된 모든 리소스를 해제합니다.

GetHashCode()

기본 해시 함수로 작동합니다.

(다음에서 상속됨 Object)
GetType()

현재 인스턴스의 Type을 가져옵니다.

(다음에서 상속됨 Object)
MemberwiseClone()

현재 Object의 단순 복사본을 만듭니다.

(다음에서 상속됨 Object)
ReleaseHandle()

파생 클래스에서 재정의된 경우 핸들을 해제하는 데 필요한 코드를 실행합니다.

SetHandle(IntPtr)

지정된 기존 핸들에 대한 핸들을 설정합니다.

SetHandleAsInvalid()

핸들을 잘못된 것으로 표시합니다.

ToString()

현재 개체를 나타내는 문자열을 반환합니다.

(다음에서 상속됨 Object)

적용 대상

추가 정보