Пример #1
0
 internal IBlob(AbiPtr i) : base(i)
 {
     Native.Throw(Marshal.QueryInterface(i.Value, ref _ID, out _i));
     Marshal.Release(_i);
     _vt = VTUnknown.GetVTable <ABI.IBlob>(_i);
     Init();
 }
Пример #2
0
        internal DummyClass(AbiPtr i) : base(i)
        {
            IntPtr iptr;

            Native.Throw(Marshal.QueryInterface(i.Value, ref _ID, out iptr));
            Marshal.Release(iptr);
            IPtr = iptr;
            _vt  = VTUnknown.GetVTable <ABI.GluonTest.DummyClass>(IPtr);

            Init();
        }
Пример #3
0
        internal SinusoidalWaveform(AbiPtr i) : base(i)
        {
            IntPtr iptr;

            Native.Throw(Marshal.QueryInterface(i.Value, ref _ID, out iptr));
            Marshal.Release(iptr);
            IPtr = iptr;
            _vt  = VTUnknown.GetVTable <ABI.GluonTest.SinusoidalWaveform>(IPtr);

            Init();
        }
Пример #4
0
        protected GluonObject(AbiPtr native)
        {
            // Reference counting model: Callees with output parameters are responsible for adding a reference to output objects
            //Marshal.AddRef(native.Value);
            NativePtr = GetRootPointer(native.Value);

            lock (All)
            {
                All.Add(NativePtr, new WeakReference(this));
            }
        }
Пример #5
0
        internal ITestClass(AbiPtr i) : base(i)
        {
            IntPtr iptr;

            Native.Throw(Marshal.QueryInterface(i.Value, ref _ID, out iptr));
            Marshal.Release(iptr);
            IPtr          = iptr;
            _vt           = VTUnknown.GetVTable <ABI.GluonTest.ITestClass>(IPtr);
            _BigEvent_abi = D_5D02415F.Unwrap(_Call_BigEvent);

            Init();
        }