本文整理汇总了C#中Microsoft.Protocols.TestTools.StackSdk.PduMarshaler.ReadUInt16方法的典型用法代码示例。如果您正苦于以下问题:C# PduMarshaler.ReadUInt16方法的具体用法?C# PduMarshaler.ReadUInt16怎么用?C# PduMarshaler.ReadUInt16使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Microsoft.Protocols.TestTools.StackSdk.PduMarshaler
的用法示例。
在下文中一共展示了PduMarshaler.ReadUInt16方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Decode
/// <summary>
/// Decode this PDU from the PduMarshaler.
/// </summary>
/// <param name="marshaler">This is used to decode the fields of this PDU.</param>
public override bool Decode(PduMarshaler marshaler)
{
try
{
base.Decode(marshaler);
this.surfaceId = marshaler.ReadUInt16();
pduLen += 2;
this.windowId = marshaler.ReadUInt64();
pduLen += 8;
this.mappedWidth = marshaler.ReadUInt32();
pduLen += 4;
this.mappedHeight = marshaler.ReadUInt32();
pduLen += 4;
return true;
}
catch
{
marshaler.Reset();
throw new PDUDecodeException(this.GetType(), marshaler.ReadToEnd());
}
}
示例2: Decode
/// <summary>
/// Decode this PDU from the PduMarshaler.
/// </summary>
/// <param name="marshaler">This is used to decode the fields of this PDU.</param>
public override bool Decode(PduMarshaler marshaler)
{
try
{
length = marshaler.ReadUInt16();
interfaceNumber = marshaler.ReadByte();
alternateSetting = marshaler.ReadByte();
class_field = marshaler.ReadByte();
subClass = marshaler.ReadByte();
protocol = marshaler.ReadByte();
padding = marshaler.ReadByte();
interfaceHandle = marshaler.ReadUInt32();
numberOfPipes = marshaler.ReadUInt32();
if (numberOfPipes > 0)
{
pipes = new TS_USBD_PIPE_INFORMATION_RESULT[numberOfPipes];
for (int i = 0; i < pipes.Length; i++)
{
pipes[i] = new TS_USBD_PIPE_INFORMATION_RESULT();
pipes[i].Decode(marshaler);
}
}
else
{
pipes = null;
}
}
catch (Exception)
{
return false;
}
return true;
}
示例3: Decode
/// <summary>
/// Decode this PDU from the PduMarshaler.
/// </summary>
/// <param name="marshaler">This is used to decode the fields of this PDU.</param>
public override bool Decode(PduMarshaler marshaler)
{
try
{
this.Header.cbSize = marshaler.ReadUInt32();
this.Header.PacketType = (PacketTypeValues)marshaler.ReadUInt32();
this.PresentatioinId = marshaler.ReadByte();
this.ResponseFlags = marshaler.ReadByte();
this.ResultFlags = marshaler.ReadUInt16();
return true;
}
catch
{
marshaler.Reset();
throw new PDUDecodeException(this.GetType(), marshaler.ReadToEnd());
}
}
示例4: Decode
/// <summary>
/// Decode this PDU from the PduMarshaler.
/// </summary>
/// <param name="marshaler">This is used to decode the fields of this PDU.</param>
public override bool Decode(PduMarshaler marshaler)
{
try
{
this.blockType = (RFXProgCodecBlockType) marshaler.ReadUInt16();
this.blockLen = marshaler.ReadUInt32();
this.decodedLen = 6;
return true;
}
catch
{
marshaler.Reset();
throw new PDUDecodeException(this.GetType(), marshaler.ReadToEnd());
}
}
示例5: Decode
public override bool Decode(PduMarshaler marshaler)
{
try
{
fecHeader.snSourceAck = marshaler.ReadUInt32();
fecHeader.uReceiveWindowSize = marshaler.ReadUInt16();
fecHeader.uFlags = (RDPUDP_FLAG)marshaler.ReadUInt16();
if (fecHeader.uFlags.HasFlag(RDPUDP_FLAG.RDPUDP_FLAG_SYN))
{
RDPUDP_SYNDATA_PAYLOAD synData = new RDPUDP_SYNDATA_PAYLOAD();
synData.snInitialSequenceNumber = marshaler.ReadUInt32();
synData.uUpStreamMtu = marshaler.ReadUInt16();
synData.uDownStreamMtu = marshaler.ReadUInt16();
// This datagram MUST be zero-padded to increase the size of this datagram to 1232 bytes.
if (fecHeader.uFlags.HasFlag(RDPUDP_FLAG.RDPUDP_FLAG_CORRELATION_ID))
{
RDPUDP_CORRELATION_ID_PAYLOAD correlationId = new RDPUDP_CORRELATION_ID_PAYLOAD();
correlationId.uCorrelationId = marshaler.ReadBytes(16);
this.CorrelationId = correlationId;
correlationId.uReserved = marshaler.ReadBytes(16);
}
this.padding = marshaler.ReadToEnd();
this.SynData = synData;
return true;
}
if (fecHeader.uFlags.HasFlag(RDPUDP_FLAG.RDPUDP_FLAG_ACK))
{
// ACK.
RDPUDP_ACK_VECTOR_HEADER ackVector = new RDPUDP_ACK_VECTOR_HEADER();
ackVector.uAckVectorSize = marshaler.ReadUInt16();
ackVector.AckVectorElement = new AckVector[ackVector.uAckVectorSize];
List<byte> ackVecElementList = new List<byte>(marshaler.ReadBytes(ackVector.AckVectorElement.Length));
ackVecElementList.Reverse();
for (int i = 0; i < ackVector.AckVectorElement.Length; i++)
{
byte vecByte = ackVecElementList[i];
ackVector.AckVectorElement[i].Length = (byte)(0x3F & vecByte);
ackVector.AckVectorElement[i].State = (VECTOR_ELEMENT_STATE)(vecByte >> 6);
}
this.ackVectorHeader = ackVector;
// Padding (variable): A variable-sized array, of length zero or more,
// such that this structure ends on a DWORD ([MS-DTYP] section 2.2.9) boundary.
int padLen = 4 - (2 + ackVector.AckVectorElement.Length) % 4;
if (padLen > 0 && padLen != 4)
{
this.padding = marshaler.ReadBytes(padLen);
}
// Ack of Acks.
if (fecHeader.uFlags.HasFlag(RDPUDP_FLAG.RDPUDP_FLAG_ACK_OF_ACKS))
{
RDPUDP_ACK_OF_ACKVECTOR_HEADER aoaHeader = new RDPUDP_ACK_OF_ACKVECTOR_HEADER();
aoaHeader.snAckOfAcksSeqNum = marshaler.ReadUInt32();
this.ackOfAckVector = aoaHeader;
}
}
if (fecHeader.uFlags.HasFlag(RDPUDP_FLAG.RDPUDP_FLAG_DATA))
{
if (!fecHeader.uFlags.HasFlag(RDPUDP_FLAG.RDPUDP_FLAG_FEC))
{
// Source Data.
RDPUDP_SOURCE_PAYLOAD_HEADER srcHeader = new RDPUDP_SOURCE_PAYLOAD_HEADER();
srcHeader.snCoded = marshaler.ReadUInt32();
srcHeader.snSourceStart = marshaler.ReadUInt32();
this.sourceHeader = srcHeader;
}
else
{
// FEC Data.
RDPUDP_FEC_PAYLOAD_HEADER fecDataHeader = new RDPUDP_FEC_PAYLOAD_HEADER();
fecDataHeader.snCoded = marshaler.ReadUInt32();
fecDataHeader.snSourceStart = marshaler.ReadUInt32();
fecDataHeader.uRange = marshaler.ReadByte();
fecDataHeader.uFecIndex = marshaler.ReadByte();
fecDataHeader.uPadding = marshaler.ReadUInt16();
this.fecPayloadHeader = fecDataHeader;
}
this.payload = marshaler.ReadToEnd();
}
return true;
}
catch
{
return false;
}
}