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.