internal static int DefaultDeviceOut() { int result = -1; using (ObjectTokenCategory objectTokenCategory = ObjectTokenCategory.Create("HKEY_CURRENT_USER\\SOFTWARE\\Microsoft\\Speech\\AudioOutput")) { if (objectTokenCategory == null) { return(result); } string value; if (!objectTokenCategory.TryGetString("DefaultTokenId", out value)) { return(result); } int num = value.IndexOf('\\'); if (num <= 0) { return(result); } if (num < value.Length) { using (RegistryDataKey registryDataKey = RegistryDataKey.Create(value.Substring(num + 1), Registry.LocalMachine)) { if (registryDataKey != null) { return(AudioDeviceOut.GetDevicedId(registryDataKey.Name)); } return(result); } } return(result); } }
private static ObjectToken GetPreference(string category, string defaultLocation) { ObjectToken result = null; using (ObjectTokenCategory objectTokenCategory = ObjectTokenCategory.Create(category)) { if (objectTokenCategory == null) { return(result); } string value; if (objectTokenCategory.TryGetString(defaultLocation, out value)) { return(objectTokenCategory.OpenToken(value)); } return(result); } }