All Manuals > COM/Automation User Guide and Reference Manual > 4 Automation Reference Entries

call-dispatch-get-property Macro

Summary

Calls an Automation property getter method from a particular interface.

Package

com

Signature

call-dispatch-get-property spec {arg}* => value*

spec ::= (dispinterface-ptr dispinterface-name method-name)

Arguments
spec
The interface pointer and a specification of the method to be called.
arg
Arguments to the method (see 3.3.3 Data conversion when calling Automation methods for details).
dispinterface-ptr
A form which is evaluated to yield a COM i-dispatch interface pointer.
dispinterface-name
A symbol which names the Automation interface. It is not evaluated.
method-name
A symbol which names the property getter method. It is not evaluated.
Values
value*
Values from the method (see 3.3.3 Data conversion when calling Automation methods for details).
Description

The macro call-dispatch-get-property is used to invoke an Automation property getter method from Lisp.

dispinterface-ptr should be a COM interface pointer for the i-dispatch interface.

The appropriate Automation property getter method, chosen using dispinterface-name and method-name, is invoked after evaluating each arg, which must be values that are suitable for the method and of types compatible with Automation.

The values returned are as specified by the method signature. In general, property getter methods take no arguments and return the value of the property, but see 3.3.3 Data conversion when calling Automation methods for more details.

There is also setf expander for call-dispatch-get-property, which can be used as an alternative to the call-dispatch-put-property macro.

Examples

For example, in order to get and set the Width property of a MyDocument interface pointer:

(call-dispatch-get-property
   (doc my-document width))
(setf (call-dispatch-get-property
         (doc my-document width))
      10)
See also

call-dispatch-put-property
call-dispatch-method


COM/Automation User Guide and Reference Manual - 01 Dec 2021 19:38:41