SafeBuffer Sınıf

Tanım

Dikkat

SafeBuffer may be unavailable in future releases.

Okuma ve yazma için kullanılabilecek denetimli bir bellek arabelleği sağlar. Denetlenen arabellek (yetersiz çalıştırmalar ve taşmalar) dışındaki belleğe erişme girişimleri özel durumlar oluşturur.

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
Devralma
SafeBuffer
Devralma
Devralma
Türetilmiş
Öznitelikler

Açıklamalar

herhangi bir örneğini SafeBuffer.InitializeSafeBufferkullanmadan önce yöntemini çağırmalısınız. Bir nesnenin SafeBuffer örneğini statik değişkende depoladığınızda yarışlardan kaçınmak için aşağıdaki yaklaşımlardan birini kullanmalısınız:

Note

Statik sınıf oluşturucusunda atamalar örtük olarak kilitlenir.

Oluşturucular

Name Description
SafeBuffer(Boolean)
Geçersiz.

sınıfının yeni bir örneğini SafeBuffer oluşturur ve arabellek tanıtıcısının güvenilir bir şekilde serbest bırakılıp bırakılmayacağını belirtir.

Alanlar

Name Description
handle
Geçersiz.

Sarmalanacak tanıtıcıyı belirtir.

(Devralındığı yer: SafeHandle)

Özellikler

Name Description
ByteLength
Geçersiz.

Arabellek boyutunu bayt cinsinden alır.

IsClosed
Geçersiz.

Tanıtıcının kapatılıp kapatılmadığını belirten bir değer alır.

(Devralındığı yer: SafeHandle)
IsInvalid
Geçersiz.

Tanıtıcının geçersiz olup olmadığını gösteren bir değer alır.

IsInvalid
Geçersiz.

Tanıtıcının geçersiz olup olmadığını gösteren bir değer alır.

(Devralındığı yer: SafeHandleZeroOrMinusOneIsInvalid)

Yöntemler

Name Description
AcquirePointer(Byte*)
Geçersiz.

Bir bellek bloğu için nesneden SafeBuffer işaretçi alır.

Close()
Geçersiz.

Kaynakları serbest bırakma ve serbest bırakma tutamacını işaretler.

(Devralındığı yer: SafeHandle)
DangerousAddRef(Boolean)
Geçersiz.

Örneklerde başvuru sayacını SafeHandle el ile artırır.

(Devralındığı yer: SafeHandle)
DangerousGetHandle()
Geçersiz.

Alanın değerini handle döndürür.

(Devralındığı yer: SafeHandle)
DangerousRelease()
Geçersiz.

Bir SafeHandle örnekteki başvuru sayacını el ile geri alır.

(Devralındığı yer: SafeHandle)
Dispose()
Geçersiz.

sınıfı tarafından SafeHandle kullanılan tüm kaynakları serbest bırakır.

(Devralındığı yer: SafeHandle)
Dispose(Boolean)
Geçersiz.

Sınıfı tarafından SafeHandle kullanılan yönetilmeyen kaynakları serbest bırakır ve normal bir atma işlemi yapılıp yapılmayacağını belirtir.

(Devralındığı yer: SafeHandle)
Equals(Object)
Geçersiz.

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
GetHashCode()
Geçersiz.

Varsayılan karma işlevi işlevi görür.

(Devralındığı yer: Object)
GetType()
Geçersiz.

Geçerli örneğin Type alır.

(Devralındığı yer: Object)
Initialize(UInt32, UInt32)
Geçersiz.

Belirtilen öğe sayısını ve öğe boyutunu kullanarak bellek arabelleğinin ayırma boyutunu belirtir. Örneği kullanmadan SafeBuffer önce bu yöntemi çağırmanız gerekir.

Initialize(UInt64)
Geçersiz.

Bellek bölgesinin ayırma boyutunu bayt cinsinden tanımlar. Örneği kullanmadan SafeBuffer önce bu yöntemi çağırmanız gerekir.

Initialize<T>(UInt32)
Geçersiz.

Değer türlerinin sayısını belirterek bellek bölgesinin ayırma boyutunu tanımlar. Örneği kullanmadan SafeBuffer önce bu yöntemi çağırmanız gerekir.

MemberwiseClone()
Geçersiz.

Geçerli Objectbasit bir kopyasını oluşturur.

(Devralındığı yer: Object)
Read<T>(UInt64)
Geçersiz.

Belirtilen uzaklıkta bellekten bir değer türü okur.

ReadArray<T>(UInt64, T[], Int32, Int32)
Geçersiz.

Uzaklık noktasından başlayarak belirtilen sayıda değer türünü bellekten okur ve bunları dizinden başlayarak bir diziye yazar.

ReadSpan<T>(UInt64, Span<T>)
Geçersiz.

Değer türlerini uzaklık noktasından başlayarak bellekten okur ve bir yayılma alanına yazar. Okunacak değer türlerinin sayısı, yayılma alanının uzunluğuna göre belirlenir.

ReleaseHandle()
Geçersiz.

Türetilmiş bir sınıfta geçersiz kılındığında, tanıtıcıyı serbest bırakabilmek için gereken kodu yürütür.

(Devralındığı yer: SafeHandle)
ReleasePointer()
Geçersiz.

yöntemi tarafından alınan bir işaretçiyi AcquirePointer(Byte*) serbest bırakır.

SetHandle(IntPtr)
Geçersiz.

Tanıtıcıyı belirtilen önceden var olan tanıtıcıya ayarlar.

(Devralındığı yer: SafeHandle)
SetHandleAsInvalid()
Geçersiz.

Bir tanıtıcıyı artık kullanılmıyor olarak işaretler.

(Devralındığı yer: SafeHandle)
ToString()
Geçersiz.

Geçerli nesneyi temsil eden bir dize döndürür.

(Devralındığı yer: Object)
Write<T>(UInt64, T)
Geçersiz.

Verilen konumda belleğe bir değer türü yazar.

WriteArray<T>(UInt64, T[], Int32, Int32)
Geçersiz.

Belirtilen sayıda değer türünü, giriş dizisindeki belirtilen konumdan başlayarak baytları okuyarak bellek konumuna yazar.

WriteSpan<T>(UInt64, ReadOnlySpan<T>)
Geçersiz.

Değer türlerini salt okunur bir yayılma alanından bellek konumuna yazar.

Şunlara uygulanır