public override void Decode(PduMarshaler marshaler)
 {
     try
     {
         this.osType = (osType_Values)marshaler.ReadUInt32();
         this.osVersion = (osVersion_Values)marshaler.ReadUInt32();
         this.protocolMajorVersion = (protocolMajorVersion_Values)marshaler.ReadUInt16();
         this.protocolMinorVersion = (DR_CORE_SERVER_CLIENTID_CONFIRM_VersionMinor_Values)marshaler.ReadUInt16();
         this.ioCode1 = (ioCode1_Values)marshaler.ReadUInt32();
         this.ioCode2 = (ioCode2_Values)marshaler.ReadUInt32();
         this.extendedPDU = (extendedPDU_Values)marshaler.ReadUInt32();
         this.extraFlags1 = (extraFlags1_Values)marshaler.ReadUInt32();
         this.extraFlags2 = (extraFlags2_Values)marshaler.ReadUInt32();
         this.SpecialTypeDeviceCap = marshaler.ReadUInt32();
     }
     catch
     {
         marshaler.Reset();
         throw new PDUDecodeException(this.GetType(), marshaler.ReadToEnd());
     }
 }
 public GENERAL_CAPS_SET(CAPABILITY_VERSION ver)
     : base(CapabilityType_Values.CAP_GENERAL_TYPE, ver)
 {
     // A 16-bit unsigned integer. This field MUST be set to 1.
     this.protocolMajorVersion = protocolMajorVersion_Values.V1;
     // A 32-bit unsigned integer that is currently reserved for future use, and MUST be set to 0.
     this.ioCode2 = ioCode2_Values.V1;
     // A 32-bit unsigned integer that specifies extended flags. The extraFlags1 field MUST be set as a bitmask of the following value.
     this.extraFlags1 = extraFlags1_Values.ENABLE_ASYNCIO;
     // A 32-bit unsigned integer that is currently reserved for future use, and MUST be set to 0.
     this.extraFlags2 = extraFlags2_Values.V1;
     this.Header.CapabilityLength = 44;
 }