ObjectiveCMarshal.Initialize 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
Objective-C 마샬링 API를 초기화합니다.
public:
static void Initialize(delegate* unmanaged<void> ^ beginEndCallback, delegate* unmanaged<IntPtr , int> ^ isReferencedCallback, delegate* unmanaged<IntPtr , void> ^ trackedObjectEnteredFinalization, System::Runtime::InteropServices::ObjectiveC::ObjectiveCMarshal::UnhandledExceptionPropagationHandler ^ unhandledExceptionPropagationHandler);
public static void Initialize (delegate* unmanaged<void> beginEndCallback, delegate* unmanaged<IntPtr, int> isReferencedCallback, delegate* unmanaged<IntPtr, void> trackedObjectEnteredFinalization, System.Runtime.InteropServices.ObjectiveC.ObjectiveCMarshal.UnhandledExceptionPropagationHandler unhandledExceptionPropagationHandler);
static member Initialize : delegate* unmanaged<unit> * delegate* unmanaged<nativeint, int> * delegate* unmanaged<nativeint, unit> * System.Runtime.InteropServices.ObjectiveC.ObjectiveCMarshal.UnhandledExceptionPropagationHandler -> unit
Public Shared Sub Initialize (beginEndCallback As delegate* unmanaged<Void>, isReferencedCallback As delegate* unmanaged< As IntPtr, Integer>, trackedObjectEnteredFinalization As delegate* unmanaged< As IntPtr, Void>, unhandledExceptionPropagationHandler As ObjectiveCMarshal.UnhandledExceptionPropagationHandler)
매개 변수
- beginEndCallback
- delegate* unmanaged<Void>
추적이 시작되고 끝날 때 호출됩니다.
관리되는 개체 instance 다른 곳에서 참조되고 GC에서 수집해서는 안 되는지 확인하기 위해 호출됩니다.
- trackedObjectEnteredFinalization
-
delegate* unmanaged<nativeint, Void>
추적된 개체가 종료 큐에 들어갈 때 호출됩니다.
- unhandledExceptionPropagationHandler
- ObjectiveCMarshal.UnhandledExceptionPropagationHandler
관리> 되는 네이티브 경계(즉, 역방향 P/Invoke)에서 처리되지 않은 예외 전파를 위한 처리기입니다.
설명
관리되지 않는 모든 함수 포인터는 GC에서 호출되고 관리 코드는 해당 시간에 실행할 수 없으므로 네이티브 코드로 작성되어야 합니다.
참조 추적이 시작되고 종료될 때 가 beginEndCallback
호출됩니다. 연결된 시작/끝 쌍은 중첩되지 않습니다. Workstation GC를 사용하는 경우 동일한 스레드에서 시작/끝 쌍이 호출됩니다. 서버 GC를 사용하는 경우 시작/끝 쌍이 동일한 스레드에서 호출되도록 보장되지 않습니다.
는 isReferencedCallback
참조가 아닌 경우 0을 반환하고 참조할 경우 1을 반환해야 합니다. 다른 모든 값에는 정의되지 않은 동작이 있습니다.
적용 대상
.NET