query-object-interface class-name object iid &key ppv-object => hresult, interface-ptr-for-iid
The COM object class name of the object. This can be a superclass name.
A COM object to be queried.
The iid of a COM interface.
If specified, this should be a foreign pointer which will be set to contain the interface-ptr-for-iid.
The macro query-object-interface
invokes the COM method IUnknown::QueryInterface
to attempt to obtain an interface pointer for the given iid. The iid can be a symbol naming a COM interface or a refguid foreign pointer containing its iid.
The first value is the integer hresult
from the call to IUnknown::QueryInterface.
If the result indicates success, then interface-ptr-for-iid is returned as the second value.
LispWorks COM/Automation User Guide and Reference Manual - 23 Mar 2017