Bagikan melalui


SafeBuffer Kelas

Definisi

Perhatian

SafeBuffer may be unavailable in future releases.

Menyediakan buffer memori terkontrol yang dapat digunakan untuk membaca dan menulis. Upaya untuk mengakses memori di luar buffer terkontrol (underrun dan overrun) menimbulkan pengecualian.

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
Warisan
SafeBuffer
Warisan
Warisan
Turunan
Atribut

Keterangan

Anda harus memanggil SafeBuffer.Initialize metode sebelum menggunakan instans apa pun dari SafeBuffer. Untuk menghindari balapan saat Anda menyimpan instans SafeBuffer objek dalam variabel statis, Anda harus menggunakan salah satu pendekatan berikut:

Catatan

Penugasan dalam konstruktor kelas statis dikunci secara implisit.

Konstruktor

SafeBuffer(Boolean)
Kedaluwarsa.

Membuat instans SafeBuffer baru kelas, dan menentukan apakah handel buffer akan dirilis dengan andal.

Bidang

handle
Kedaluwarsa.

Menentukan handel yang akan dibungkus.

(Diperoleh dari SafeHandle)

Properti

ByteLength
Kedaluwarsa.

Mendapatkan ukuran buffer, dalam byte.

IsClosed
Kedaluwarsa.

Mendapatkan nilai yang menunjukkan apakah handel ditutup.

(Diperoleh dari SafeHandle)
IsInvalid
Kedaluwarsa.

Mendapatkan nilai yang menunjukkan apakah handel tidak valid.

IsInvalid
Kedaluwarsa.

Mendapatkan nilai yang menunjukkan apakah handel tidak valid.

(Diperoleh dari SafeHandleZeroOrMinusOneIsInvalid)

Metode

AcquirePointer(Byte*)
Kedaluwarsa.

Mendapatkan penunjuk dari SafeBuffer objek untuk blok memori.

Close()
Kedaluwarsa.

Menandai handel untuk merilis dan membebaskan sumber daya.

(Diperoleh dari SafeHandle)
DangerousAddRef(Boolean)
Kedaluwarsa.

Secara manual menaikkan penghitung referensi pada SafeHandle instans.

(Diperoleh dari SafeHandle)
DangerousGetHandle()
Kedaluwarsa.

Mengembalikan nilai handle bidang.

(Diperoleh dari SafeHandle)
DangerousRelease()
Kedaluwarsa.

Menurunkan penghitung referensi secara manual pada SafeHandle instans.

(Diperoleh dari SafeHandle)
Dispose()
Kedaluwarsa.

Merilis semua sumber daya yang SafeHandle digunakan oleh kelas .

(Diperoleh dari SafeHandle)
Dispose(Boolean)
Kedaluwarsa.

Merilis sumber daya tidak terkelola yang digunakan oleh SafeHandle kelas yang menentukan apakah akan melakukan operasi pembuangan normal.

(Diperoleh dari SafeHandle)
Equals(Object)
Kedaluwarsa.

Menentukan apakah objek yang ditentukan sama dengan objek saat ini.

(Diperoleh dari Object)
GetHashCode()
Kedaluwarsa.

Berfungsi sebagai fungsi hash default.

(Diperoleh dari Object)
GetType()
Kedaluwarsa.

Mendapatkan dari instans Type saat ini.

(Diperoleh dari Object)
Initialize(UInt32, UInt32)
Kedaluwarsa.

Menentukan ukuran alokasi buffer memori dengan menggunakan jumlah elemen dan ukuran elemen yang ditentukan. Anda harus memanggil metode ini sebelum menggunakan SafeBuffer instans.

Initialize(UInt64)
Kedaluwarsa.

Menentukan ukuran alokasi wilayah memori dalam byte. Anda harus memanggil metode ini sebelum menggunakan SafeBuffer instans.

Initialize<T>(UInt32)
Kedaluwarsa.

Menentukan ukuran alokasi wilayah memori dengan menentukan jumlah jenis nilai. Anda harus memanggil metode ini sebelum menggunakan SafeBuffer instans.

MemberwiseClone()
Kedaluwarsa.

Membuat salinan dangkal dari saat ini Object.

(Diperoleh dari Object)
Read<T>(UInt64)
Kedaluwarsa.

Membaca jenis nilai dari memori pada offset yang ditentukan.

ReadArray<T>(UInt64, T[], Int32, Int32)
Kedaluwarsa.

Membaca jumlah jenis nilai yang ditentukan dari memori yang dimulai dari offset, dan menulisnya ke dalam array yang dimulai dari indeks.

ReadSpan<T>(UInt64, Span<T>)
Kedaluwarsa.

Membaca jenis nilai dari memori yang dimulai dari offset, dan menulisnya ke dalam rentang. Jumlah jenis nilai yang akan dibaca ditentukan oleh panjang rentang.

ReleaseHandle()
Kedaluwarsa.

Ketika ditimpa di kelas turunan, menjalankan kode yang diperlukan untuk membebaskan handel.

(Diperoleh dari SafeHandle)
ReleasePointer()
Kedaluwarsa.

Merilis pointer yang diperoleh dengan AcquirePointer(Byte*) metode .

SetHandle(IntPtr)
Kedaluwarsa.

Mengatur handel ke handel yang sudah ada sebelumnya yang ditentukan.

(Diperoleh dari SafeHandle)
SetHandleAsInvalid()
Kedaluwarsa.

Menandai handel sebagai tidak lagi digunakan.

(Diperoleh dari SafeHandle)
ToString()
Kedaluwarsa.

Mengembalikan string yang mewakili objek saat ini.

(Diperoleh dari Object)
Write<T>(UInt64, T)
Kedaluwarsa.

Menulis jenis nilai ke memori di lokasi tertentu.

WriteArray<T>(UInt64, T[], Int32, Int32)
Kedaluwarsa.

Menulis jumlah jenis nilai yang ditentukan ke lokasi memori dengan membaca byte mulai dari lokasi yang ditentukan dalam array input.

WriteSpan<T>(UInt64, ReadOnlySpan<T>)
Kedaluwarsa.

Menulis jenis nilai dari rentang baca-saja ke lokasi memori.

Berlaku untuk