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

◆ ProcessManager()

static unsafe System.Diagnostics.ProcessManager.ProcessManager ( )
inlinestaticprivate

Definition at line 109 of file ProcessManager.cs.

110 {
111 if (!global::Interop.Advapi32.LookupPrivilegeValue(null, "SeDebugPrivilege", out var lpLuid))
112 {
113 return;
114 }
115 SafeTokenHandle TokenHandle = null;
116 try
117 {
118 if (global::Interop.Advapi32.OpenProcessToken(global::Interop.Kernel32.GetCurrentProcess(), 32, out TokenHandle))
119 {
120 Unsafe.SkipInit(out global::Interop.Advapi32.TOKEN_PRIVILEGE tOKEN_PRIVILEGE);
121 tOKEN_PRIVILEGE.PrivilegeCount = 1u;
122 tOKEN_PRIVILEGE.Privileges.Luid = lpLuid;
123 tOKEN_PRIVILEGE.Privileges.Attributes = 2u;
124 global::Interop.Advapi32.AdjustTokenPrivileges(TokenHandle, DisableAllPrivileges: false, &tOKEN_PRIVILEGE, 0u, null, null);
125 }
126 }
127 finally
128 {
129 TokenHandle?.Dispose();
130 }
131 }

References System.Runtime.InteropServices.SafeHandle.Dispose().