HandleRef Struktúra
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
Egy olyan felügyelt objektumot burkol, amely egy leírót tart egy olyan erőforráshoz, amelyet a platformhívással nem felügyelt kódnak ad át.
public value class HandleRef
public readonly struct HandleRef
public struct HandleRef
[System.Runtime.InteropServices.ComVisible(true)]
public struct HandleRef
type HandleRef = struct
[<System.Runtime.InteropServices.ComVisible(true)>]
type HandleRef = struct
Public Structure HandleRef
- Öröklődés
- Attribútumok
Megjegyzések
Important
Az osztály funkcióit felváltotta az HandleRefSafeHandle osztály és annak származtatott osztályai, valamint az CriticalHandle osztály.
Ha platformhívással meghív egy felügyelt objektumot, és az objektumra nem hivatkozik máshol a platform meghívása után, a szemétgyűjtő véglegesítheti a felügyelt objektumot. Ez a művelet felszabadítja az erőforrást, és érvényteleníti a leírót, ami miatt a platform meghívja a hívást. Egy leíró körbefuttatása, amely HandleRef garantálja, hogy a felügyelt objektum nem gyűjthető szemét, amíg a platform híváshívása be nem fejeződik. A platformhívási szolgáltatások leírását lásd: Nem felügyelt DLL-függvények használata.
Az HandleRef értéktípus, például GCHandle, az interop marshaler által felismert speciális típus. A normál, nem rögzítettek is megakadályozzák GCHandle a nem időszerű szemétgyűjtést, de HandleRef jobb teljesítményt nyújtanak. HandleRef Bár az objektumot a platformhívások időtartama alatt életben tarthatja, a metódust ugyanahhoz a GC.KeepAlive célra is használhatja.
A HandleRef konstruktor két paramétert vesz fel: a Object burkolót és a IntPtr nem felügyelt leírót. Az interop marshaler csak a kezelőt továbbítja a nem felügyelt kódnak, és garantálja, hogy a burkoló (amely az első paraméterként lett átadva a HandleRefkonstruktornak) a hívás időtartama alatt életben marad.
Konstruktorok
| Name | Description |
|---|---|
| HandleRef(Object, IntPtr) |
Inicializálja az HandleRef osztály új példányát a tördelendő objektummal és a nem felügyelt kód által használt erőforrás leírójával. |
Tulajdonságok
| Name | Description |
|---|---|
| Handle |
Lekéri a leírót egy erőforráshoz. |
| Wrapper |
Lekéri a fogópontot tartalmazó objektumot egy erőforráshoz. |
Metódusok
| Name | Description |
|---|---|
| ToIntPtr(HandleRef) |
Egy objektum belső egész számának ábrázolását HandleRef adja vissza. |
Operátorok
| Name | Description |
|---|---|
| Explicit(HandleRef to IntPtr) |
A leírót a megadott HandleRef objektum erőforrásának adja vissza. |