The interface pointer and a specification of the method to be called.
A form which is evaluated to yield a COM interface pointer.
A symbol which names the com interface. It is not evaluated.
A symbol which names the method. It is not evaluated.
Arguments to the method (see Data conversion when calling COM methods for details).
The macro
call-com-interface
invokes the method
method-name
for the COM interface
interface-name
, which should the type or a supertype of the actual type of
interface-ptr
. The
arg
s and
values
are described in detail in Data conversion when calling COM methods.
This example invokes the COM method
GetTypeInfo
in the interface
IDispatch
.
(defun get-type-info (disp tinfo &key
(locale LOCALE_SYSTEM_DEFAULT))
(multiple-value-bind (hres typeinfo)
(call-com-interface
(disp i-dispatch get-type-info)
tinfo locale)
(check-hresult hres 'get-type-info)
typeinfo))