csharp/tyranid/WindowsRpcClients/Win10_1809/adhsvc.dll/c49a5a70-8a7f-4e70-ba16-1e8f1f193ef1_1.0.cs

c49a5a70-8a7f-4e70-ba16-1e8f1f193ef1_1.0.cs
//------------------------------------------------------------------------------
// 
//     This code was generated by a tool.
//     Runtime Version:4.0.30319.42000
//
//     Changes to this file may cause incorrect behavior and will be lost if
//     the code is regenerated.
// 
//------------------------------------------------------------------------------

// Source Executable: c:\windows\system32\adhsvc.dll
// Interface ID: c49a5a70-8a7f-4e70-ba16-1e8f1f193ef1
// Interface Version: 1.0



namespace rpc_c49a5a70_8a7f_4e70_ba16_1e8f1f193ef1_1_0
{
    
    #region Marshal Helpers
    internal clast _Marshal_Helper : NtApiDotNet.Ndr.Marshal.NdrMarshalBuffer
    {
        public void Write_0(Struct_0 p0)
        {
            WriteStruct(p0);
        }
        public void Write_1(Struct_1 p0)
        {
            WriteStruct(p0);
        }
        public void Write_2(Struct_2 p0)
        {
            WriteStruct(p0);
        }
        public void Write_3(Struct_3 p0)
        {
            WriteStruct(p0);
        }
        public void Write_4(Struct_4 p0)
        {
            WriteStruct(p0);
        }
        public void Write_5(Struct_2[] p0, long p1)
        {
            WriteConformantStructArray(p0, p1);
        }
        public void Write_6(Struct_4[] p0, long p1)
        {
            WriteConformantStructArray(p0, p1);
        }
        public void Write_7(byte[] p0)
        {
            WriteFixedByteArray(p0, 16);
        }
        public void Write_8(byte[] p0, long p1, long p2)
        {
            WriteConformantVaryingArray(p0, p1, p2);
        }
    }
    internal clast _Unmarshal_Helper : NtApiDotNet.Ndr.Marshal.NdrUnmarshalBuffer
    {
        public _Unmarshal_Helper(NtApiDotNet.Win32.Rpc.RpcClientResponse r) : 
                base(r.NdrBuffer, r.Handles, r.DataRepresentation)
        {
        }
        public _Unmarshal_Helper(byte[] ba) : 
                base(ba)
        {
        }
        public Struct_0 Read_0()
        {
            return ReadStruct();
        }
        public Struct_1 Read_1()
        {
            return ReadStruct();
        }
        public Struct_2 Read_2()
        {
            return ReadStruct();
        }
        public Struct_3 Read_3()
        {
            return ReadStruct();
        }
        public Struct_4 Read_4()
        {
            return ReadStruct();
        }
        public Struct_2[] Read_5()
        {
            return ReadConformantStructArray();
        }
        public Struct_4[] Read_6()
        {
            return ReadConformantStructArray();
        }
        public byte[] Read_7()
        {
            return ReadFixedByteArray(16);
        }
        public byte[] Read_8()
        {
            return ReadConformantVaryingArray();
        }
    }
    #endregion
    #region Complex Types
    public struct Struct_0 : NtApiDotNet.Ndr.Marshal.INdrStructure
    {
        void NtApiDotNet.Ndr.Marshal.INdrStructure.Marshal(NtApiDotNet.Ndr.Marshal.NdrMarshalBuffer m)
        {
            Marshal(((_Marshal_Helper)(m)));
        }
        private void Marshal(_Marshal_Helper m)
        {
            m.WriteInt32(Member0);
            m.WriteInt32(Member4);
            m.Write_1(Member8);
            m.Write_1(Member18);
            m.Write_3(Member28);
            m.Write_3(Member38);
        }
        void NtApiDotNet.Ndr.Marshal.INdrStructure.Unmarshal(NtApiDotNet.Ndr.Marshal.NdrUnmarshalBuffer u)
        {
            Unmarshal(((_Unmarshal_Helper)(u)));
        }
        private void Unmarshal(_Unmarshal_Helper u)
        {
            Member0 = u.ReadInt32();
            Member4 = u.ReadInt32();
            Member8 = u.Read_1();
            Member18 = u.Read_1();
            Member28 = u.Read_3();
            Member38 = u.Read_3();
        }
        int NtApiDotNet.Ndr.Marshal.INdrStructure.GetAlignment()
        {
            return 4;
        }
        public int Member0;
        public int Member4;
        public Struct_1 Member8;
        public Struct_1 Member18;
        public Struct_3 Member28;
        public Struct_3 Member38;
        public static Struct_0 CreateDefault()
        {
            return new Struct_0();
        }
        public Struct_0(int Member0, int Member4, Struct_1 Member8, Struct_1 Member18, Struct_3 Member28, Struct_3 Member38)
        {
            this.Member0 = Member0;
            this.Member4 = Member4;
            this.Member8 = Member8;
            this.Member18 = Member18;
            this.Member28 = Member28;
            this.Member38 = Member38;
        }
    }
    public struct Struct_1 : NtApiDotNet.Ndr.Marshal.INdrStructure
    {
        void NtApiDotNet.Ndr.Marshal.INdrStructure.Marshal(NtApiDotNet.Ndr.Marshal.NdrMarshalBuffer m)
        {
            Marshal(((_Marshal_Helper)(m)));
        }
        private void Marshal(_Marshal_Helper m)
        {
            m.WriteInt32(Member0);
            m.WriteEmbeddedPointer(Member8, new System.Action(m.Write_5), Member0);
        }
        void NtApiDotNet.Ndr.Marshal.INdrStructure.Unmarshal(NtApiDotNet.Ndr.Marshal.NdrUnmarshalBuffer u)
        {
            Unmarshal(((_Unmarshal_Helper)(u)));
        }
        private void Unmarshal(_Unmarshal_Helper u)
        {
            Member0 = u.ReadInt32();
            Member8 = u.ReadEmbeddedPointer(new System.Func(u.Read_5), false);
        }
        int NtApiDotNet.Ndr.Marshal.INdrStructure.GetAlignment()
        {
            return 4;
        }
        public int Member0;
        public NtApiDotNet.Ndr.Marshal.NdrEmbeddedPointer Member8;
        public static Struct_1 CreateDefault()
        {
            return new Struct_1();
        }
        public Struct_1(int Member0, Struct_2[] Member8)
        {
            this.Member0 = Member0;
            this.Member8 = Member8;
        }
    }
    public struct Struct_2 : NtApiDotNet.Ndr.Marshal.INdrStructure
    {
        void NtApiDotNet.Ndr.Marshal.INdrStructure.Marshal(NtApiDotNet.Ndr.Marshal.NdrMarshalBuffer m)
        {
            Marshal(((_Marshal_Helper)(m)));
        }
        private void Marshal(_Marshal_Helper m)
        {
            m.WriteInt32(Member0);
            m.WriteInt32(Member4);
        }
        void NtApiDotNet.Ndr.Marshal.INdrStructure.Unmarshal(NtApiDotNet.Ndr.Marshal.NdrUnmarshalBuffer u)
        {
            Unmarshal(((_Unmarshal_Helper)(u)));
        }
        private void Unmarshal(_Unmarshal_Helper u)
        {
            Member0 = u.ReadInt32();
            Member4 = u.ReadInt32();
        }
        int NtApiDotNet.Ndr.Marshal.INdrStructure.GetAlignment()
        {
            return 4;
        }
        public int Member0;
        public int Member4;
        public static Struct_2 CreateDefault()
        {
            return new Struct_2();
        }
        public Struct_2(int Member0, int Member4)
        {
            this.Member0 = Member0;
            this.Member4 = Member4;
        }
    }
    public struct Struct_3 : NtApiDotNet.Ndr.Marshal.INdrStructure
    {
        void NtApiDotNet.Ndr.Marshal.INdrStructure.Marshal(NtApiDotNet.Ndr.Marshal.NdrMarshalBuffer m)
        {
            Marshal(((_Marshal_Helper)(m)));
        }
        private void Marshal(_Marshal_Helper m)
        {
            m.WriteInt32(Member0);
            m.WriteEmbeddedPointer(Member8, new System.Action(m.Write_6), Member0);
        }
        void NtApiDotNet.Ndr.Marshal.INdrStructure.Unmarshal(NtApiDotNet.Ndr.Marshal.NdrUnmarshalBuffer u)
        {
            Unmarshal(((_Unmarshal_Helper)(u)));
        }
        private void Unmarshal(_Unmarshal_Helper u)
        {
            Member0 = u.ReadInt32();
            Member8 = u.ReadEmbeddedPointer(new System.Func(u.Read_6), false);
        }
        int NtApiDotNet.Ndr.Marshal.INdrStructure.GetAlignment()
        {
            return 4;
        }
        public int Member0;
        public NtApiDotNet.Ndr.Marshal.NdrEmbeddedPointer Member8;
        public static Struct_3 CreateDefault()
        {
            return new Struct_3();
        }
        public Struct_3(int Member0, Struct_4[] Member8)
        {
            this.Member0 = Member0;
            this.Member8 = Member8;
        }
    }
    public struct Struct_4 : NtApiDotNet.Ndr.Marshal.INdrStructure
    {
        void NtApiDotNet.Ndr.Marshal.INdrStructure.Marshal(NtApiDotNet.Ndr.Marshal.NdrMarshalBuffer m)
        {
            Marshal(((_Marshal_Helper)(m)));
        }
        private void Marshal(_Marshal_Helper m)
        {
            m.Write_7(NtApiDotNet.Win32.Rpc.RpcUtils.CheckNull(Member0, "Member0"));
            m.Write_7(NtApiDotNet.Win32.Rpc.RpcUtils.CheckNull(Member10, "Member10"));
        }
        void NtApiDotNet.Ndr.Marshal.INdrStructure.Unmarshal(NtApiDotNet.Ndr.Marshal.NdrUnmarshalBuffer u)
        {
            Unmarshal(((_Unmarshal_Helper)(u)));
        }
        private void Unmarshal(_Unmarshal_Helper u)
        {
            Member0 = u.Read_7();
            Member10 = u.Read_7();
        }
        int NtApiDotNet.Ndr.Marshal.INdrStructure.GetAlignment()
        {
            return 1;
        }
        public byte[] Member0;
        public byte[] Member10;
        public static Struct_4 CreateDefault()
        {
            Struct_4 ret = new Struct_4();
            ret.Member0 = new byte[16];
            ret.Member10 = new byte[16];
            return ret;
        }
        public Struct_4(byte[] Member0, byte[] Member10)
        {
            this.Member0 = Member0;
            this.Member10 = Member10;
        }
    }
    #endregion
    #region Client Implementation
    public sealed clast Client : NtApiDotNet.Win32.Rpc.RpcClientBase
    {
        public Client() : 
                base("c49a5a70-8a7f-4e70-ba16-1e8f1f193ef1", 1, 0)
        {
        }
        private _Unmarshal_Helper SendReceive(int p, _Marshal_Helper m)
        {
            return new _Unmarshal_Helper(SendReceive(p, m.DataRepresentation, m.ToArray(), m.Handles));
        }
        public int Rpc_AdhEngineOpen(out NtApiDotNet.Ndr.Marshal.NdrContextHandle p0)
        {
            _Marshal_Helper m = new _Marshal_Helper();
            _Unmarshal_Helper u = SendReceive(0, m);
            p0 = u.ReadContextHandle();
            return u.ReadInt32();
        }
        public int Rpc_AdhEngineClose(ref NtApiDotNet.Ndr.Marshal.NdrContextHandle p0)
        {
            _Marshal_Helper m = new _Marshal_Helper();
            m.WriteContextHandle(p0);
            _Unmarshal_Helper u = SendReceive(1, m);
            p0 = u.ReadContextHandle();
            return u.ReadInt32();
        }
        public int Rpc_AdhStatusEventSubscribe(NtApiDotNet.Ndr.Marshal.NdrContextHandle p0, ref NtApiDotNet.Ndr.Marshal.NdrContextHandle p1)
        {
            _Marshal_Helper m = new _Marshal_Helper();
            m.WriteContextHandle(p0);
            m.WriteContextHandle(p1);
            _Unmarshal_Helper u = SendReceive(2, m);
            p1 = u.ReadContextHandle();
            return u.ReadInt32();
        }
        // async
        public int Rpc_AdhStatusEventSubscriptionGetLastEvent(NtApiDotNet.Ndr.Marshal.NdrContextHandle p0, out System.Nullable p1)
        {
            _Marshal_Helper m = new _Marshal_Helper();
            m.WriteContextHandle(p0);
            _Unmarshal_Helper u = SendReceive(3, m);
            p1 = u.ReadReferentValue(new System.Func(u.Read_0), false);
            return u.ReadInt32();
        }
        public int Rpc_AdhStatusEventUnsubscribe(NtApiDotNet.Ndr.Marshal.NdrContextHandle p0, ref NtApiDotNet.Ndr.Marshal.NdrContextHandle p1)
        {
            _Marshal_Helper m = new _Marshal_Helper();
            m.WriteContextHandle(p0);
            m.WriteContextHandle(p1);
            _Unmarshal_Helper u = SendReceive(4, m);
            p1 = u.ReadContextHandle();
            return u.ReadInt32();
        }
        public int Rpc_AdhGetConfig(NtApiDotNet.Ndr.Marshal.NdrContextHandle p0, NtApiDotNet.Ndr.Marshal.NdrEnum16 p1, ref byte[] p2, int p3, ref int p4, out int p5)
        {
            _Marshal_Helper m = new _Marshal_Helper();
            m.WriteContextHandle(p0);
            m.WriteEnum16(p1);
            m.WriteReferent(p2, new System.Action(m.Write_8), p3, NtApiDotNet.Win32.Rpc.RpcUtils.DeRef(p4));
            m.WriteInt32(p3);
            m.WriteInt32(p4);
            _Unmarshal_Helper u = SendReceive(5, m);
            p2 = u.ReadReferent(new System.Func(u.Read_8), false);
            p4 = u.ReadInt32();
            p5 = u.ReadInt32();
            return u.ReadInt32();
        }
        public int Rpc_AdhGetEvidenceCollectorResult(NtApiDotNet.Ndr.Marshal.NdrContextHandle p0, NtApiDotNet.Ndr.Marshal.NdrEnum16 p1, int p2, int p3, out int p4)
        {
            _Marshal_Helper m = new _Marshal_Helper();
            m.WriteContextHandle(p0);
            m.WriteEnum16(p1);
            m.WriteInt32(p2);
            m.WriteInt32(p3);
            _Unmarshal_Helper u = SendReceive(6, m);
            p4 = u.ReadInt32();
            return u.ReadInt32();
        }
    }
    #endregion
}