Rémi Bernon (@rbernon) commented about dlls/windows.media.mediacontrol/display.c:
+ display_updater_Update, +}; + +HRESULT media_control_create_display_updater( ISystemMediaTransportControls *iface, ISystemMediaTransportControlsDisplayUpdater **value ) +{ + struct display_updater *impl; + + if (!(impl = calloc( 1, sizeof(*impl) ))) return E_OUTOFMEMORY; + + impl->ISystemMediaTransportControlsDisplayUpdater_iface.lpVtbl = &display_updater_vtbl; + impl->ref = 2; + + *value = &impl->ISystemMediaTransportControlsDisplayUpdater_iface; + TRACE( "created ISystemMediaTransportControlsDisplayUpdater %p.\n", *value ); + return S_OK; +} I'm not sure it deserves a dedicated file, as it seems to be pretty much related to the `SystemMediaTransportControls` class, and the constructor could simply be inlined into `ISystemMediaTransportControls_get_DisplayUpdater` the same way you later do for `music_properties` and other subclases.
If you still prefer to keep it separate, I would name the file `display_updater.c`, and the constructor `display_updater_create`, and the iface parameter seems to be unused and should be removed. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/4046#note_48274