public PrivilegeEnabler(Process process) { lock (AccessTokenHandles) { if (AccessTokenHandles.ContainsKey(process)) { _accessTokenHandle = AccessTokenHandles[process]; } else { _accessTokenHandle = process.GetAccessTokenHandle(TokenAccessRights.AdjustPrivileges | TokenAccessRights.Query); AccessTokenHandles.Add(process, _accessTokenHandle); _ownsHandle = true; } } _process = process; }