IDispatchEx
IDispatchEx is a COM interface that extends the standard IDispatch interface to provide enhanced dynamic dispatch capabilities for automation objects. It is designed to support languages and hosts that expose or modify their members at run time, offering more flexible and predictable access to properties and methods than plain IDispatch alone. Objects that implement IDispatchEx can present new members on the fly, enumerate available members, and control how members are discovered and invoked.
Key capabilities include mapping member names to dispatch IDs (via GetDispID), invoking members (InvokeEx), retrieving metadata
IDispatchEx is optional; clients should query for the interface using QueryInterface with the IID of IDispatchEx