ObjectiveCMarshal.CreateReferenceTrackingHandle 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
제공된 개체에 대한 네이티브 참조 추적을 요청합니다.
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
매개 변수
- obj
- Object
추적할 개체입니다.
반환
참조 추적 GC 핸들입니다.
예외
ObjectiveCMarshal API가 초기화되지 않았습니다.
설명
이 함수를 호출하기 전에 Initialize()를 호출해야 합니다.
에는 obj
로 표시된 ObjectiveCTrackedTypeAttribute계층 구조의 형식이 있어야 합니다.
Initialize()에 전달된 "Is Referenced" 콜백은 이 함수에서 반환된 taggedMemory
를 전달합니다.
가 가리키는 메모리는 의 길이 Span<T> 로 정의되며 0이 됩니다. GC에서 수집할 때까지 obj
사용할 수 있습니다.
가 가리키는 taggedMemory
메모리는 이 함수의 호출자가 어떤 용도로든 사용할 수 있으며 "Is Referenced" 콜백 중에 사용할 수 있습니다.
동일한 obj
를 사용하여 이 함수를 여러 번 호출하면 매번 새 핸들이 반환되지만 태그가 지정된 동일한 메모리가 반환됩니다. 태그가 지정된 메모리는 첫 번째 호출에서 0으로만 초기화됩니다.
호출자는 반환 GCHandle된 의 해제를 담당합니다.
적용 대상
GitHub에서 Microsoft와 공동 작업
이 콘텐츠의 원본은 GitHub에서 찾을 수 있으며, 여기서 문제와 끌어오기 요청을 만들고 검토할 수도 있습니다. 자세한 내용은 참여자 가이드를 참조하세요.
.NET