https://bugs.winehq.org/show_bug.cgi?id=49679
--- Comment #3 from Zebediah Figura z.figura12@gmail.com --- (In reply to Nikolay Sivov from comment #2)
One way to achieve presumably equivalent behaviour is with CoIncrementMTAUsage()/CoDecrementMTAUsage(). If that works it could be done for every returned IHolder not just once per dispenser.
The documentation for CoIncrementMTAUsage() states that it can't be called from within DllMain, and will add the current thread to the MTA if not initialized. Unless both statements are incorrect, that won't work.