コード例 #1
0
        private void AddEvent(EventSinkCreateDelegate assign) {
            lock (this) {
                if (this._connectionPoint == null) {
                    _connectionPointContainer.FindConnectionPoint(ref _riid, out _connectionPoint);
                }

                var eventsSinkHelper = new MSScriptControl_EventSink();
                assign(eventsSinkHelper);

                SinkItem node = new SinkItem();
                node.UnkSink = eventsSinkHelper;
                node.Next = _sinkHead;

                _connectionPoint.Advise(eventsSinkHelper, out node.Cookie);
                _sinkHead = node;
            }
        }
コード例 #2
0
        private void AddEvent(EventSinkCreateDelegate assign)
        {
            lock (this) {
                if (this._connectionPoint == null)
                {
                    _connectionPointContainer.FindConnectionPoint(ref _riid, out _connectionPoint);
                }

                var eventsSinkHelper = new MSScriptControl_EventSink();
                assign(eventsSinkHelper);

                SinkItem node = new SinkItem();
                node.UnkSink = eventsSinkHelper;
                node.Next    = _sinkHead;

                _connectionPoint.Advise(eventsSinkHelper, out node.Cookie);
                _sinkHead = node;
            }
        }