Improved: On Windows 8.1 and newer, installation as SFX/EFX is now the default. This should remove the need to use the troubleshooting options for most users.
This commit is contained in:
1 parent
c692f0639b
commit
da3341ed42
2 files changed
+21
No files matched your search
Binary file not shown.
@@ -51,6 +51,9 @@ static const wchar_t* gfxGuidValueName = L"{d04e05a6-594b-4fb6-a80d-01af5eed7d1d
|
|||||||
static const wchar_t* sfxGuidValueName = L"{d04e05a6-594b-4fb6-a80d-01af5eed7d1d},5";
|
static const wchar_t* sfxGuidValueName = L"{d04e05a6-594b-4fb6-a80d-01af5eed7d1d},5";
|
||||||
static const wchar_t* mfxGuidValueName = L"{d04e05a6-594b-4fb6-a80d-01af5eed7d1d},6";
|
static const wchar_t* mfxGuidValueName = L"{d04e05a6-594b-4fb6-a80d-01af5eed7d1d},6";
|
||||||
static const wchar_t* efxGuidValueName = L"{d04e05a6-594b-4fb6-a80d-01af5eed7d1d},7";
|
static const wchar_t* efxGuidValueName = L"{d04e05a6-594b-4fb6-a80d-01af5eed7d1d},7";
|
||||||
|
static const wchar_t* multiSfxGuidValueName = L"{d04e05a6-594b-4fb6-a80d-01af5eed7d1d},13";
|
||||||
|
static const wchar_t* multiMfxGuidValueName = L"{d04e05a6-594b-4fb6-a80d-01af5eed7d1d},14";
|
||||||
|
static const wchar_t* multiEfxGuidValueName = L"{d04e05a6-594b-4fb6-a80d-01af5eed7d1d},15";
|
||||||
static const unsigned allGuidValueNameCount = 5;
|
static const unsigned allGuidValueNameCount = 5;
|
||||||
static const wchar_t* allGuidValueNames[] = {lfxGuidValueName, gfxGuidValueName, sfxGuidValueName, mfxGuidValueName, efxGuidValueName};
|
static const wchar_t* allGuidValueNames[] = {lfxGuidValueName, gfxGuidValueName, sfxGuidValueName, mfxGuidValueName, efxGuidValueName};
|
||||||
enum GuidValueIndices
|
enum GuidValueIndices
|
||||||
@@ -352,6 +355,24 @@ bool DeviceAPOInfo::load(const wstring& deviceGuid, wstring defaultDeviceGuid)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (RegistryHelper::isWindowsVersionAtLeast(6, 3)) // Windows 8.1
|
||||||
|
{
|
||||||
|
// only use LFX/GFX if the audio driver supplied only those APOs
|
||||||
|
if (RegistryHelper::keyExists(keyPath + L"\\FxProperties")
|
||||||
|
&& (RegistryHelper::valueExists(keyPath + L"\\FxProperties", lfxGuidValueName) || RegistryHelper::valueExists(keyPath + L"\\FxProperties", gfxGuidValueName))
|
||||||
|
&& !RegistryHelper::valueExists(keyPath + L"\\FxProperties", sfxGuidValueName)
|
||||||
|
&& !RegistryHelper::valueExists(keyPath + L"\\FxProperties", mfxGuidValueName)
|
||||||
|
&& !RegistryHelper::valueExists(keyPath + L"\\FxProperties", efxGuidValueName)
|
||||||
|
&& !RegistryHelper::valueExists(keyPath + L"\\FxProperties", multiSfxGuidValueName)
|
||||||
|
&& !RegistryHelper::valueExists(keyPath + L"\\FxProperties", multiMfxGuidValueName)
|
||||||
|
&& !RegistryHelper::valueExists(keyPath + L"\\FxProperties", multiEfxGuidValueName))
|
||||||
|
currentInstallState.installMode = INSTALL_LFX_GFX;
|
||||||
|
else
|
||||||
|
currentInstallState.installMode = INSTALL_SFX_EFX;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
|||||||
Reference in new issue
Block a user