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();
 }