public override ReadOnlySpan <byte> Marshal() { var buffer = new NdrBuffer(); buffer.MarshalObject(this); return(buffer.ToSpan(alignment: 8)); }
public override ReadOnlySpan <byte> Marshal() { var buffer = new NdrBuffer(); buffer.WriteInt32LittleEndian((int)Type); buffer.WriteSpan(Signature.Span); buffer.WriteInt16LittleEndian(RODCIdentifier); return(buffer.ToSpan()); }
public override ReadOnlySpan <byte> Marshal() { var buffer = new NdrBuffer(); buffer.WriteInt32LittleEndian(Version); buffer.WriteInt32LittleEndian((int)EncryptionType); buffer.WriteSpan(SerializedData.Span); return(buffer.ToSpan()); }
public override ReadOnlySpan <byte> Marshal() { using (var buffer = new NdrBuffer()) { buffer.WriteInt32LittleEndian(this.Version); buffer.WriteInt32LittleEndian((int)this.EncryptionType); buffer.WriteSpan(this.SerializedData.Span); return(buffer.ToSpan(alignment: 8)); } }
public override ReadOnlySpan <byte> Marshal() { var buffer = new NdrBuffer(); buffer.WriteStruct(ClientId); buffer.WriteInt16LittleEndian((short)(Name.Length * sizeof(char))); if (NameLength > 0) { buffer.WriteFixedPrimitiveArray(Name.AsSpan()); } return(buffer.ToSpan()); }
public override ReadOnlySpan <byte> Marshal() { using (var buffer = new NdrBuffer()) { buffer.WriteInt32LittleEndian((int)this.Type); buffer.WriteSpan(this.Signature.Span); if (this.RODCIdentifier > 0) { buffer.WriteInt16LittleEndian(this.RODCIdentifier); } return(buffer.ToSpan()); } }
private static ReadOnlySpan <byte> Compress(ClaimsSet claimsSet, CompressionFormat compressionFormat, out int originalSize) { var buffer = new NdrBuffer(); buffer.MarshalObject(claimsSet); ReadOnlySpan <byte> encoded = buffer.ToSpan(alignment: 8); originalSize = encoded.Length; if (compressionFormat != CompressionFormat.COMPRESSION_FORMAT_NONE) { encoded = Compressions.Compress(encoded, compressionFormat); } return(encoded); }
public override ReadOnlySpan <byte> Marshal() { var buffer = new NdrBuffer(); var upnBytes = MemoryMarshal.Cast <char, byte>(Upn.AsSpan()); var domainBytes = MemoryMarshal.Cast <char, byte>(Domain.AsSpan()); buffer.WriteInt16LittleEndian((short)upnBytes.Length); buffer.WriteInt16LittleEndian(2 + 2 + 2 + 2 + 4 + 4); // + 4 to align on 8 boundary buffer.WriteInt16LittleEndian((short)domainBytes.Length); buffer.WriteInt16LittleEndian((short)(2 + 2 + 2 + 2 + 2 + 4 + 4 + upnBytes.Length)); buffer.WriteInt32LittleEndian((int)Flags); buffer.WriteInt32LittleEndian(0); buffer.WriteFixedPrimitiveArray(upnBytes); buffer.WriteInt16LittleEndian(0); buffer.WriteFixedPrimitiveArray(domainBytes); return(buffer.ToSpan(alignment: 8)); }