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 dışındaki belleğe erişmeye çalışır (yetersiz çalıştırmalar ve taşmalar) ö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ğırmanız gerekir. Bir nesnenin SafeBuffer örneğini statik değişkende depoladığınızda yarışlardan kaçınmak için aşağıdaki yaklaşımlardan birini kullanmanız gerekir:

Not

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

Oluşturucular

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

handle
Geçersiz.

Sarmalanacak tanıtıcıyı belirtir.

(Devralındığı yer: SafeHandle)

Özellikler

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

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ın değerini handle döndürür.

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

Bir SafeHandle örnekte başvuru sayacını el ile azaltma.

(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.

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

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

Belirtilen sayıda öğe ve öğe boyutu 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 Objectöğesinin sığ 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ıkta başlayan bellekten belirtilen sayıda değer türünü okur ve bunları dizinden başlayarak bir diziye yazar.

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

Uzaklık noktasından başlayarak bellekten değer türlerini okur ve bunları bir yayılma alanına yazar. Okunacak değer türlerinin sayısı, aralığı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ı önceden var olan belirtilen tanıtıcıya ayarlar.

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

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

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

Geçerli nesneyi temsil eden dizeyi 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ş dizisinde belirtilen konumdan başlayan baytları okuyarak bellek konumuna yazar.

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

Değer türlerini salt okunur bir span'dan bellek konumuna yazar.

Şunlara uygulanır