Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ InitializeReferencedDomainsPointer()

static unsafe void System.Security.Principal.Win32.InitializeReferencedDomainsPointer ( SafeLsaMemoryHandle referencedDomains)
inlinestaticpackage

Definition at line 101 of file Win32.cs.

102 {
103 referencedDomains.Initialize((uint)Marshal.SizeOf<global::Interop.LSA_REFERENCED_DOMAIN_LIST>());
104 global::Interop.LSA_REFERENCED_DOMAIN_LIST lSA_REFERENCED_DOMAIN_LIST = referencedDomains.Read<global::Interop.LSA_REFERENCED_DOMAIN_LIST>(0uL);
105 byte* pointer = null;
106 try
107 {
108 referencedDomains.AcquirePointer(ref pointer);
109 if (lSA_REFERENCED_DOMAIN_LIST.Domains != IntPtr.Zero)
110 {
111 global::Interop.LSA_TRUST_INFORMATION* ptr = (global::Interop.LSA_TRUST_INFORMATION*)(void*)lSA_REFERENCED_DOMAIN_LIST.Domains;
112 ptr += lSA_REFERENCED_DOMAIN_LIST.Entries;
113 long numBytes = (byte*)ptr - pointer;
114 referencedDomains.Initialize((ulong)numBytes);
115 }
116 }
117 finally
118 {
119 if (pointer != null)
120 {
121 referencedDomains.ReleasePointer();
122 }
123 }
124 }
static int SizeOf(object structure)
Definition Marshal.cs:697
unsafe void AcquirePointer(ref byte *pointer)
Definition SafeBuffer.cs:58

References System.Runtime.InteropServices.SafeBuffer.AcquirePointer(), System.Runtime.InteropServices.SafeBuffer.Initialize(), System.pointer, System.Runtime.InteropServices.SafeBuffer.ReleasePointer(), System.Runtime.InteropServices.Marshal.SizeOf(), and System.IntPtr.Zero.

Referenced by System.Security.Principal.SecurityIdentifier.TranslateToNTAccounts(), and System.Security.Principal.NTAccount.TranslateToSids().