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 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) |