static void ReadParamFromReg(out string logFileName, out uint maxLogBuffers) { // Read log file location from registry if exists string logFileNameInRegistry = null; RegistryConfigurationProvider wsatTraceProvider = new RegistryConfigurationProvider(RegistryHive.LocalMachine, WsatKeys.WsatRegKey, null); using (wsatTraceProvider) { logFileNameInRegistry = wsatTraceProvider.ReadString(WsatKeys.TraceFileDiectoryKey, null); maxLogBuffers = wsatTraceProvider.ReadUInt32(WsatKeys.MaxTraceBuffersKey, DefaultBuffers); if (maxLogBuffers == 0 || maxLogBuffers > MaxLogBuffers) { maxLogBuffers = DefaultBuffers; wsatTraceProvider.WriteUInt32(WsatKeys.MaxTraceBuffersKey, DefaultBuffers); } } String errLogFileName = String.Empty; try { if (!String.IsNullOrEmpty(logFileNameInRegistry)) { logFileNameInRegistry = logFileNameInRegistry.Trim(); } if (!String.IsNullOrEmpty(logFileNameInRegistry)) { errLogFileName = logFileNameInRegistry; logFileName = Path.Combine(logFileNameInRegistry, DefaultLogFileName); } else { errLogFileName = Environment.SystemDirectory; logFileName = Path.Combine(Environment.SystemDirectory, DafaultLogDirectory); errLogFileName = logFileName; logFileName = Path.Combine(logFileName, DefaultLogFileName); } } catch (ArgumentException) { throw new WsatAdminException(WsatAdminErrorCode.ETW_SESSION_INVALID_LOGFILE_NAME, SR.GetString(SR.ErrorSessionInvalidLogFileName, errLogFileName)); } if (logFileName.Length >= SafeNativeMethods.MaxTraceFileNameLen) { throw new WsatAdminException(WsatAdminErrorCode.ETW_SESSION_TOO_LONG_LOGFILE_NAME, SR.GetString(SR.ErrorSessionTooLongLogFileName, logFileName)); } }
// For UI to get MaxFileSize saved in registry internal static uint GetMaxTraceFileSizeFromReg() { uint fileSize = 0; RegistryConfigurationProvider wsatTraceProvider = new RegistryConfigurationProvider(RegistryHive.LocalMachine, WsatKeys.WsatRegKey, null); using (wsatTraceProvider) { fileSize = wsatTraceProvider.ReadUInt32(WsatKeys.MaxTraceSizeKey, DefaultLogFileSize); } return(fileSize); }
// For UI to get MaxFileSize saved in registry internal static uint GetMaxTraceFileSizeFromReg() { uint fileSize = 0; RegistryConfigurationProvider wsatTraceProvider = new RegistryConfigurationProvider(RegistryHive.LocalMachine, WsatKeys.WsatRegKey, null); using (wsatTraceProvider) { fileSize = wsatTraceProvider.ReadUInt32(WsatKeys.MaxTraceSizeKey, DefaultLogFileSize); } return fileSize; }