다음을 통해 공유


SafeNCryptHandle 클래스

정의

CNG(Cryptography Next Generation) 개체에서 사용할 수 있는 SafeHandle을 제공합니다.

이 API는 제품 인프라를 지원하며 코드에서 직접 사용되지 않습니다.

public ref class SafeNCryptHandle abstract : Microsoft::Win32::SafeHandles::SafeHandleZeroOrMinusOneIsInvalid
public ref class SafeNCryptHandle abstract : System::Runtime::InteropServices::SafeHandle
public abstract class SafeNCryptHandle : Microsoft.Win32.SafeHandles.SafeHandleZeroOrMinusOneIsInvalid
public abstract class SafeNCryptHandle : System.Runtime.InteropServices.SafeHandle
[System.Security.SecurityCritical(System.Security.SecurityCriticalScope.Everything)]
public abstract class SafeNCryptHandle : Microsoft.Win32.SafeHandles.SafeHandleZeroOrMinusOneIsInvalid
type SafeNCryptHandle = class
    inherit SafeHandleZeroOrMinusOneIsInvalid
type SafeNCryptHandle = class
    inherit SafeHandle
[<System.Security.SecurityCritical(System.Security.SecurityCriticalScope.Everything)>]
type SafeNCryptHandle = class
    inherit SafeHandleZeroOrMinusOneIsInvalid
Public MustInherit Class SafeNCryptHandle
Inherits SafeHandleZeroOrMinusOneIsInvalid
Public MustInherit Class SafeNCryptHandle
Inherits SafeHandle
상속
상속
SafeNCryptHandle
파생
특성

설명

이 클래스는 논리를 래핑하여 이러한 핸들을 올바르게 복제하고 해제하여 네이티브 중복을 시뮬레이션합니다.

열려 있는 각 핸들 개체는 다음 세 가지 상태 중 하나에 있는 것으로 간주할 수 있습니다.

  • 소유자 - 마샬러, 기존 스타일 안전 핸들을 통해 생성됩니다. 특히 지정된 네이티브 핸들에 대해 하나의 소유자 핸들만 존재합니다.
  • 중복 - 홀더 상태의 핸들을 가리킵니다. 중복 상태에서 핸들을 해제하면 네이티브 핸들의 릴리스가 아니라 홀더의 참조 횟수가 감소합니다.
  • 홀더 - 네이티브 핸들을 유지하며 중복 상태의 핸들에서 참조됩니다. 중복 핸들이 모두 닫힌 경우 홀더 핸들은 네이티브 핸들을 해제합니다. 이 경우 중복 핸들의 종료자와 홀더 핸들 간의 경합이 발생하므로 홀더 핸들은 종료되지 않습니다. 대신 모든 중복 핸들을 사용하여 마무리하고 ref 수를 0으로 감소합니다. 홀더 핸들의 인스턴스는 중복 핸들 외에는 아무것도 참조해서는 안 됩니다.

생성자

SafeNCryptHandle()

이 API는 제품 인프라를 지원하며 코드에서 직접 사용되지 않습니다.

SafeNCryptHandle 클래스의 새 인스턴스를 초기화합니다.

SafeNCryptHandle(IntPtr, SafeHandle)

이 API는 제품 인프라를 지원하며 코드에서 직접 사용되지 않습니다.

SafeNCryptHandle 클래스의 새 인스턴스를 인스턴스화합니다.

필드

handle

이 API는 제품 인프라를 지원하며 코드에서 직접 사용되지 않습니다.

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

(다음에서 상속됨 SafeHandle)

속성

IsClosed

이 API는 제품 인프라를 지원하며 코드에서 직접 사용되지 않습니다.

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

(다음에서 상속됨 SafeHandle)
IsInvalid

이 API는 제품 인프라를 지원하며 코드에서 직접 사용되지 않습니다.

핸들이 잘못되었는지 여부를 나타내는 값을 가져옵니다.

IsInvalid

이 API는 제품 인프라를 지원하며 코드에서 직접 사용되지 않습니다.

핸들이 잘못되었는지 여부를 나타내는 값을 가져옵니다.

(다음에서 상속됨 SafeHandleZeroOrMinusOneIsInvalid)

메서드

Close()

이 API는 제품 인프라를 지원하며 코드에서 직접 사용되지 않습니다.

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

(다음에서 상속됨 SafeHandle)
DangerousAddRef(Boolean)

이 API는 제품 인프라를 지원하며 코드에서 직접 사용되지 않습니다.

SafeHandle 인스턴스의 참조 카운터의 값을 수동으로 증가시킵니다.

(다음에서 상속됨 SafeHandle)
DangerousGetHandle()

이 API는 제품 인프라를 지원하며 코드에서 직접 사용되지 않습니다.

handle 필드의 값을 반환합니다.

(다음에서 상속됨 SafeHandle)
DangerousRelease()

이 API는 제품 인프라를 지원하며 코드에서 직접 사용되지 않습니다.

SafeHandle 인스턴스의 참조 카운터의 값을 수동으로 감소시킵니다.

(다음에서 상속됨 SafeHandle)
Dispose()

이 API는 제품 인프라를 지원하며 코드에서 직접 사용되지 않습니다.

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

(다음에서 상속됨 SafeHandle)
Dispose(Boolean)

이 API는 제품 인프라를 지원하며 코드에서 직접 사용되지 않습니다.

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

(다음에서 상속됨 SafeHandle)
Equals(Object)

이 API는 제품 인프라를 지원하며 코드에서 직접 사용되지 않습니다.

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

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

이 API는 제품 인프라를 지원하며 코드에서 직접 사용되지 않습니다.

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

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

이 API는 제품 인프라를 지원하며 코드에서 직접 사용되지 않습니다.

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

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

이 API는 제품 인프라를 지원하며 코드에서 직접 사용되지 않습니다.

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

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

이 API는 제품 인프라를 지원하며 코드에서 직접 사용되지 않습니다.

CNG(Cryptography Next Generation) 개체에 사용되는 핸들을 해제합니다.

ReleaseNativeHandle()

이 API는 제품 인프라를 지원하며 코드에서 직접 사용되지 않습니다.

CNG(Cryptography Next Generation) 개체에 사용되는 네이티브 핸들을 해제합니다.

SetHandle(IntPtr)

이 API는 제품 인프라를 지원하며 코드에서 직접 사용되지 않습니다.

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

(다음에서 상속됨 SafeHandle)
SetHandleAsInvalid()

이 API는 제품 인프라를 지원하며 코드에서 직접 사용되지 않습니다.

더 이상 사용되지 않는 핸들로 표시합니다.

(다음에서 상속됨 SafeHandle)
ToString()

이 API는 제품 인프라를 지원하며 코드에서 직접 사용되지 않습니다.

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

(다음에서 상속됨 Object)

적용 대상