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ışında belleğe erişmeye çalışırken özel durumlar ortaya çıkar.

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 depolarken yarışlardan kaçınmak için aşağıdaki yaklaşımlardan birini kullanmalısınız:

Not

Statik sınıf oluşturucusunda 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 bir işaretçi alır.

Close()
Geçersiz.

Kaynakları serbest bırakmak ve serbest bırakmak için tutamacı 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 örnekteki 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 gerçekleştirilip gerçekleştirilmeyeceğini 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 öğ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 bayt cinsinden ayırma boyutunu 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ıktan başlayarak bellekten belirtilen sayıda değer türünü okur ve bunları dizinden başlayan bir diziye yazar.

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

Uzaklıktan başlayarak bellekten değer türlerini okur ve 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 elde edilen bir işaretçiyi AcquirePointer(Byte*) serbest bırakır.

SetHandle(IntPtr)
Geçersiz.

Tutamacı önceden var olan belirtilen 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 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ş dizisindeki belirtilen konumdan başlayarak baytları okuyarak bellek konumuna yazar.

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

Değer türlerini salt okunur bir aralıktan bellek konumuna yazar.

Şunlara uygulanır