public void Invoke(System.String DeviceUDN, System.String ServiceID, System.String Action, System.Byte[] InArgs, object _Tag, Delegate_OnResult_Invoke _Callback)
 {
     UPnPArgument[] args = new UPnPArgument[5];
        args[0] = new UPnPArgument("DeviceUDN", DeviceUDN);
        args[1] = new UPnPArgument("ServiceID", ServiceID);
        args[2] = new UPnPArgument("Action", Action);
        args[3] = new UPnPArgument("InArgs", InArgs);
        args[4] = new UPnPArgument("OutArgs", "");
        _S.InvokeAsync("Invoke", args, new object[2]{_Tag,_Callback},new UPnPService.UPnPServiceInvokeHandler(Sink_Invoke), new UPnPService.UPnPServiceInvokeErrorHandler(Error_Sink_Invoke));
 }
 public void RemoveWeakEvent_Result_Invoke(Delegate_OnResult_Invoke d)
 {
     WeakReference[] WR = (WeakReference[])WeakList_Invoke.ToArray(typeof(WeakReference));
        foreach(WeakReference W in WR)
        {
        if(W.IsAlive)
        {
           if((Delegate_OnResult_Invoke)W.Target == d)
           {
                    WeakList_Invoke.Remove(W);
                       break;
           }
        }
        }
 }
 public void AddWeakEvent_Result_Invoke(Delegate_OnResult_Invoke d)
 {
     WeakList_Invoke.Add(new WeakReference(d));
 }