public static bool TryGetPermissions(this MessageQueue queue, string user, out MessageQueueAccessRights? rights) { if (!administerGranted) { var permission = new MessageQueuePermission(MessageQueuePermissionAccess.Administer, PREFIX_FORMAT_NAME + queue.FormatName); permission.Demand(); administerGranted = true; } var sid = GetSidForUser(user); try { rights = GetPermissions(queue.FormatName, sid); return true; } catch { rights = null; return false; } }