SafeBuffer Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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
- 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:
yayımlarken SafeBufferkilit oluşturun.
Yerel bir değişken oluşturun, öğesini başlatın SafeBufferve örneğin yöntemini kullanarak statik değişkenine atayın SafeBufferInterlocked.CompareExchange .
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. |