Paul Vriens Paul.Vriens@xs4all.nl writes:
TRACE("(%p)->()\n", iface);
- if (!--This->refCount)
- if (!InterlockedDecrement(&This->refCount)) { CoTaskMemFree(This->ppFilters); CoTaskMemFree(This);
You also need to store the result of the decrement and have the function return that value instead of This->refCount, otherwise it's still not thread-safe.