Bagikan melalui


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 mengatasi pertimbangan SafeHandle performa ketika Anda dapat memberikan sinkronisasi yang diperlukan secara 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 masih memberikan jaminan finalisasi kritis yang disediakan oleh CriticalFinalizerObject kelas .

Konstruktor

CriticalHandle(IntPtr)

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

Bidang

handle

Menentukan handel yang akan dibungkus.

Properti

IsClosed

Mendapatkan nilai yang menunjukkan apakah handel ditutup.

IsInvalid

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

Metode

Close()

Menandai handel untuk melepaskan dan membebaskan sumber daya.

Dispose()

Merilis semua sumber daya yang CriticalHandledigunakan oleh .

Dispose(Boolean)

Merilis sumber daya tidak terkelola 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 instans Type saat ini.

(Diperoleh dari Object)
MemberwiseClone()

Membuat salinan dangkal dari yang saat ini Object.

(Diperoleh dari Object)
ReleaseHandle()

Ketika ditimpa di kelas turunan, jalankan 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