이 질문은 Windows 오디오 세션 API에 대한 것입니다. Microsoft의 샘플 코드를 읽은 후 IAudioClient를 가져온 후 IAudioRenderClient를 얻기 위해 "GetService"메서드가 호출됩니다. 그런 다음 IAudioRenderClient의 GetBuffer 및 ReleaseBuffer 메서드를 호출하여 재생할 버퍼를 추가합니다.왜 우리는 IAudioRenderClient 인터페이스가 필요합니까
내 질문 :
왜 IAudioRenderClient이 필요한 이유는 바로 IAudioClient에 직접 GetBuffer와 ReleaseBuffer 방법을 넣어되지 않는 이유는 무엇입니까? 즉, 단일 IAudioClient에 여러 개의 IAudioRenderClient가 필요한 경우가 있습니까?
오디오를 재생할 때 항상 IAudioClient가 필요하며 IAudioRenderClient를 얻기 위해 GetService를 호출하는이 IAudioClient에서 우리는 IAudioRenderClient를 만들기 위해 CoCreateInstance()를 호출 할 기회가 없습니까? 그러면 IAudioRenderClient에 IID가 필요한 이유는 무엇입니까?
=========================================== ===================
좀 더 읽고 나면 IAudioClient는 IAudioRenderClient 또는 IAudioCaptureClient. 그러나 GetService를 호출하여 IAudioRenderClient를 얻을 수는 있지만 QueryInterface는 얻지 못하는 이유는 무엇입니까?