public EosFramework() { lock (__referenceLock) { if (__referenceCount == 0) { try { Util.Assert(Edsdk.EdsInitializeSDK(), "Failed to initialize the SDK."); __edsCameraAddedHandler = EosFramework.HandleCameraAddedEvent; Edsdk.EdsSetCameraAddedHandler(__edsCameraAddedHandler, IntPtr.Zero); } catch (EosException) { throw; } catch (Exception ex) { Util.Assert(0xFFFFFFFF, "Failed to initialize the SDK.", ex); } } ++__referenceCount; } }