Davide Beatrici (@davidebeatrici) commented about dlls/mmdevapi/audiosession.c:
+#define NULL_PTR_ERR MAKE_HRESULT(SEVERITY_ERROR, FACILITY_WIN32, RPC_X_NULL_REF_POINTER)
+WINE_DEFAULT_DEBUG_CHANNEL(mmdevapi);
+static inline struct audio_session_wrapper *impl_from_IAudioSessionControl2(IAudioSessionControl2 *iface) +{
- return CONTAINING_RECORD(iface, struct audio_session_wrapper, IAudioSessionControl2_iface);
+}
+static void AudioClient_DecRef(IAudioClient3 *iface) +{
- struct audio_client *This = CONTAINING_RECORD(iface, struct audio_client, IAudioClient3_iface);
- ULONG ref = InterlockedDecrement(&This->ref);
- TRACE("(%p) Refcount now %lu\n", This, ref);
+}
This function assumes `ref` never reaches 0, is it guaranteed though?