/// <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); }
/// <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; }