internal static PerformanceCounterLib GetPerformanceCounterLib(string machineName, CultureInfo culture) { SharedUtils.CheckEnvironment(); string lcid = culture.LCID.ToString("X3", CultureInfo.InvariantCulture); if (machineName.CompareTo(".") == 0) { machineName = ComputerName.ToLower(CultureInfo.InvariantCulture); } else { machineName = machineName.ToLower(CultureInfo.InvariantCulture); } if (libraryTable == null) { lock (InternalSyncObject) { if (libraryTable == null) { libraryTable = new Hashtable(); } } } string key = machineName + ":" + lcid; if (libraryTable.Contains(key)) { return((PerformanceCounterLib)libraryTable[key]); } PerformanceCounterLib lib = new PerformanceCounterLib(machineName, lcid); libraryTable[key] = lib; return(lib); }