ObjectiveCMarshal.CreateReferenceTrackingHandle Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Vyžádejte si nativní sledování referencí pro zadaný objekt.
public:
static System::Runtime::InteropServices::GCHandle CreateReferenceTrackingHandle(System::Object ^ obj, [Runtime::InteropServices::Out] Span<IntPtr> % taggedMemory);
public static System.Runtime.InteropServices.GCHandle CreateReferenceTrackingHandle (object obj, out Span<IntPtr> taggedMemory);
static member CreateReferenceTrackingHandle : obj * Span -> System.Runtime.InteropServices.GCHandle
Public Shared Function CreateReferenceTrackingHandle (obj As Object, ByRef taggedMemory As Span(Of IntPtr)) As GCHandle
Parametry
- obj
- Object
Objekt, který chcete sledovat.
Návraty
Popisovač uvolňování paměti pro sledování referencí
Výjimky
Rozhraní API ObjectiveCMarshal nebylo inicializováno.
Poznámky
Před voláním této funkce musí být volána funkce Initialize().
Objekt obj
musí mít ve své hierarchii typ označený ObjectiveCTrackedTypeAttribute.
Zpětné volání Is Referenced předané metodě Initialize() se předá z taggedMemory
této funkce.
Paměť, na kterou odkazuje, je definována délkou v Span<T> a bude vynulována. Bude k dispozici, dokud obj
je neshromáždí uvolňování paměti.
Paměť, na kterou odkazuje, taggedMemory
může použít volající této funkce k libovolnému účelu a dá se použít při zpětném volání "Je odkazováno".
Volání této funkce vícekrát se stejným obj
způsobem vrátí pokaždé nový popisovač, ale vrátí se stejná označená paměť. U označené paměti je zaručeno, že se inicializuje nula pouze při prvním volání.
Volající je zodpovědný za uvolnění vráceného GCHandlesouboru .