internal unsafe void __MarshalFrom(ref InfoQueueFilterDescription.__Native @ref) { this.Categories = new MessageCategory[@ref.CategorieCount]; if (@ref.CategorieCount > 0) { Utilities.Read(@ref.PCategoryList, this.Categories, 0, @ref.CategorieCount); } this.Severities = new MessageSeverity[@ref.SeveritieCount]; if (@ref.SeveritieCount > 0) { Utilities.Read(@ref.PSeverityList, this.Severities, 0, @ref.SeveritieCount); } this.Ids = new MessageId[@ref.IDCount]; if (@ref.IDCount > 0) { Utilities.Read(@ref.PIDList, this.Ids, 0, @ref.IDCount); } }
internal unsafe void __MarshalTo(ref InfoQueueFilterDescription.__Native @ref) { @ref.CategorieCount = this.Categories == null ? 0 : this.Categories.Length; if (@ref.CategorieCount > 0) { @ref.PCategoryList = Marshal.AllocHGlobal(sizeof(MessageCategory) * @ref.CategorieCount); Utilities.Write(@ref.PCategoryList, this.Categories, 0, @ref.CategorieCount); } @ref.SeveritieCount = this.Severities == null ? 0 : this.Severities.Length; if (@ref.SeveritieCount > 0) { @ref.PSeverityList = Marshal.AllocHGlobal(sizeof(MessageSeverity) * @ref.SeveritieCount); Utilities.Write(@ref.PSeverityList, this.Severities, 0, @ref.SeveritieCount); } @ref.IDCount = this.Ids == null ? 0 : this.Ids.Length; if (@ref.IDCount > 0) { @ref.PIDList = Marshal.AllocHGlobal(sizeof(MessageId) * @ref.IDCount); Utilities.Write(@ref.PIDList, this.Ids, 0, @ref.IDCount); } }
internal unsafe void __MarshalFree(ref InfoQueueFilterDescription.__Native @ref) { @ref.__MarshalFree(); }