Specifies the method to be defined.
A symbol naming the method to define.
A symbol naming the interface of the method to define. This is only required if the implementation class class-name has more than one method with the given method-name .
Specifies the implementation class and variables bound to the object with in the form s.
A symbol which will be bound to the COM object whose method is being invoked.
A symbol naming the COM implementation class for which this method is defined.
A optional symbol which will be bound to the COM interface pointer whose method is being invoked. Usually this is not needed unless the interface pointer is being passed to some other function in the implementation.
Describes one of the method's arguments.
A symbol which will be bound to that argument's value while the form s are evaluated.
Specifies the direction of the argument, either
If specified, it must match the definition of the interface. The default is taken from the definition of the interface.
Specifies how the argument will be converted to a Lisp value. It can be either
, the default is
Forms which implement the method. The value of the final form is returned as the result of the method.
defines a COM method that implements the method
for the COM implementation class
. The extended
syntax is required if
implements more than one interface with a method called
(analogous to the C++ syntax
is bound to the instance of the COM implementation class on which the method is being invoked. The symbol
is also defined as a local macro (as if by
), which allows the body to invoke other methods on the instance.
Each foreign argument is converted to a Lisp argument as specified by the pass-style . See Data conversion in define-com-method for details.