Fix build break caused by #1515. Let's see what CI says...
このコミットが含まれているのは:
コミット
4615a9f4b7
|
@ -7,10 +7,11 @@
|
||||||
#include <functiondiscoverykeys_devpkey.h>
|
#include <functiondiscoverykeys_devpkey.h>
|
||||||
|
|
||||||
#if defined(_MSC_VER)
|
#if defined(_MSC_VER)
|
||||||
#define CLSID_MMDeviceEnumerator __uuidof(MMDeviceEnumerator)
|
#define CLSID_MMDeviceEnumerator __uuidof(MMDeviceEnumerator)
|
||||||
#define IID_IMMDeviceEnumerator __uuidof(IMMDeviceEnumerator)
|
#define IID_IMMDeviceEnumerator __uuidof(IMMDeviceEnumerator)
|
||||||
#define IID_IAudioClient __uuidof(IAudioClient)
|
#define IID_IAudioClient __uuidof(IAudioClient)
|
||||||
#define IID_IAudioRenderClient __uuidof(IAudioRenderClient)
|
#define IID_IAudioRenderClient __uuidof(IAudioRenderClient)
|
||||||
|
#define IID_IActivateAudioInterfaceCompletionHandler __uuidof(IActivateAudioInterfaceCompletionHandler)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
struct ActivateAudioInterfaceHandler : public IActivateAudioInterfaceCompletionHandler {
|
struct ActivateAudioInterfaceHandler : public IActivateAudioInterfaceCompletionHandler {
|
||||||
|
@ -156,7 +157,7 @@ private:
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
using PActivateAudioInterfaceAsync = HRESULT __stdcall(*)(LPCWSTR, REFIID, PROPVARIANT*, IActivateAudioInterfaceCompletionHandler*, IActivateAudioInterfaceAsyncOperation**);
|
using PActivateAudioInterfaceAsync = HRESULT(__stdcall *)(LPCWSTR, REFIID, PROPVARIANT*, IActivateAudioInterfaceCompletionHandler*, IActivateAudioInterfaceAsyncOperation**);
|
||||||
maybe<bool> defaultDeviceSupported;
|
maybe<bool> defaultDeviceSupported;
|
||||||
PActivateAudioInterfaceAsync activateAudioInterfaceAsync;
|
PActivateAudioInterfaceAsync activateAudioInterfaceAsync;
|
||||||
|
|
||||||
|
@ -165,11 +166,13 @@ private:
|
||||||
return *self.defaultDeviceSupported;
|
return *self.defaultDeviceSupported;
|
||||||
}
|
}
|
||||||
|
|
||||||
OSVERSIONINFO info = {
|
OSVERSIONINFOEX info{};
|
||||||
.dwOSVersionInfoSize = sizeof(info)
|
info.dwOSVersionInfoSize = sizeof(info);
|
||||||
};
|
info.dwBuildNumber = 14393;
|
||||||
|
|
||||||
if(GetVersionEx(&info) && info.dwBuildNumber >= 14393) {
|
DWORDLONG conditionMask = 0;
|
||||||
|
VER_SET_CONDITION(conditionMask, VER_BUILDNUMBER, VER_GREATER_EQUAL);
|
||||||
|
if(VerifyVersionInfo(&info, VER_BUILDNUMBER, conditionMask)) {
|
||||||
auto audioLib = LoadLibrary(L"mmdevapi");
|
auto audioLib = LoadLibrary(L"mmdevapi");
|
||||||
self.activateAudioInterfaceAsync = (PActivateAudioInterfaceAsync)GetProcAddress(audioLib, "ActivateAudioInterfaceAsync");
|
self.activateAudioInterfaceAsync = (PActivateAudioInterfaceAsync)GetProcAddress(audioLib, "ActivateAudioInterfaceAsync");
|
||||||
self.defaultDeviceSupported = true;
|
self.defaultDeviceSupported = true;
|
||||||
|
@ -184,13 +187,14 @@ private:
|
||||||
if(self.isDefaultDeviceSupported()) {
|
if(self.isDefaultDeviceSupported()) {
|
||||||
PWSTR defaultDeviceString;
|
PWSTR defaultDeviceString;
|
||||||
if(StringFromIID(DEVINTERFACE_AUDIO_RENDER, &defaultDeviceString) != S_OK) return false;
|
if(StringFromIID(DEVINTERFACE_AUDIO_RENDER, &defaultDeviceString) != S_OK) return false;
|
||||||
Device defaultDevice = {
|
|
||||||
.id = (const char*)utf8_t(defaultDeviceString),
|
Device defaultDevice{};
|
||||||
.name = "Default",
|
defaultDevice.id = (const char*)utf8_t(defaultDeviceString);
|
||||||
.isDefault = true
|
defaultDevice.name = "Default";
|
||||||
};
|
defaultDevice.isDefault = true;
|
||||||
|
|
||||||
self.devices.append(defaultDevice);
|
self.devices.append(defaultDevice);
|
||||||
|
CoTaskMemFree(defaultDeviceString);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(CoCreateInstance(CLSID_MMDeviceEnumerator, nullptr, CLSCTX_ALL, IID_IMMDeviceEnumerator, (void**)&self.enumerator) != S_OK) return false;
|
if(CoCreateInstance(CLSID_MMDeviceEnumerator, nullptr, CLSCTX_ALL, IID_IMMDeviceEnumerator, (void**)&self.enumerator) != S_OK) return false;
|
||||||
|
|
読み込み中…
新しいイシューから参照