csharp/tyranid/WindowsRpcClients/Win10_1809/bisrv.dll/8bfc3be1-6def-4e2d-af74-7c47cd0ade4a_1.0.cs

8bfc3be1-6def-4e2d-af74-7c47cd0ade4a_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\bisrv.dll
// Interface ID: 8bfc3be1-6def-4e2d-af74-7c47cd0ade4a
// Interface Version: 1.0



namespace rpc_8bfc3be1_6def_4e2d_af74_7c47cd0ade4a_1_0
{
    
    #region Marshal Helpers
    internal clast _Marshal_Helper : NtApiDotNet.Ndr.Marshal.NdrMarshalBuffer
    {
        public void Write_0(byte[] p0, long p1)
        {
            WriteConformantArray(p0, p1);
        }
        public void Write_1(char[] p0, long p1)
        {
            WriteConformantArray(p0, p1);
        }
        public void Write_2(System.Guid[] p0, long p1)
        {
            WriteConformantArrayCallback(p0, new System.Action(this.WriteGuid), p1);
        }
        public void Write_3(NtApiDotNet.NtEvent p0)
        {
            WriteSystemHandle(p0);
        }
        public void Write_4(byte[] p0, long p1)
        {
            WriteConformantArray(p0, p1);
        }
        public void Write_5(string[] p0, long p1)
        {
            WriteConformantStringArray(p0, new System.Action(this.WriteTerminatedString), p1);
        }
        public void Write_6(byte[] p0, long p1)
        {
            WriteConformantArray(p0, p1);
        }
        public void Write_7(string[] p0, long p1)
        {
            WriteConformantStringArray(p0, new System.Action(this.WriteTerminatedString), p1);
        }
        public void Write_8(sbyte[] p0, long p1)
        {
            WriteConformantArray(p0, p1);
        }
    }
    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 byte[] Read_0()
        {
            return ReadConformantArray();
        }
        public char[] Read_1()
        {
            return ReadConformantArray();
        }
        public System.Guid[] Read_2()
        {
            return ReadConformantArrayCallback(new System.Func(this.ReadGuid));
        }
        public NtApiDotNet.NtEvent Read_3()
        {
            return ReadSystemHandle();
        }
        public byte[] Read_4()
        {
            return ReadConformantArray();
        }
        public string[] Read_5()
        {
            return ReadConformantStringArray(new System.Func(this.ReadConformantVaryingString));
        }
        public byte[] Read_6()
        {
            return ReadConformantArray();
        }
        public string[] Read_7()
        {
            return ReadConformantStringArray(new System.Func(this.ReadConformantVaryingString));
        }
        public sbyte[] Read_8()
        {
            return ReadConformantArray();
        }
    }
    #endregion
    #region Client Implementation
    public sealed clast Client : NtApiDotNet.Win32.Rpc.RpcClientBase
    {
        public Client() : 
                base("8bfc3be1-6def-4e2d-af74-7c47cd0ade4a", 1, 0)
        {
        }
        private _Unmarshal_Helper SendReceive(int p, _Marshal_Helper m)
        {
            return new _Unmarshal_Helper(SendReceive(p, m.DataRepresentation, m.ToArray(), m.Handles));
        }
        public uint RBiSrvActivateWorkItemForUser(byte[] p0, int p1, System.Guid p2)
        {
            _Marshal_Helper m = new _Marshal_Helper();
            m.WriteReferent(p0, new System.Action(m.Write_0), p1);
            m.WriteInt32(p1);
            m.WriteGuid(p2);
            _Unmarshal_Helper u = SendReceive(0, m);
            return u.ReadUInt32();
        }
        public uint RBiSrvChangeApplicationStateForPackageNameForUser(byte[] p0, int p1, char[] p2, int p3, NtApiDotNet.Ndr.Marshal.NdrEnum16 p4, out sbyte p5)
        {
            _Marshal_Helper m = new _Marshal_Helper();
            m.WriteReferent(p0, new System.Action(m.Write_0), p1);
            m.WriteInt32(p1);
            m.Write_1(NtApiDotNet.Win32.Rpc.RpcUtils.CheckNull(p2, "p2"), p3);
            m.WriteInt32(p3);
            m.WriteEnum16(p4);
            _Unmarshal_Helper u = SendReceive(1, m);
            p5 = u.ReadSByte();
            return u.ReadUInt32();
        }
        public uint RBiSrvChangeApplicationStateForPsmKeyForUser(byte[] p0, int p1, char[] p2, int p3, NtApiDotNet.Ndr.Marshal.NdrEnum16 p4, out sbyte p5)
        {
            _Marshal_Helper m = new _Marshal_Helper();
            m.WriteReferent(p0, new System.Action(m.Write_0), p1);
            m.WriteInt32(p1);
            m.Write_1(NtApiDotNet.Win32.Rpc.RpcUtils.CheckNull(p2, "p2"), p3);
            m.WriteInt32(p3);
            m.WriteEnum16(p4);
            _Unmarshal_Helper u = SendReceive(2, m);
            p5 = u.ReadSByte();
            return u.ReadUInt32();
        }
        public uint RBiSrvChangeUserState(byte[] p0, int p1, NtApiDotNet.Ndr.Marshal.NdrEnum16 p2)
        {
            _Marshal_Helper m = new _Marshal_Helper();
            m.WriteReferent(p0, new System.Action(m.Write_0), p1);
            m.WriteInt32(p1);
            m.WriteEnum16(p2);
            _Unmarshal_Helper u = SendReceive(3, m);
            return u.ReadUInt32();
        }
        public uint RBiSrvEnumerateWorkItemsForPackageNameAndUser(byte[] p0, int p1, char[] p2, int p3, int p4, out int p5, out System.Guid[] p6)
        {
            _Marshal_Helper m = new _Marshal_Helper();
            m.WriteReferent(p0, new System.Action(m.Write_0), p1);
            m.WriteInt32(p1);
            m.WriteReferent(p2, new System.Action(m.Write_1), p3);
            m.WriteInt32(p3);
            m.WriteInt32(p4);
            _Unmarshal_Helper u = SendReceive(4, m);
            p5 = u.ReadInt32();
            p6 = u.ReadReferent(new System.Func(u.Read_2), false);
            return u.ReadUInt32();
        }
        public uint RBiSrvGetActiveBackgroundTasksEventForUser(byte[] p0, int p1, char[] p2, int p3, out NtApiDotNet.NtEvent p4)
        {
            _Marshal_Helper m = new _Marshal_Helper();
            m.WriteReferent(p0, new System.Action(m.Write_0), p1);
            m.WriteInt32(p1);
            m.Write_1(NtApiDotNet.Win32.Rpc.RpcUtils.CheckNull(p2, "p2"), p3);
            m.WriteInt32(p3);
            _Unmarshal_Helper u = SendReceive(5, m);
            p4 = u.Read_3();
            return u.ReadUInt32();
        }
        public int RBiSrvGetCancellationTimeoutInMs()
        {
            _Marshal_Helper m = new _Marshal_Helper();
            _Unmarshal_Helper u = SendReceive(6, m);
            return u.ReadInt32();
        }
        public uint RBiSrvIsApplicationTerminateSensitiveForUser(byte[] p0, int p1, char[] p2, int p3, out sbyte p4)
        {
            _Marshal_Helper m = new _Marshal_Helper();
            m.WriteReferent(p0, new System.Action(m.Write_0), p1);
            m.WriteInt32(p1);
            m.Write_1(NtApiDotNet.Win32.Rpc.RpcUtils.CheckNull(p2, "p2"), p3);
            m.WriteInt32(p3);
            _Unmarshal_Helper u = SendReceive(7, m);
            p4 = u.ReadSByte();
            return u.ReadUInt32();
        }
        public uint RBiSrvNotifyEndSession(ref NtApiDotNet.Ndr.Marshal.NdrContextHandle p0)
        {
            _Marshal_Helper m = new _Marshal_Helper();
            m.WriteContextHandle(p0);
            _Unmarshal_Helper u = SendReceive(8, m);
            p0 = u.ReadContextHandle();
            return u.ReadUInt32();
        }
        public uint RBiSrvNotifyNewSession(int p0, byte[] p1, out NtApiDotNet.Ndr.Marshal.NdrContextHandle p2)
        {
            _Marshal_Helper m = new _Marshal_Helper();
            m.WriteInt32(p0);
            m.Write_4(NtApiDotNet.Win32.Rpc.RpcUtils.CheckNull(p1, "p1"), p0);
            _Unmarshal_Helper u = SendReceive(9, m);
            p2 = u.ReadContextHandle();
            return u.ReadUInt32();
        }
        public uint RBiSrvNotifyNewSessionComplete()
        {
            _Marshal_Helper m = new _Marshal_Helper();
            _Unmarshal_Helper u = SendReceive(10, m);
            return u.ReadUInt32();
        }
        public uint RBiSrvNotifyNewUser(byte[] p0, int p1, long p2, int p3, string[] p4, string[] p5, int p6)
        {
            _Marshal_Helper m = new _Marshal_Helper();
            m.WriteReferent(p0, new System.Action(m.Write_0), p1);
            m.WriteInt32(p1);
            m.WriteInt64(p2);
            m.WriteInt32(p3);
            m.WriteReferent(p4, new System.Action(m.Write_5), p3);
            m.WriteReferent(p5, new System.Action(m.Write_5), p3);
            m.WriteInt32(p6);
            _Unmarshal_Helper u = SendReceive(11, m);
            return u.ReadUInt32();
        }
        public uint RBiSrvQueryWorkItemForUser(byte[] p0, int p1, System.Guid p2, out int p3, out byte[] p4)
        {
            _Marshal_Helper m = new _Marshal_Helper();
            m.WriteReferent(p0, new System.Action(m.Write_0), p1);
            m.WriteInt32(p1);
            m.WriteGuid(p2);
            _Unmarshal_Helper u = SendReceive(12, m);
            p3 = u.ReadInt32();
            p4 = u.ReadReferent(new System.Func(u.Read_6), false);
            return u.ReadUInt32();
        }
        public uint RBiSrvResetActiveUserForPackage(string p0)
        {
            _Marshal_Helper m = new _Marshal_Helper();
            m.WriteTerminatedString(NtApiDotNet.Win32.Rpc.RpcUtils.CheckNull(p0, "p0"));
            _Unmarshal_Helper u = SendReceive(13, m);
            return u.ReadUInt32();
        }
        public uint RBiSrvSetActiveUserForPackage(string p0, int p1)
        {
            _Marshal_Helper m = new _Marshal_Helper();
            m.WriteTerminatedString(NtApiDotNet.Win32.Rpc.RpcUtils.CheckNull(p0, "p0"));
            m.WriteInt32(p1);
            _Unmarshal_Helper u = SendReceive(14, m);
            return u.ReadUInt32();
        }
        public uint RBiSrvTerminateApplicationHostForUser(byte[] p0, int p1, char[] p2, int p3, int p4, long p5, NtApiDotNet.Ndr.Marshal.NdrEnum16 p6, out sbyte p7)
        {
            _Marshal_Helper m = new _Marshal_Helper();
            m.WriteReferent(p0, new System.Action(m.Write_0), p1);
            m.WriteInt32(p1);
            m.Write_1(NtApiDotNet.Win32.Rpc.RpcUtils.CheckNull(p2, "p2"), p3);
            m.WriteInt32(p3);
            m.WriteInt32(p4);
            m.WriteInt64(p5);
            m.WriteEnum16(p6);
            _Unmarshal_Helper u = SendReceive(15, m);
            p7 = u.ReadSByte();
            return u.ReadUInt32();
        }
        public uint RBiSrvUpdateBackgroundAccessApplicationsForUser(byte[] p0, int p1, int p2, string[] p3, string[] p4, sbyte[] p5)
        {
            _Marshal_Helper m = new _Marshal_Helper();
            m.WriteReferent(p0, new System.Action(m.Write_0), p1);
            m.WriteInt32(p1);
            m.WriteInt32(p2);
            m.Write_7(NtApiDotNet.Win32.Rpc.RpcUtils.CheckNull(p3, "p3"), p2);
            m.Write_7(NtApiDotNet.Win32.Rpc.RpcUtils.CheckNull(p4, "p4"), p2);
            m.Write_8(NtApiDotNet.Win32.Rpc.RpcUtils.CheckNull(p5, "p5"), p2);
            _Unmarshal_Helper u = SendReceive(16, m);
            return u.ReadUInt32();
        }
    }
    #endregion
}