예제 #1
0
        /// <inheritdoc />
        public override unsafe int Clone(out CorDebugEnum <TUnknown> ppEnum)
        {
            void **clonedEnum = default;
            int    hResult    = Calli(_this, This[0]->Clone, &clonedEnum);

            ppEnum = ComFactory.Create <CorDebugComEnum <TUnknown> >(clonedEnum, hResult);
            return(hResult);
        }
예제 #2
0
            internal unsafe Enumerator(CorDebugComEnum <TUnknown> parent)
            {
                int hResult = parent.Clone(out _parent);

                _ownsParent = hResult != HResult.E_NOTIMPL;
                if (_ownsParent)
                {
                    hResult.MaybeThrowHr();
                }
                else
                {
                    _parent = parent;
                }

                _ptr = default;
            }
예제 #3
0
            internal Enumerator(CorDebugStructEnum <T> parent)
            {
                int hResult = parent.Clone(out _parent);

                _ownsParent = hResult != HResult.E_NOTIMPL;

                if (_ownsParent)
                {
                    hResult.MaybeThrowHr();
                }
                else
                {
                    _parent = parent;
                }

                _obj = default;
            }
예제 #4
0
 /// <summary>
 /// Creates a copy of this object.
 /// </summary>
 public abstract int Clone(out CorDebugEnum <TItem> ppEnum);