My understanding is that the API itself is not limited to stream control, and you intend to receive notifications of background streams through the COM receiver interface.
Three are several ways to solve the problem, while maintaining COM compatibility at the same time. The simplest thing is to change the global apartment model for the application, so that the "main" GUI thread is initialized as an MTA. Although this may work, you can quickly find out that it is incompatible with something else, such as an ActiveX control registered with the Threading "Arartment" model.
, COM, API . MFC, , ( / API). , API .NET, .
COM STA , . API STA, Sink (COM-, MFC STA, , ββ COM-, ..). API- MTA (CoMarshalInterThreadInterfaceInStream
). API MTA. threda , , , , MFC -. , , MFC ( ..). STA, COM , API .