private static void DSAccessPerfCounterInitializationWithRetry(string processName, string applicationName, bool hasMultiInstance) { int i = 0; while (i < 2) { try { i++; NativeMethods.DsaccessPerfSetProcessName(processName, applicationName, hasMultiInstance); break; } catch (DllNotFoundException ex) { if (i == 2) { ex.Data["FileStateInformation"] = Globals.GetDllNotFoundExceptionDiagnostic(); throw ex; } Thread.Sleep(500); } } }