Queries the interface pointer from a simple-i-dispatch object using the type information from another interface.
com
query-simple-i-dispatch-interface this &key related-dispatch => interface-ptr, refguid
this⇩ |
A simple-i-dispatch object. |
related-dispatch⇩ |
An i-dispatch interface pointer. |
interface-ptr⇩ |
An interface pointer. |
refguid⇩ |
A refguid. |
The function query-simple-i-dispatch-interface
is used to obtain an interface pointer from a simple-i-dispatch interface. The simple-i-dispatch contains the interface name provided using its :interface-name
initarg, but it does not have the details of this interface, so query-simple-i-dispatch-interface
must be able to find the details.
In the current implementation, the only way for the details to be found is by supplying related-dispatch. This should be an interface pointer from which type information about the interface name can be obtained.
The query-simple-i-dispatch-interface
function returns two values, interface-ptr which is an interface pointer for the interface-name contained in this and refguid, which is the refguid of that interface-name.
A typical use of query-simple-i-dispatch-interface
is to implement a sink interface for events from some other component. The interface pointer for that component is passed as related-dispatch because that connects to the type library containing both interface definitions.
Before using query-simple-i-dispatch-interface
directly, consider the functions set-i-dispatch-event-handler and create-instance-with-events, which provide an succinct way to provide an event callback.
simple-i-dispatch
create-instance-with-events
set-i-dispatch-event-handler
COM/Automation User Guide and Reference Manual - 01 Dec 2021 19:38:41