HandleRef Struktúra

Definíció

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
HandleRef
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.

A következőre érvényes:

Lásd még