Rémi Bernon (@rbernon) commented about dlls/dmime/dmime_private.h:
- struct list pchannel_to_buffer_entries;
+};
+struct audio_path_config {
- IUnknown unk;
- struct dmobject dmobj;
- LONG ref;
- struct list port_config_entries;
+};
+static inline struct audio_path_config *path_config_from_IUnknown(IUnknown *iface) +{
- return CONTAINING_RECORD(iface, struct audio_path_config, unk);
+}
There was a lot of struct sharing like that before, I don't think it's a good idea for refactorability. Exposing a few helper functions and manipulating object through their COM interface pointers instead provides better isolation between components.