Vincent Povirk madewokherd@gmail.com wrote:
I disagree with many of the choices in this series (for example, I think casting an interface pointer to an inherited interface is fine, and replacing that with QueryInterface just adds unnecessary additional logic), but I don't think any semantics have been changed and overall it's a good cleanup.
Please also consider that many of the objects may be implemented by a someone's else codec dll, and relying on an implementation detail is not acceptable in that case.