Skip to content

Instantly share code, notes, and snippets.

@tyranid
Created July 1, 2020 21:02
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save tyranid/db971d5484b676f6f394bf051450760b to your computer and use it in GitHub Desktop.
Save tyranid/db971d5484b676f6f394bf051450760b to your computer and use it in GitHub Desktop.
#region Marshal Helpers
internal class _Marshal_Helper : NtApiDotNet.Ndr.Marshal.NdrMarshalBuffer
{
public void Write_0(_PAC_DEVICE_INFO p0)
{
WriteStruct<_PAC_DEVICE_INFO>(p0);
}
public void Write_1(_SID p0)
{
WriteStruct<_SID>(p0);
}
public void Write_2(_SID_IDENTIFIER_AUTHORITY p0)
{
WriteStruct<_SID_IDENTIFIER_AUTHORITY>(p0);
}
public void Write_3(_GROUP_MEMBERSHIP p0)
{
WriteStruct<_GROUP_MEMBERSHIP>(p0);
}
public void Write_4(_KERB_SID_AND_ATTRIBUTES p0)
{
WriteStruct<_KERB_SID_AND_ATTRIBUTES>(p0);
}
public void Write_5(_RPC_SID p0)
{
WriteStruct<_RPC_SID>(p0);
}
public void Write_6(_RPC_SID_IDENTIFIER_AUTHORITY p0)
{
WriteStruct<_RPC_SID_IDENTIFIER_AUTHORITY>(p0);
}
public void Write_7(DOMAIN_GROUP_MEMBERSHIP p0)
{
WriteStruct<DOMAIN_GROUP_MEMBERSHIP>(p0);
}
public void Write_8(_GROUP_MEMBERSHIP[] p0, long p1)
{
WriteConformantStructArray<_GROUP_MEMBERSHIP>(p0, p1);
}
public void Write_9(_KERB_SID_AND_ATTRIBUTES[] p0, long p1)
{
WriteConformantStructArray<_KERB_SID_AND_ATTRIBUTES>(p0, p1);
}
public void Write_10(DOMAIN_GROUP_MEMBERSHIP[] p0, long p1)
{
WriteConformantStructArray<DOMAIN_GROUP_MEMBERSHIP>(p0, p1);
}
public void Write_11(int[] p0, long p1)
{
WriteConformantArray<int>(p0, p1);
}
public void Write_12(sbyte[] p0)
{
WriteFixedPrimitiveArray<sbyte>(p0, 6);
}
public void Write_13(int[] p0, long p1)
{
WriteConformantArray<int>(p0, p1);
}
public void Write_14(byte[] p0)
{
WriteFixedByteArray(p0, 6);
}
public void Write_15(_GROUP_MEMBERSHIP[] p0, long p1)
{
WriteConformantStructArray<_GROUP_MEMBERSHIP>(p0, p1);
}
}
internal class _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 _Unmarshal_Helper(NtApiDotNet.Ndr.Marshal.NdrPickledType pickled_type) :
base(pickled_type)
{
}
public _PAC_DEVICE_INFO Read_0()
{
return ReadStruct<_PAC_DEVICE_INFO>();
}
public _SID Read_1()
{
return ReadStruct<_SID>();
}
public _SID_IDENTIFIER_AUTHORITY Read_2()
{
return ReadStruct<_SID_IDENTIFIER_AUTHORITY>();
}
public _GROUP_MEMBERSHIP Read_3()
{
return ReadStruct<_GROUP_MEMBERSHIP>();
}
public _KERB_SID_AND_ATTRIBUTES Read_4()
{
return ReadStruct<_KERB_SID_AND_ATTRIBUTES>();
}
public _RPC_SID Read_5()
{
return ReadStruct<_RPC_SID>();
}
public _RPC_SID_IDENTIFIER_AUTHORITY Read_6()
{
return ReadStruct<_RPC_SID_IDENTIFIER_AUTHORITY>();
}
public DOMAIN_GROUP_MEMBERSHIP Read_7()
{
return ReadStruct<DOMAIN_GROUP_MEMBERSHIP>();
}
public _GROUP_MEMBERSHIP[] Read_8()
{
return ReadConformantStructArray<_GROUP_MEMBERSHIP>();
}
public _KERB_SID_AND_ATTRIBUTES[] Read_9()
{
return ReadConformantStructArray<_KERB_SID_AND_ATTRIBUTES>();
}
public DOMAIN_GROUP_MEMBERSHIP[] Read_10()
{
return ReadConformantStructArray<DOMAIN_GROUP_MEMBERSHIP>();
}
public int[] Read_11()
{
return ReadConformantArray<int>();
}
public sbyte[] Read_12()
{
return ReadFixedPrimitiveArray<sbyte>(6);
}
public int[] Read_13()
{
return ReadConformantArray<int>();
}
public byte[] Read_14()
{
return ReadFixedByteArray(6);
}
public _GROUP_MEMBERSHIP[] Read_15()
{
return ReadConformantStructArray<_GROUP_MEMBERSHIP>();
}
}
#endregion
#region Complex Types
public struct _PAC_DEVICE_INFO : 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(UserId);
m.WriteInt32(PrimaryGroupId);
m.WriteEmbeddedPointer<_SID>(AccountDomainId, new System.Action<_SID>(m.Write_1));
m.WriteInt32(AccountGroupCount);
m.WriteEmbeddedPointer<_GROUP_MEMBERSHIP[], long>(AccountGroupIds, new System.Action<_GROUP_MEMBERSHIP[], long>(m.Write_8), AccountGroupCount);
m.WriteInt32(SidCount);
m.WriteEmbeddedPointer<_KERB_SID_AND_ATTRIBUTES[], long>(ExtraSids, new System.Action<_KERB_SID_AND_ATTRIBUTES[], long>(m.Write_9), SidCount);
m.WriteInt32(DomainGroupCount);
m.WriteEmbeddedPointer<DOMAIN_GROUP_MEMBERSHIP[], long>(DomainGroup, new System.Action<DOMAIN_GROUP_MEMBERSHIP[], long>(m.Write_10), DomainGroupCount);
}
void NtApiDotNet.Ndr.Marshal.INdrStructure.Unmarshal(NtApiDotNet.Ndr.Marshal.NdrUnmarshalBuffer u)
{
Unmarshal(((_Unmarshal_Helper)(u)));
}
private void Unmarshal(_Unmarshal_Helper u)
{
UserId = u.ReadInt32();
PrimaryGroupId = u.ReadInt32();
AccountDomainId = u.ReadEmbeddedPointer<_SID>(new System.Func<_SID>(u.Read_1), false);
AccountGroupCount = u.ReadInt32();
AccountGroupIds = u.ReadEmbeddedPointer<_GROUP_MEMBERSHIP[]>(new System.Func<_GROUP_MEMBERSHIP[]>(u.Read_8), false);
SidCount = u.ReadInt32();
ExtraSids = u.ReadEmbeddedPointer<_KERB_SID_AND_ATTRIBUTES[]>(new System.Func<_KERB_SID_AND_ATTRIBUTES[]>(u.Read_9), false);
DomainGroupCount = u.ReadInt32();
DomainGroup = u.ReadEmbeddedPointer<DOMAIN_GROUP_MEMBERSHIP[]>(new System.Func<DOMAIN_GROUP_MEMBERSHIP[]>(u.Read_10), false);
}
int NtApiDotNet.Ndr.Marshal.INdrStructure.GetAlignment()
{
return 4;
}
public int UserId;
public int PrimaryGroupId;
public NtApiDotNet.Ndr.Marshal.NdrEmbeddedPointer<_SID> AccountDomainId;
public int AccountGroupCount;
public NtApiDotNet.Ndr.Marshal.NdrEmbeddedPointer<_GROUP_MEMBERSHIP[]> AccountGroupIds;
public int SidCount;
public NtApiDotNet.Ndr.Marshal.NdrEmbeddedPointer<_KERB_SID_AND_ATTRIBUTES[]> ExtraSids;
public int DomainGroupCount;
public NtApiDotNet.Ndr.Marshal.NdrEmbeddedPointer<DOMAIN_GROUP_MEMBERSHIP[]> DomainGroup;
public static _PAC_DEVICE_INFO CreateDefault()
{
return new _PAC_DEVICE_INFO();
}
public _PAC_DEVICE_INFO(int UserId, int PrimaryGroupId, System.Nullable<_SID> AccountDomainId, int AccountGroupCount, _GROUP_MEMBERSHIP[] AccountGroupIds, int SidCount, _KERB_SID_AND_ATTRIBUTES[] ExtraSids, int DomainGroupCount, DOMAIN_GROUP_MEMBERSHIP[] DomainGroup)
{
this.UserId = UserId;
this.PrimaryGroupId = PrimaryGroupId;
this.AccountDomainId = AccountDomainId;
this.AccountGroupCount = AccountGroupCount;
this.AccountGroupIds = AccountGroupIds;
this.SidCount = SidCount;
this.ExtraSids = ExtraSids;
this.DomainGroupCount = DomainGroupCount;
this.DomainGroup = DomainGroup;
}
}
public struct _SID : NtApiDotNet.Ndr.Marshal.INdrConformantStructure
{
void NtApiDotNet.Ndr.Marshal.INdrStructure.Marshal(NtApiDotNet.Ndr.Marshal.NdrMarshalBuffer m)
{
Marshal(((_Marshal_Helper)(m)));
}
private void Marshal(_Marshal_Helper m)
{
m.WriteByte(Revision);
m.WriteByte(SubAuthorityCount);
m.Write_2(IdentifierAuthority);
m.Write_11(NtApiDotNet.Win32.Rpc.RpcUtils.CheckNull(SubAuthority, "SubAuthority"), SubAuthorityCount);
}
void NtApiDotNet.Ndr.Marshal.INdrStructure.Unmarshal(NtApiDotNet.Ndr.Marshal.NdrUnmarshalBuffer u)
{
Unmarshal(((_Unmarshal_Helper)(u)));
}
private void Unmarshal(_Unmarshal_Helper u)
{
Revision = u.ReadByte();
SubAuthorityCount = u.ReadByte();
IdentifierAuthority = u.Read_2();
SubAuthority = u.Read_11();
}
int NtApiDotNet.Ndr.Marshal.INdrConformantStructure.GetConformantDimensions()
{
return 1;
}
int NtApiDotNet.Ndr.Marshal.INdrStructure.GetAlignment()
{
return 4;
}
public byte Revision;
public byte SubAuthorityCount;
public _SID_IDENTIFIER_AUTHORITY IdentifierAuthority;
public int[] SubAuthority;
public static _SID CreateDefault()
{
_SID ret = new _SID();
ret.SubAuthority = new int[0];
return ret;
}
public _SID(byte Revision, byte SubAuthorityCount, _SID_IDENTIFIER_AUTHORITY IdentifierAuthority, int[] SubAuthority)
{
this.Revision = Revision;
this.SubAuthorityCount = SubAuthorityCount;
this.IdentifierAuthority = IdentifierAuthority;
this.SubAuthority = SubAuthority;
}
}
public struct _SID_IDENTIFIER_AUTHORITY : 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_12(NtApiDotNet.Win32.Rpc.RpcUtils.CheckNull(Value, "Value"));
}
void NtApiDotNet.Ndr.Marshal.INdrStructure.Unmarshal(NtApiDotNet.Ndr.Marshal.NdrUnmarshalBuffer u)
{
Unmarshal(((_Unmarshal_Helper)(u)));
}
private void Unmarshal(_Unmarshal_Helper u)
{
Value = u.Read_12();
}
int NtApiDotNet.Ndr.Marshal.INdrStructure.GetAlignment()
{
return 1;
}
public sbyte[] Value;
public static _SID_IDENTIFIER_AUTHORITY CreateDefault()
{
_SID_IDENTIFIER_AUTHORITY ret = new _SID_IDENTIFIER_AUTHORITY();
ret.Value = new sbyte[6];
return ret;
}
public _SID_IDENTIFIER_AUTHORITY(sbyte[] Value)
{
this.Value = Value;
}
}
public struct _GROUP_MEMBERSHIP : 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(RelativeId);
m.WriteInt32(Attributes);
}
void NtApiDotNet.Ndr.Marshal.INdrStructure.Unmarshal(NtApiDotNet.Ndr.Marshal.NdrUnmarshalBuffer u)
{
Unmarshal(((_Unmarshal_Helper)(u)));
}
private void Unmarshal(_Unmarshal_Helper u)
{
RelativeId = u.ReadInt32();
Attributes = u.ReadInt32();
}
int NtApiDotNet.Ndr.Marshal.INdrStructure.GetAlignment()
{
return 4;
}
public int RelativeId;
public int Attributes;
public static _GROUP_MEMBERSHIP CreateDefault()
{
return new _GROUP_MEMBERSHIP();
}
public _GROUP_MEMBERSHIP(int RelativeId, int Attributes)
{
this.RelativeId = RelativeId;
this.Attributes = Attributes;
}
}
public struct _KERB_SID_AND_ATTRIBUTES : 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.WriteEmbeddedPointer<_RPC_SID>(Sid, new System.Action<_RPC_SID>(m.Write_5));
m.WriteInt32(Attributes);
}
void NtApiDotNet.Ndr.Marshal.INdrStructure.Unmarshal(NtApiDotNet.Ndr.Marshal.NdrUnmarshalBuffer u)
{
Unmarshal(((_Unmarshal_Helper)(u)));
}
private void Unmarshal(_Unmarshal_Helper u)
{
Sid = u.ReadEmbeddedPointer<_RPC_SID>(new System.Func<_RPC_SID>(u.Read_5), false);
Attributes = u.ReadInt32();
}
int NtApiDotNet.Ndr.Marshal.INdrStructure.GetAlignment()
{
return 4;
}
public NtApiDotNet.Ndr.Marshal.NdrEmbeddedPointer<_RPC_SID> Sid;
public int Attributes;
public static _KERB_SID_AND_ATTRIBUTES CreateDefault()
{
return new _KERB_SID_AND_ATTRIBUTES();
}
public _KERB_SID_AND_ATTRIBUTES(System.Nullable<_RPC_SID> Sid, int Attributes)
{
this.Sid = Sid;
this.Attributes = Attributes;
}
}
public struct _RPC_SID : NtApiDotNet.Ndr.Marshal.INdrConformantStructure
{
void NtApiDotNet.Ndr.Marshal.INdrStructure.Marshal(NtApiDotNet.Ndr.Marshal.NdrMarshalBuffer m)
{
Marshal(((_Marshal_Helper)(m)));
}
private void Marshal(_Marshal_Helper m)
{
m.WriteSByte(Revision);
m.WriteSByte(SubAuthorityCount);
m.Write_6(IdentifierAuthority);
m.Write_13(NtApiDotNet.Win32.Rpc.RpcUtils.CheckNull(SubAuthority, "SubAuthority"), SubAuthorityCount);
}
void NtApiDotNet.Ndr.Marshal.INdrStructure.Unmarshal(NtApiDotNet.Ndr.Marshal.NdrUnmarshalBuffer u)
{
Unmarshal(((_Unmarshal_Helper)(u)));
}
private void Unmarshal(_Unmarshal_Helper u)
{
Revision = u.ReadSByte();
SubAuthorityCount = u.ReadSByte();
IdentifierAuthority = u.Read_6();
SubAuthority = u.Read_13();
}
int NtApiDotNet.Ndr.Marshal.INdrConformantStructure.GetConformantDimensions()
{
return 1;
}
int NtApiDotNet.Ndr.Marshal.INdrStructure.GetAlignment()
{
return 4;
}
public sbyte Revision;
public sbyte SubAuthorityCount;
public _RPC_SID_IDENTIFIER_AUTHORITY IdentifierAuthority;
public int[] SubAuthority;
public static _RPC_SID CreateDefault()
{
_RPC_SID ret = new _RPC_SID();
ret.SubAuthority = new int[0];
return ret;
}
public _RPC_SID(sbyte Revision, sbyte SubAuthorityCount, _RPC_SID_IDENTIFIER_AUTHORITY IdentifierAuthority, int[] SubAuthority)
{
this.Revision = Revision;
this.SubAuthorityCount = SubAuthorityCount;
this.IdentifierAuthority = IdentifierAuthority;
this.SubAuthority = SubAuthority;
}
}
public struct _RPC_SID_IDENTIFIER_AUTHORITY : 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_14(NtApiDotNet.Win32.Rpc.RpcUtils.CheckNull(Value, "Value"));
}
void NtApiDotNet.Ndr.Marshal.INdrStructure.Unmarshal(NtApiDotNet.Ndr.Marshal.NdrUnmarshalBuffer u)
{
Unmarshal(((_Unmarshal_Helper)(u)));
}
private void Unmarshal(_Unmarshal_Helper u)
{
Value = u.Read_14();
}
int NtApiDotNet.Ndr.Marshal.INdrStructure.GetAlignment()
{
return 1;
}
public byte[] Value;
public static _RPC_SID_IDENTIFIER_AUTHORITY CreateDefault()
{
_RPC_SID_IDENTIFIER_AUTHORITY ret = new _RPC_SID_IDENTIFIER_AUTHORITY();
ret.Value = new byte[6];
return ret;
}
public _RPC_SID_IDENTIFIER_AUTHORITY(byte[] Value)
{
this.Value = Value;
}
}
public struct DOMAIN_GROUP_MEMBERSHIP : 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.WriteEmbeddedPointer<_RPC_SID>(DomainId, new System.Action<_RPC_SID>(m.Write_5));
m.WriteInt32(GroupCount);
m.WriteEmbeddedPointer<_GROUP_MEMBERSHIP[], long>(GroupIds, new System.Action<_GROUP_MEMBERSHIP[], long>(m.Write_15), GroupCount);
}
void NtApiDotNet.Ndr.Marshal.INdrStructure.Unmarshal(NtApiDotNet.Ndr.Marshal.NdrUnmarshalBuffer u)
{
Unmarshal(((_Unmarshal_Helper)(u)));
}
private void Unmarshal(_Unmarshal_Helper u)
{
DomainId = u.ReadEmbeddedPointer<_RPC_SID>(new System.Func<_RPC_SID>(u.Read_5), false);
GroupCount = u.ReadInt32();
GroupIds = u.ReadEmbeddedPointer<_GROUP_MEMBERSHIP[]>(new System.Func<_GROUP_MEMBERSHIP[]>(u.Read_15), false);
}
int NtApiDotNet.Ndr.Marshal.INdrStructure.GetAlignment()
{
return 4;
}
public NtApiDotNet.Ndr.Marshal.NdrEmbeddedPointer<_RPC_SID> DomainId;
public int GroupCount;
public NtApiDotNet.Ndr.Marshal.NdrEmbeddedPointer<_GROUP_MEMBERSHIP[]> GroupIds;
public static DOMAIN_GROUP_MEMBERSHIP CreateDefault()
{
return new DOMAIN_GROUP_MEMBERSHIP();
}
public DOMAIN_GROUP_MEMBERSHIP(System.Nullable<_RPC_SID> DomainId, int GroupCount, _GROUP_MEMBERSHIP[] GroupIds)
{
this.DomainId = DomainId;
this.GroupCount = GroupCount;
this.GroupIds = GroupIds;
}
}
#endregion
#region Complex Type Encoders
public sealed class Encoder
{
private Encoder()
{
}
public static NtApiDotNet.Ndr.Marshal.NdrPickledType _PAC_DEVICE_INFO_Encode(System.Nullable<_PAC_DEVICE_INFO> o)
{
_Marshal_Helper m = new _Marshal_Helper();
m.WriteReferent(o, new System.Action<_PAC_DEVICE_INFO>(m.Write_0));
return m.ToPickledType();
}
public static NtApiDotNet.Ndr.Marshal.NdrPickledType _SID_Encode(System.Nullable<_SID> o)
{
_Marshal_Helper m = new _Marshal_Helper();
m.WriteReferent(o, new System.Action<_SID>(m.Write_1));
return m.ToPickledType();
}
public static NtApiDotNet.Ndr.Marshal.NdrPickledType _SID_IDENTIFIER_AUTHORITY_Encode(System.Nullable<_SID_IDENTIFIER_AUTHORITY> o)
{
_Marshal_Helper m = new _Marshal_Helper();
m.WriteReferent(o, new System.Action<_SID_IDENTIFIER_AUTHORITY>(m.Write_2));
return m.ToPickledType();
}
public static NtApiDotNet.Ndr.Marshal.NdrPickledType _GROUP_MEMBERSHIP_Encode(System.Nullable<_GROUP_MEMBERSHIP> o)
{
_Marshal_Helper m = new _Marshal_Helper();
m.WriteReferent(o, new System.Action<_GROUP_MEMBERSHIP>(m.Write_3));
return m.ToPickledType();
}
public static NtApiDotNet.Ndr.Marshal.NdrPickledType _KERB_SID_AND_ATTRIBUTES_Encode(System.Nullable<_KERB_SID_AND_ATTRIBUTES> o)
{
_Marshal_Helper m = new _Marshal_Helper();
m.WriteReferent(o, new System.Action<_KERB_SID_AND_ATTRIBUTES>(m.Write_4));
return m.ToPickledType();
}
public static NtApiDotNet.Ndr.Marshal.NdrPickledType _RPC_SID_Encode(System.Nullable<_RPC_SID> o)
{
_Marshal_Helper m = new _Marshal_Helper();
m.WriteReferent(o, new System.Action<_RPC_SID>(m.Write_5));
return m.ToPickledType();
}
public static NtApiDotNet.Ndr.Marshal.NdrPickledType _RPC_SID_IDENTIFIER_AUTHORITY_Encode(System.Nullable<_RPC_SID_IDENTIFIER_AUTHORITY> o)
{
_Marshal_Helper m = new _Marshal_Helper();
m.WriteReferent(o, new System.Action<_RPC_SID_IDENTIFIER_AUTHORITY>(m.Write_6));
return m.ToPickledType();
}
public static NtApiDotNet.Ndr.Marshal.NdrPickledType DOMAIN_GROUP_MEMBERSHIP_Encode(System.Nullable<DOMAIN_GROUP_MEMBERSHIP> o)
{
_Marshal_Helper m = new _Marshal_Helper();
m.WriteReferent(o, new System.Action<DOMAIN_GROUP_MEMBERSHIP>(m.Write_7));
return m.ToPickledType();
}
}
public sealed class Decoder
{
private Decoder()
{
}
public static System.Nullable<_PAC_DEVICE_INFO> _PAC_DEVICE_INFO_Decode(NtApiDotNet.Ndr.Marshal.NdrPickledType pickled_type)
{
_Unmarshal_Helper u = new _Unmarshal_Helper(pickled_type);
System.Nullable<_PAC_DEVICE_INFO> v;
v = u.ReadReferentValue<_PAC_DEVICE_INFO>(new System.Func<_PAC_DEVICE_INFO>(u.Read_0), false);
return v;
}
public static System.Nullable<_SID> _SID_Decode(NtApiDotNet.Ndr.Marshal.NdrPickledType pickled_type)
{
_Unmarshal_Helper u = new _Unmarshal_Helper(pickled_type);
System.Nullable<_SID> v;
v = u.ReadReferentValue<_SID>(new System.Func<_SID>(u.Read_1), false);
return v;
}
public static System.Nullable<_SID_IDENTIFIER_AUTHORITY> _SID_IDENTIFIER_AUTHORITY_Decode(NtApiDotNet.Ndr.Marshal.NdrPickledType pickled_type)
{
_Unmarshal_Helper u = new _Unmarshal_Helper(pickled_type);
System.Nullable<_SID_IDENTIFIER_AUTHORITY> v;
v = u.ReadReferentValue<_SID_IDENTIFIER_AUTHORITY>(new System.Func<_SID_IDENTIFIER_AUTHORITY>(u.Read_2), false);
return v;
}
public static System.Nullable<_GROUP_MEMBERSHIP> _GROUP_MEMBERSHIP_Decode(NtApiDotNet.Ndr.Marshal.NdrPickledType pickled_type)
{
_Unmarshal_Helper u = new _Unmarshal_Helper(pickled_type);
System.Nullable<_GROUP_MEMBERSHIP> v;
v = u.ReadReferentValue<_GROUP_MEMBERSHIP>(new System.Func<_GROUP_MEMBERSHIP>(u.Read_3), false);
return v;
}
public static System.Nullable<_KERB_SID_AND_ATTRIBUTES> _KERB_SID_AND_ATTRIBUTES_Decode(NtApiDotNet.Ndr.Marshal.NdrPickledType pickled_type)
{
_Unmarshal_Helper u = new _Unmarshal_Helper(pickled_type);
System.Nullable<_KERB_SID_AND_ATTRIBUTES> v;
v = u.ReadReferentValue<_KERB_SID_AND_ATTRIBUTES>(new System.Func<_KERB_SID_AND_ATTRIBUTES>(u.Read_4), false);
return v;
}
public static System.Nullable<_RPC_SID> _RPC_SID_Decode(NtApiDotNet.Ndr.Marshal.NdrPickledType pickled_type)
{
_Unmarshal_Helper u = new _Unmarshal_Helper(pickled_type);
System.Nullable<_RPC_SID> v;
v = u.ReadReferentValue<_RPC_SID>(new System.Func<_RPC_SID>(u.Read_5), false);
return v;
}
public static System.Nullable<_RPC_SID_IDENTIFIER_AUTHORITY> _RPC_SID_IDENTIFIER_AUTHORITY_Decode(NtApiDotNet.Ndr.Marshal.NdrPickledType pickled_type)
{
_Unmarshal_Helper u = new _Unmarshal_Helper(pickled_type);
System.Nullable<_RPC_SID_IDENTIFIER_AUTHORITY> v;
v = u.ReadReferentValue<_RPC_SID_IDENTIFIER_AUTHORITY>(new System.Func<_RPC_SID_IDENTIFIER_AUTHORITY>(u.Read_6), false);
return v;
}
public static System.Nullable<DOMAIN_GROUP_MEMBERSHIP> DOMAIN_GROUP_MEMBERSHIP_Decode(NtApiDotNet.Ndr.Marshal.NdrPickledType pickled_type)
{
_Unmarshal_Helper u = new _Unmarshal_Helper(pickled_type);
System.Nullable<DOMAIN_GROUP_MEMBERSHIP> v;
v = u.ReadReferentValue<DOMAIN_GROUP_MEMBERSHIP>(new System.Func<DOMAIN_GROUP_MEMBERSHIP>(u.Read_7), false);
return v;
}
}
#endregion
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment