다음을 통해 공유


SafeBuffer 클래스

정의

주의

SafeBuffer may be unavailable in future releases.

읽기 및 쓰기에 사용할 수 있는 제어되는 메모리 버퍼를 제공합니다. 제어되는 버퍼 외부의 메모리에 액세스(언더런 및 오버런)하려고 하면 예외가 발생됩니다.

public ref class SafeBuffer abstract : System::Runtime::InteropServices::SafeHandle
public ref class SafeBuffer abstract : Microsoft::Win32::SafeHandles::SafeHandleZeroOrMinusOneIsInvalid
[System.Security.SecurityCritical]
public abstract class SafeBuffer : System.Runtime.InteropServices.SafeHandle
public abstract class SafeBuffer : Microsoft.Win32.SafeHandles.SafeHandleZeroOrMinusOneIsInvalid
[System.Security.SecurityCritical]
public abstract class SafeBuffer : Microsoft.Win32.SafeHandles.SafeHandleZeroOrMinusOneIsInvalid
[System.Security.SecurityCritical]
[System.Obsolete("SafeBuffer may be unavailable in future releases.")]
public abstract class SafeBuffer : System.Runtime.InteropServices.SafeHandle
[<System.Security.SecurityCritical>]
type SafeBuffer = class
    inherit SafeHandle
type SafeBuffer = class
    inherit SafeHandleZeroOrMinusOneIsInvalid
[<System.Security.SecurityCritical>]
type SafeBuffer = class
    inherit SafeHandleZeroOrMinusOneIsInvalid
[<System.Security.SecurityCritical>]
[<System.Obsolete("SafeBuffer may be unavailable in future releases.")>]
type SafeBuffer = class
    inherit SafeHandle
Public MustInherit Class SafeBuffer
Inherits SafeHandle
Public MustInherit Class SafeBuffer
Inherits SafeHandleZeroOrMinusOneIsInvalid
상속
SafeBuffer
상속
상속
파생
특성

설명

인스턴스를 SafeBuffer.Initialize 사용하려면 먼저 메서드를 SafeBuffer호출해야 합니다. 개체의 인스턴스를 정적 변수에 저장할 때 경합을 SafeBuffer 방지하려면 다음 방법 중 하나를 사용해야 합니다.

참고

정적 클래스 생성자의 할당은 암시적으로 잠깁니다.

생성자

SafeBuffer(Boolean)
사용되지 않음.

SafeBuffer 클래스의 새 인스턴스를 만들고 버퍼 핸들이 안정적으로 해제될지 여부를 지정합니다.

필드

handle
사용되지 않음.

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

(다음에서 상속됨 SafeHandle)

속성

ByteLength
사용되지 않음.

버퍼의 크기(바이트)를 가져옵니다.

IsClosed
사용되지 않음.

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

(다음에서 상속됨 SafeHandle)
IsInvalid
사용되지 않음.

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

IsInvalid
사용되지 않음.

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

(다음에서 상속됨 SafeHandleZeroOrMinusOneIsInvalid)

메서드

AcquirePointer(Byte*)
사용되지 않음.

SafeBuffer 개체에서 메모리 블록에 대한 포인터를 가져옵니다.

Close()
사용되지 않음.

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

(다음에서 상속됨 SafeHandle)
DangerousAddRef(Boolean)
사용되지 않음.

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

(다음에서 상속됨 SafeHandle)
DangerousGetHandle()
사용되지 않음.

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

(다음에서 상속됨 SafeHandle)
DangerousRelease()
사용되지 않음.

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

(다음에서 상속됨 SafeHandle)
Dispose()
사용되지 않음.

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

(다음에서 상속됨 SafeHandle)
Dispose(Boolean)
사용되지 않음.

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

(다음에서 상속됨 SafeHandle)
Equals(Object)
사용되지 않음.

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

(다음에서 상속됨 Object)
GetHashCode()
사용되지 않음.

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

(다음에서 상속됨 Object)
GetType()
사용되지 않음.

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

(다음에서 상속됨 Object)
Initialize(UInt32, UInt32)
사용되지 않음.

지정된 요소 수 및 요소 크기를 사용하여 메모리 버퍼의 할당 크기를 지정합니다. SafeBuffer 인스턴스를 사용하려면 먼저 이 메서드를 호출해야 합니다.

Initialize(UInt64)
사용되지 않음.

메모리 영역의 할당 크기(바이트)를 정의합니다. SafeBuffer 인스턴스를 사용하려면 먼저 이 메서드를 호출해야 합니다.

Initialize<T>(UInt32)
사용되지 않음.

값 형식의 수를 지정하여 메모리 영역의 할당 크기를 정의합니다. SafeBuffer 인스턴스를 사용하려면 먼저 이 메서드를 호출해야 합니다.

MemberwiseClone()
사용되지 않음.

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

(다음에서 상속됨 Object)
Read<T>(UInt64)
사용되지 않음.

메모리의 지정된 오프셋 위치에서 값 형식을 읽습니다.

ReadArray<T>(UInt64, T[], Int32, Int32)
사용되지 않음.

메모리의 오프셋 시작 위치에서 지정된 수의 값 형식을 읽어서 이를 배열의 인덱스 시작 위치에 씁니다.

ReadSpan<T>(UInt64, Span<T>)
사용되지 않음.

오프셋에서 시작하는 메모리에서 값 형식을 읽고 범위에 씁니다. 읽을 값 형식의 수는 범위의 길이에 따라 결정됩니다.

ReleaseHandle()
사용되지 않음.

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

(다음에서 상속됨 SafeHandle)
ReleasePointer()
사용되지 않음.

AcquirePointer(Byte*) 메서드에서 가져온 포인터를 해제합니다.

SetHandle(IntPtr)
사용되지 않음.

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

(다음에서 상속됨 SafeHandle)
SetHandleAsInvalid()
사용되지 않음.

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

(다음에서 상속됨 SafeHandle)
ToString()
사용되지 않음.

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

(다음에서 상속됨 Object)
Write<T>(UInt64, T)
사용되지 않음.

메모리의 지정된 위치에 값 형식을 씁니다.

WriteArray<T>(UInt64, T[], Int32, Int32)
사용되지 않음.

입력 배열의 지정된 위치에서 시작하여 바이트를 읽어 메모리 위치에 지정된 수의 값 형식을 씁니다.

WriteSpan<T>(UInt64, ReadOnlySpan<T>)
사용되지 않음.

읽기 전용 범위에서 메모리 위치에 값 형식을 씁니다.

적용 대상