CriticalHandle Kelas
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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) |