> Don’t you need a window and process messages to use COM?
It’s been emphasized quite a bit that UMDF only uses COM patterns and
not the runtime. So no you don’t have a window.
UMDF uses COM only to present the API in terms of interfaces, which is
just a structured way to present the API. If you think about it, there
aren’t many alternatives to this other than the flat-C style API that
KMDF uses.
If you come up with any other way to expose C++ API from a dll, it will
look very similar to COM. And since COM already has a bunch of support
in terms of tools and knowledge-base it doesn’t make sense to invent yet
another model.
Praveen
ps: Btw, even with COM runtime you don’t have a window with MTA. But you
don’t need to care about any of this for UMDF.