On Sat Mar 9 10:16:37 2024 +0000, Akihiro Sagawa wrote:
Unfortunately, your assumption doesn't seem to be correct. I have manually tested on Windows 10 (22H2) using SetWindowsHookEx(WH_CBT and HCBT_CREATEWND) and confirmed that dsound initialization does not create any windows other than the OleMainThreadWndClass window.
Reading ImmSetActiveContext() in dlls/imm32/imm.c, it initializes COM with the COINIT_APARTMENTTHREADED parameter, not COINIT_MULTITHREADED.
My test shows that IDirectSound::Initialize() creates a multithread apartment.
Could you share your thoughts on this point?