private void LogPdu(EusbPdu pdu) { Site.Log.Add(LogEntryKind.Debug, "{0}\r\n{1}\r\n", pdu.GetType().ToString(), pdu.ToString()); }
/// <summary> /// Receives an IOCONTROL_COMPLETION, URB_COMPLETION or URB_COMPLETION_NO_DATA request from the client. /// </summary> /// <param name="channel">The channel to be received in.</param> /// <returns>The received completion PDU. Returns null, if timeout or required .</returns> public EusbPdu ExpectCompletion(DynamicVirtualChannel channel) { EusbPdu pdu = this.rdpeusbServer.ExpectRdpeusbPdu <EusbPdu>(channel.ChannelId, waitTime); if (null == pdu) { return(null); } bool isCompletionPdu = ( (pdu is EusbIoControlCompletionPdu) || (pdu is EusbUrbCompletionPdu) || (pdu is EusbUrbCompletionNoDataPdu) ); Site.Assert.IsTrue(isCompletionPdu, "Expect a completion PDU, current pdu is {0}.", pdu.ToString()); return(pdu); }
private void SendPdu(EusbPdu pdu, DynamicVirtualChannel channel) { Site.Assume.IsNotNull(channel, "DynamicVirtualChannel must be initialized."); channel.Send(PduMarshaler.Marshal(pdu)); Site.Log.Add(LogEntryKind.Debug, "Sending {0}: \r\n{1}\r\n", pdu.GetType().ToString(), pdu.ToString()); }