static public PolicyLevel LoadPolicyLevelFromFile(String path, PolicyLevelType type) { if (path == null) { throw new ArgumentNullException("path"); } ConfigId id = SharedStatics.GetNextConfigId(); ConfigRetval retval = Config.InitData(id, path); if ((retval & ConfigRetval.ConfigFile) == 0) { throw new ArgumentException(Environment.GetResourceString("Argument_PolicyFileDoesNotExist")); } String name = Enum.GetName(typeof(PolicyLevelType), type); if (name == null) { return(null); } String fullPath = Path.GetFullPath(path); FileIOPermission perm = new FileIOPermission(PermissionState.None); perm.AddPathList(FileIOPermissionAccess.Read, fullPath); perm.AddPathList(FileIOPermissionAccess.Write, fullPath); perm.Demand(); PolicyLevel level = new PolicyLevel(name, id, type == PolicyLevelType.Machine); level.ThrowOnLoadError = true; level.CheckLoaded(false); return(level); }