native\process_loopback\main.cpp 이 MSVC 에서 C2275 로 죽는다. WRL 의 FtmBase 는 플래그가 아니라 섞어 넣는 클래스인데 RuntimeClassFlags 안에 `ClassicCom | FtmBase` 로 넣어 타입을 값 자리에 썼다. 인터페이스 목록 쪽으로 옮긴다 (ApplicationLoopback 샘플과 같은 형태). 이 코드는 지금까지 한 번도 빌드된 적이 없다. 리눅스에서는 컴파일할 방법이 없었고, CI 의 네이티브 빌드 단계는 continue-on-error 였다. win-ci VM 에 MSVC 를 깔고 나서야 드러났다.
This commit is contained in:
@@ -49,8 +49,13 @@ BOOL WINAPI ConsoleHandler(DWORD type) {
|
||||
}
|
||||
|
||||
// ActivateAudioInterfaceAsync 완료 콜백. 결과를 이벤트로 넘겨준다.
|
||||
//
|
||||
// FtmBase 는 플래그가 아니라 섞어 넣는 클래스다. RuntimeClassFlags 안에
|
||||
// `ClassicCom | FtmBase` 로 넣으면 MSVC 가 C2275 로 거부한다(타입을 값 자리에
|
||||
// 썼으므로). 인터페이스 목록 쪽에 나열해야 한다 — ApplicationLoopback 샘플과
|
||||
// 같은 형태다.
|
||||
class ActivationHandler
|
||||
: public RuntimeClass<RuntimeClassFlags<ClassicCom | FtmBase>,
|
||||
: public RuntimeClass<RuntimeClassFlags<ClassicCom>, FtmBase,
|
||||
IActivateAudioInterfaceCompletionHandler> {
|
||||
public:
|
||||
explicit ActivationHandler(HANDLE done) : done_(done) {}
|
||||
|
||||
Reference in New Issue
Block a user