При создании объектов WMP неверно считаются ссылки, вследствие этого GLOBAL_REF всегда больше нуля (не может выгрузиться библиотека). К тому же в какой-то момент приводит к падениям из-за обращения по неправильным указателям. На данный момент падение воспроизводится сразу при выходе из только что загруженного модуля.
Первая ошибка - на этапе создания объекта вызывается лишний AddRef при создании поля client. Вторая ошибка - в методе IConnectionPointContainer_FindConnectionPoint не вызывается AddRef, а должен.
Следующая проблема - недостаток вызовов Release внутри DispatchEx_Invoke. Исправил для всего метода.
Исправлено, ссылки считаются корректно. commit 3941c3f083da52da98a302eff6cbf1e33c96a388 Author: Konstantin Kondratyuk <kondratyuk@etersoft.ru> Date: Fri Aug 1 12:34:33 2008 +0400 wmp: Correct REFs balance (fix eterbug #2203)