public override void Unmarshal(NdrBuffer buffer) { if (buffer == null) { throw new ArgumentNullException(nameof(buffer)); } this.LogonTime = buffer.ReadStruct <RpcFileTime>(); this.LogoffTime = buffer.ReadStruct <RpcFileTime>(); this.KickOffTime = buffer.ReadStruct <RpcFileTime>(); this.PwdLastChangeTime = buffer.ReadStruct <RpcFileTime>(); this.PwdCanChangeTime = buffer.ReadStruct <RpcFileTime>(); this.PwdMustChangeTime = buffer.ReadStruct <RpcFileTime>(); this.UserName = buffer.ReadStruct <RpcString>(); this.UserDisplayName = buffer.ReadStruct <RpcString>(); this.LogonScript = buffer.ReadStruct <RpcString>(); this.ProfilePath = buffer.ReadStruct <RpcString>(); this.HomeDirectory = buffer.ReadStruct <RpcString>(); this.HomeDrive = buffer.ReadStruct <RpcString>(); this.LogonCount = buffer.ReadInt16LittleEndian(); this.BadPasswordCount = buffer.ReadInt16LittleEndian(); this.UserId = buffer.ReadUInt32LittleEndian(); this.GroupId = buffer.ReadUInt32LittleEndian(); var groupCount = buffer.ReadInt32LittleEndian(); buffer.ReadDeferredStructArray <GroupMembership>(groupCount, v => this.GroupIds = v); this.UserFlags = (UserFlags)buffer.ReadInt32LittleEndian(); this.UserSessionKey = buffer.ReadMemory(16); this.ServerName = buffer.ReadStruct <RpcString>(); this.DomainName = buffer.ReadStruct <RpcString>(); buffer.ReadConformantStruct <RpcSid>(v => this.DomainId = v); this.Reserved1 = buffer.ReadFixedPrimitiveArray <int>(2).ToArray(); this.UserAccountControl = (UserAccountControlFlags)buffer.ReadInt32LittleEndian(); this.SubAuthStatus = buffer.ReadInt32LittleEndian(); this.LastSuccessfulILogon = buffer.ReadStruct <RpcFileTime>(); this.LastFailedILogon = buffer.ReadStruct <RpcFileTime>(); this.FailedILogonCount = buffer.ReadInt32LittleEndian(); this.Reserved3 = buffer.ReadInt32LittleEndian(); var extraSidsCount = buffer.ReadInt32LittleEndian(); buffer.ReadDeferredStructArray <RpcSidAttributes>(extraSidsCount, v => this.ExtraIds = v); buffer.ReadConformantStruct <RpcSid>(v => this.ResourceDomainId = v); var resourceGroupCount = buffer.ReadInt32LittleEndian(); buffer.ReadDeferredStructArray <GroupMembership>(resourceGroupCount, v => this.ResourceGroupIds = v); }
public void Unmarshal(NdrBuffer buffer) { Revision = buffer.ReadByteLittleEndian(); SubAuthorityCount = buffer.ReadByteLittleEndian(); Debug.Assert(conformance == SubAuthorityCount); IdentifierAuthority = buffer.ReadStruct <RpcSidIdentifierAuthority>(); SubAuthority = buffer.ReadFixedPrimitiveArray <uint>(SubAuthorityCount).AsMemory(); }
public override void Unmarshal(NdrBuffer buffer) { LogonTime = buffer.ReadStruct <RpcFileTime>(); LogoffTime = buffer.ReadStruct <RpcFileTime>(); KickOffTime = buffer.ReadStruct <RpcFileTime>(); PwdLastChangeTime = buffer.ReadStruct <RpcFileTime>(); PwdCanChangeTime = buffer.ReadStruct <RpcFileTime>(); PwdMustChangeTime = buffer.ReadStruct <RpcFileTime>(); UserName = buffer.ReadStruct <RpcString>(); UserDisplayName = buffer.ReadStruct <RpcString>(); LogonScript = buffer.ReadStruct <RpcString>(); ProfilePath = buffer.ReadStruct <RpcString>(); HomeDirectory = buffer.ReadStruct <RpcString>(); HomeDrive = buffer.ReadStruct <RpcString>(); LogonCount = buffer.ReadInt16LittleEndian(); BadPasswordCount = buffer.ReadInt16LittleEndian(); UserId = buffer.ReadInt32LittleEndian(); GroupId = buffer.ReadInt32LittleEndian(); var groupCount = buffer.ReadInt32LittleEndian(); buffer.ReadDeferredStructArray <GroupMembership>(groupCount, v => GroupIds = v); UserFlags = (UserFlags)buffer.ReadInt32LittleEndian(); UserSessionKey = buffer.ReadMemory(16); ServerName = buffer.ReadStruct <RpcString>(); DomainName = buffer.ReadStruct <RpcString>(); buffer.ReadConformantStruct <RpcSid>(v => DomainId = v); Reserved1 = buffer.ReadFixedPrimitiveArray <int>(2).ToArray(); UserAccountControl = (UserAccountControlFlags)buffer.ReadInt32LittleEndian(); SubAuthStatus = buffer.ReadInt32LittleEndian(); LastSuccessfulILogon = buffer.ReadStruct <RpcFileTime>(); LastFailedILogon = buffer.ReadStruct <RpcFileTime>(); FailedILogonCount = buffer.ReadInt32LittleEndian(); Reserved3 = buffer.ReadInt32LittleEndian(); var extraSidsCount = buffer.ReadInt32LittleEndian(); buffer.ReadDeferredStructArray <RpcSidAttributes>(extraSidsCount, v => ExtraIds = v); buffer.ReadConformantStruct <RpcSid>(v => ResourceDomainId = v); var resourceGroupCount = buffer.ReadInt32LittleEndian(); buffer.ReadDeferredStructArray <GroupMembership>(resourceGroupCount, v => ResourceGroupIds = v); }
public override void Unmarshal(ReadOnlyMemory <byte> bytes) { var buffer = new NdrBuffer(bytes); ClientId = buffer.ReadStruct <RpcFileTime>(); NameLength = buffer.ReadInt16LittleEndian(); if (NameLength > 0) { Name = buffer.ReadFixedPrimitiveArray <char>(NameLength / sizeof(char)).ToString(); } }
public void Unmarshal(NdrBuffer buffer) { if (buffer == null) { throw new ArgumentNullException(nameof(buffer)); } this.Revision = buffer.ReadByteLittleEndian(); this.SubAuthorityCount = buffer.ReadByteLittleEndian(); Debug.Assert(this.conformance == this.SubAuthorityCount); this.IdentifierAuthority = buffer.ReadStruct <RpcSidIdentifierAuthority>(); this.SubAuthority = buffer.ReadFixedPrimitiveArray <uint>(this.SubAuthorityCount).AsMemory(); }
public override void Unmarshal(ReadOnlyMemory <byte> bytes) { var stream = new NdrBuffer(bytes); Type = (ChecksumType)stream.ReadInt32LittleEndian(); SignaturePosition = stream.Offset; Signature = SetSignatureValue(Type, size => stream.ReadFixedPrimitiveArray <byte>(size).ToArray()); Validator = CryptoService.CreateChecksum(Type, Signature, SignatureData); if (stream.BytesAvailable > 0) { RODCIdentifier = stream.ReadInt16LittleEndian(); } }
public void UnmarshalUnion(NdrBuffer buffer) { Values = new List <object>(); var count = buffer.ReadInt32LittleEndian(); switch (Type) { case ClaimType.CLAIM_TYPE_STRING: buffer.ReadDeferredArray(count, () => Values.Add(buffer.ReadConformantVaryingCharArray().ToString())); break; default: Values = buffer.ReadFixedPrimitiveArray <long>(count).ToArray().Cast <object>().ToList(); break; } }
public void UnmarshalUnion(NdrBuffer buffer) { if (buffer == null) { throw new ArgumentNullException(nameof(buffer)); } this.Values = new List <object>(); var count = buffer.ReadInt32LittleEndian(); switch (this.Type) { case ClaimType.CLAIM_TYPE_STRING: buffer.ReadDeferredArray(count, () => this.Values.Add(buffer.ReadConformantVaryingCharArray().ToString())); break; default: this.Values = buffer.ReadFixedPrimitiveArray <long>(count).ToArray().Cast <object>().ToList(); break; } }