CriticalHandle Kelas

Definisi

Mewakili kelas pembungkus untuk menangani sumber daya.

public ref class CriticalHandle abstract : IDisposable
public ref class CriticalHandle abstract : System::Runtime::ConstrainedExecution::CriticalFinalizerObject, IDisposable
[System.Security.SecurityCritical]
public abstract class CriticalHandle : IDisposable
public abstract class CriticalHandle : System.Runtime.ConstrainedExecution.CriticalFinalizerObject, IDisposable
[System.Security.SecurityCritical]
public abstract class CriticalHandle : System.Runtime.ConstrainedExecution.CriticalFinalizerObject, IDisposable
[<System.Security.SecurityCritical>]
type CriticalHandle = class
    interface IDisposable
type CriticalHandle = class
    inherit CriticalFinalizerObject
    interface IDisposable
[<System.Security.SecurityCritical>]
type CriticalHandle = class
    inherit CriticalFinalizerObject
    interface IDisposable
Public MustInherit Class CriticalHandle
Implements IDisposable
Public MustInherit Class CriticalHandle
Inherits CriticalFinalizerObject
Implements IDisposable
Warisan
CriticalHandle
Warisan
Turunan
Atribut
Penerapan

Keterangan

Kelas CriticalHandle ini mirip SafeHandle dengan kelas , kecuali yang SafeHandle mengimplementasikan penghitungan referensi. Anda dapat menggunakan CriticalHandle alih-alih untuk mengatasi pertimbangan SafeHandle performa ketika Anda dapat memberikan sinkronisasi yang diperlukan dengan lebih efisien sendiri.

CriticalHandle Karena kelas tidak melakukan penghitungan referensi, kelas tidak memberikan perlindungan dari penanganan serangan keamanan daur ulang. Karena algoritma penghitungan referensi secara implisit menserialisasikan operasi, sejumlah keamanan utas juga hilang. Jika Anda memanggil IDisposable.Dispose metode atau Close saat operasi yang menggunakan handel luar biasa pada utas lain, atau jika Anda memanggil IDisposable.Dispose atau Close dari dua utas pada saat yang sama, hasilnya tidak deterministik. Kelas CriticalHandle ini masih memberikan jaminan finalisasi kritis yang disediakan oleh CriticalFinalizerObject kelas .

Konstruktor

Nama Deskripsi
CriticalHandle(IntPtr)

Menginisialisasi instans CriticalHandle baru kelas dengan nilai handel yang ditentukan tidak valid.

Bidang

Nama Deskripsi
handle

Menentukan handel yang akan dibungkus.

Properti

Nama Deskripsi
IsClosed

Mendapatkan nilai yang menunjukkan apakah handel ditutup.

IsInvalid

Saat ditimpa dalam kelas turunan, mendapatkan nilai yang menunjukkan apakah nilai handel tidak valid.

Metode

Nama Deskripsi
Close()

Menandai handel untuk melepaskan dan membebaskan sumber daya.

Dispose()

Merilis semua sumber daya yang digunakan oleh CriticalHandle.

Dispose(Boolean)

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

Equals(Object)

Menentukan apakah objek yang ditentukan sama dengan objek saat ini.

(Diperoleh dari Object)
Finalize()

Membebaskan semua sumber daya yang terkait dengan handel.

GetHashCode()

Berfungsi sebagai fungsi hash default.

(Diperoleh dari Object)
GetType()

Mendapatkan Type instans saat ini.

(Diperoleh dari Object)
MemberwiseClone()

Membuat salinan dangkal dari Objectsaat ini.

(Diperoleh dari Object)
ReleaseHandle()

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

SetHandle(IntPtr)

Mengatur handel ke handel yang sudah ada sebelumnya yang ditentukan.

SetHandleAsInvalid()

Menandai handel sebagai tidak valid.

ToString()

Mengembalikan string yang mewakili objek saat ini.

(Diperoleh dari Object)

Berlaku untuk

Lihat juga