@@ -32,11 +32,11 @@ public class CreateObjectRequest : IS7pRequest
3232 public uint IntegrityId { get ; set ; }
3333 public bool WithIntegrityId { get ; set ; }
3434
35- public CreateObjectRequest ( byte protocolVersion , UInt16 seqNum )
35+ public CreateObjectRequest ( byte protocolVersion , UInt16 seqNum , bool withIntegrityId )
3636 {
3737 ProtocolVersion = protocolVersion ;
3838 SequenceNumber = seqNum ;
39- WithIntegrityId = false ;
39+ WithIntegrityId = withIntegrityId ;
4040 }
4141
4242 public void SetRequestIdValue ( UInt32 requestId , PValue requestValue )
@@ -80,13 +80,15 @@ public int Serialize(Stream buffer)
8080 ret += S7p . EncodeByte ( buffer , TransportFlags ) ;
8181
8282 // Request set
83- ret += S7p . EncodeUInt32 ( buffer , Ids . ObjectServerSessionContainer ) ;
84- ret += S7p . EncodeByte ( buffer , 0x00 ) ;
85- ret += S7p . EncodeByte ( buffer , Datatype . UDInt ) ;
86- ret += S7p . EncodeUInt32Vlq ( buffer , 0 ) ;
87-
83+ ret += S7p . EncodeUInt32 ( buffer , RequestId ) ;
84+ ret += RequestValue . Serialize ( buffer ) ;
8885 ret += S7p . EncodeUInt32 ( buffer , 0 ) ; // Unknown value 1
8986
87+ if ( WithIntegrityId )
88+ {
89+ ret += S7p . EncodeUInt32Vlq ( buffer , IntegrityId ) ;
90+ }
91+
9092 // Object
9193 ret += RequestObject . Serialize ( buffer ) ;
9294
0 commit comments