Esme Povirk (@madewokherd) commented about dlls/windowscodecs/tests/metadata.c:
+#define check_persist_options(a, b) check_persist_options_(__LINE__, a, b) +static void check_persist_options_(unsigned int line, void *iface_ptr, DWORD expected_options) +{ + IWICStreamProvider *stream_provider; + IUnknown *iface = iface_ptr; + DWORD options; + HRESULT hr; + + if (SUCCEEDED(IUnknown_QueryInterface(iface, &IID_IWICStreamProvider, (void **)&stream_provider))) + { + hr = IWICStreamProvider_GetPersistOptions(stream_provider, &options); + ok_(__FILE__, line)(hr == S_OK, "Unexpected hr %#lx.\n", hr); + if (hr == S_OK) + ok_(__FILE__, line)(options == expected_options, "Unexpected options %#lx.\n", options); + IWICStreamProvider_Release(stream_provider); + } This should probably produce a failure if IWICStreamProvider isn't supported, so we don't accidentally include it as a no-op.
-- https://gitlab.winehq.org/wine/wine/-/merge_requests/7033#note_90670