예제 #1
0
        // Called from COM
        void IWTSListenerCallback.OnNewChannelConnection(IWTSVirtualChannel pChannel,
                                                         [MarshalAs(UnmanagedType.BStr)] string data,
                                                         [MarshalAs(UnmanagedType.Bool)] out bool pAccept, out IWTSVirtualChannelCallback pCallback)
        {
            try
            {
                var channel = new DvcClientChannel(ChannelName, pChannel);
                AcceptChannel(channel);

                pAccept   = true;
                pCallback = channel.Proxy;
            }
            catch (Exception ex)
            {
                PluginApplication.Log($"Failure while creating client channel for '{ChannelName}': {ex}");

                pAccept   = false;
                pCallback = null;
            }
        }
 public DelegateWtsVirtualChannelCallback(IWTSVirtualChannel pChannel, DvcClientChannel parent)
 {
     this.NativeChannel = pChannel ?? throw new ArgumentNullException(nameof(pChannel));
     this.Parent        = parent ?? throw new ArgumentNullException(nameof(parent));
 }