All Manuals > LispWorks COM/Automation User Guide and Reference Manual

NextPrevTopIndex

Contents

Preface

1 Using COM

1.1 Prerequisites

1.2 Including COM in a Lisp application

1.2.1 Loading the modules

1.2.2 Generating FLI definitions from COM definitions

1.2.3 Standard IDL files

1.2.4 Making a COM DLL with LispWorks

1.3 The mapping from COM names to Lisp symbols

1.4 Obtaining the first COM interface pointer

1.5 Reference counting

1.6 Querying for other COM interface pointers

1.7 Calling COM interface methods

1.7.1 Data conversion when calling COM methods

1.7.1.1 In parameters

1.7.1.2 Out parameters

1.7.1.3 In-out parameters

1.7.2 Error handling

1.8 Implementing COM interfaces in Lisp

1.8.1 Steps required to implement COM interfaces

1.8.2 The lifecycle of a COM object

1.8.3 Class factories

1.8.4 Unimplemented methods

1.8.5 Inheritance

1.8.5.1 An example of multiple inheritance

1.8.5.2 A second example of multiple inheritance

1.8.6 Data conversion in define-com-method

1.8.6.1 FLI types

1.8.6.2 In parameters

1.8.6.3 Out parameters

1.8.6.4 In-out parameters

1.9 Calling COM object methods from Lisp

1.9.1 Data conversion when calling COM object methods

1.9.1.1 In parameters

1.9.1.2 Out parameters

1.9.1.3 In-out parameters

2 COM Reference Entries

add-ref

automation-server-command-line-action

automation-server-main

automation-server-top-loop

call-com-interface

call-com-object

check-hresult

co-create-guid

co-initialize

co-task-mem-alloc

co-task-mem-free

co-uninitialize

com-error

com-interface

com-interface-refguid

com-object

com-object-destructor

com-object-from-pointer

com-object-initialize

com-object-query-interface

create-instance

define-com-implementation

define-com-method

find-clsid

get-object

guid-equal

guid-to-string

hresult

hresult-equal

i-unknown

interface-ref

make-factory-entry

make-guid-from-string

midl

midl-default-import-paths

midl-set-import-paths

:midl-file

query-interface

query-object-interface

refguid

refguid-interface-name

refiid

register-class-factory-entry

register-server

release

s_ok

server-can-exit-p

server-in-use-p 74

set-automation-server-exit-delay

set-register-server-error-reporter

standard-i-unknown

start-factories

stop-factories

succeeded

unregister-server

with-com-interface

with-com-object

with-temp-interface

with-query-interface

3 Using Automation

3.1 Including Automation in a Lisp application

3.1.1 Loading the modules

3.1.2 Generating FLI definitions from COM definitions

3.1.3 Reducing the size of the converted library

3.2 Starting a remote Automation server

3.3 Calling Automation methods

3.3.1 Calling Automation methods using a type library

3.3.2 Calling Automation methods without a type library

3.3.3 Data conversion when calling Automation methods

3.3.4 Using collections

3.3.5 Using connection points

3.3.6 Error handling

3.4 Implementing Automation interfaces in Lisp

3.4.1 A complete implementation of an Automation server

3.4.2 A simple implementation of a single Automation interface

3.4.3 Implementing collections

3.4.4 Implementing connection points

3.4.5 Reporting errors

3.4.6 Registering a running object for use by other applications

3.4.7 Automation of a CAPI application

3.5 Examples of using Automation

4 Automation Reference Entries

com-dispatch-invoke-exception-error

com-dispatch-invoke-exception-error-info

call-dispatch-get-property

call-dispatch-method

call-dispatch-put-property

com-object-dispinterface-invoke

create-instance-with-events

create-object

define-automation-collection

define-automation-component

define-dispinterface-method

disconnect-standard-sink

do-collection-items

do-connections

find-component-tlb

find-component-value

get-active-object

get-error-info

get-i-dispatch-name

get-i-dispatch-source-names

i-dispatch

interface-connect

interface-disconnect

lisp-variant

invoke-dispatch-get-property

invoke-dispatch-method

invoke-dispatch-put-property

make-lisp-variant

:midl-type-library-file

print-i-dispatch-methods

query-simple-i-dispatch-interface

register-active-object

revoke-active-object

set-error-info

set-i-dispatch-event-handler

set-variant

simple-i-dispatch

simple-i-dispatch-callback-object

standard-automation-collection

standard-i-connection-point-container

standard-i-dispatch

with-coclass

with-dispatch-interface

5 Tools

5.1 The COM Implementation Browser

5.2 The COM Object Browser

5.3 The COM Interface Browser

5.4 Editor extensions

5.4.1 Inserting GUIDs

5.4.2 Argument lists

6 Self-contained examples

6.1 Argument passing

6.2 Aggregation

6.3 OLE embedding of external components

6.4 Building an ActiveX control

6.5 OLE automation

Index


LispWorks COM/Automation User Guide and Reference Manual - 23 Mar 2017

NextPrevTopIndex