Symantec OLE Automation User manual

Type
User manual

This manual is also suitable for

OLE Automation Guide
OLE Automation Guide
Legal Notice
Copyright © 2008 Symantec Corporation. All rights reserved.
Symantec, the Symantec Logoare trademarks or registered trademarks of Symantec
Corporation or its affiliates in the U.S. and other countries. Other names may be trademarks
of their respective owners.
This Symantec product may contain third party software for which Symantec is required
to provide attribution to the third party (Third Party Programs). Some of the Third Party
Programs are available under open source or free software licenses. The License Agreement
accompanying the Software does not alter any rights or obligations you may have under
those open source or free software licenses. Please see the Third Party Legal Notice Appendix
to this Documentation or TPIP ReadMe File accompanying this Symantec product for more
information on the Third Party Programs.
The product described in this document is distributed under licenses restricting its use,
copying, distribution, and decompilation/reverse engineering. No part of this document
may be reproduced in any form by any means without prior written authorization of
Symantec Corporation and its licensors, if any.
THE DOCUMENTATION IS PROVIDED "AS IS" AND ALL EXPRESS OR IMPLIED CONDITIONS,
REPRESENTATIONS AND WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT,
ARE DISCLAIMED, EXCEPT TO THE EXTENT THAT SUCH DISCLAIMERS ARE HELD TO
BE LEGALLY INVALID. SYMANTEC CORPORATION SHALL NOT BE LIABLE FOR INCIDENTAL
OR CONSEQUENTIAL DAMAGES IN CONNECTION WITH THE FURNISHING,
PERFORMANCE, OR USE OF THIS DOCUMENTATION. THE INFORMATION CONTAINED
IN THIS DOCUMENTATION IS SUBJECT TO CHANGE WITHOUT NOTICE.
The Licensed Software and Documentation are deemed to be commercial computer software
as defined in FAR 12.212 and subject to restricted rights as defined in FAR Section 52.227-19
"Commercial Computer Software - Restricted Rights" and DFARS 227.7202, "Rights in
Commercial Computer Software or Commercial Computer Software Documentation", as
applicable, and any successor regulations. Any use, modification, reproduction release,
performance, display or disclosure of the Licensed Software and Documentation by the U.S.
Government shall be solely in accordance with the terms of this Agreement.
Symantec Corporation
20330 Stevens Creek Blvd.
Cupertino, CA 95014
http://www.symantec.com
Printed in the United States of America.
10 9 8 7 6 5 4 3 2 1
Technical Support
Symantec Technical Support maintains support centers globally. Technical
Supports primary role is to respond to specific queries about product features
and functionality. The Technical Support group also creates content for our online
Knowledge Base. The Technical Support group works collaboratively with the
other functional areas within Symantec to answer your questions in a timely
fashion. For example, the Technical Support group works with Product Engineering
and Symantec Security Response to provide alerting services and virus definition
updates.
Symantecs maintenance offerings include the following:
A range of support options that give you the flexibility to select the right
amount of service for any size organization
Telephone and Web-based support that provides rapid response and
up-to-the-minute information
Upgrade assurance that delivers automatic software upgrade protection
Global support that is available 24 hours a day, 7 days a week
Advanced features, including Account Management Services
For information about Symantecs Maintenance Programs, you can visit our Web
site at the following URL:
www.symantec.com/techsupp/
Contacting Technical Support
Customers with a current maintenance agreement may access Technical Support
information at the following URL:
www.symantec.com/techsupp/
Before contacting Technical Support, make sure you have satisfied the system
requirements that are listed in your product documentation. Also, you should be
at the computer on which the problem occurred, in case it is necessary to replicate
the problem.
When you contact Technical Support, please have the following information
available:
Product release level
Hardware information
Available memory, disk space, and NIC information
Operating system
Version and patch level
Network topology
Router, gateway, and IP address information
Problem description:
Error messages and log files
Troubleshooting that was performed before contacting Symantec
Recent software configuration changes and network changes
Licensing and registration
If your Symantec product requires registration or a license key, access our technical
support Web page at the following URL:
www.symantec.com/techsupp/
Customer service
Customer service information is available at the following URL:
www.symantec.com/techsupp/
Customer Service is available to assist with the following types of issues:
Questions regarding product licensing or serialization
Product registration updates, such as address or name changes
General product information (features, language availability, local dealers)
Latest information about product updates and upgrades
Information about upgrade assurance and maintenance contracts
Information about the Symantec Buying Programs
Advice about Symantec's technical support options
Nontechnical presales questions
Issues that are related to CD-ROMs or manuals
Maintenance agreement resources
If you want to contact Symantec regarding an existing maintenance agreement,
please contact the maintenance agreement administration team for your region
as follows:
[email protected]Asia-Pacific and Japan
[email protected]Europe, Middle-East, and Africa
[email protected]North America and Latin America
Additional enterprise services
Symantec offers a comprehensive set of services that allow you to maximize your
investment in Symantec products and to develop your knowledge, expertise, and
global insight, which enable you to manage your business risks proactively.
Enterprise services that are available include the following:
These solutions provide early warning of cyber attacks, comprehensive threat
analysis, and countermeasures to prevent attacks before they occur.
Symantec Early Warning Solutions
These services remove the burden of managing and monitoring security devices
and events, ensuring rapid response to real threats.
Managed Security Services
Symantec Consulting Services provide on-site technical expertise from
Symantec and its trusted partners. Symantec Consulting Services offer a variety
of prepackaged and customizable options that include assessment, design,
implementation, monitoring, and management capabilities. Each is focused on
establishing and maintaining the integrity and availability of your IT resources.
Consulting Services
Educational Services provide a full array of technical training, security
education, security certification, and awareness communication programs.
Educational Services
To access more information about Enterprise services, please visit our Web site
at the following URL:
www.symantec.com
Select your country or language from the site index.
Technical Support ............................................................................................... 4
Chapter 1 Using OLE Automation with Symantec
pcAnywhere ...................................................................... 9
About OLE Automation ................................................................... 9
About the pcAnywhere Automation Server ....................................... 10
What you can do with the pcAnywhere Automation Server .................. 10
Before you start ........................................................................... 11
Automatically registering the remote engine ............................... 11
Manually registering the remote engine ..................................... 11
Accessing the pcAnywhere Automation Server ............................ 12
Accessing the pcAnywhere Automation Server with Visual
Basic .............................................................................. 12
Accessing the pcAnywhere Automation Server with Visual
C++ ............................................................................... 13
Launching host and remote OLE objects ..................................... 15
Where to find more information ..................................................... 15
Chapter 2 Visual Basic object definitions ......................................... 17
About Visual Basic objects ............................................................. 17
CRemoteDataManager methods ...................................................... 18
CRemoteData properties ................................................................ 21
Connection type properties ...................................................... 23
Dialing properties .................................................................. 25
COM device properties ............................................................ 26
NetBIOS device properties ....................................................... 29
ISDN via CAPI 2.0 device properties ........................................... 30
CRemoteDataEx object .................................................................. 31
Visual Basic sample code for remote functionality ........................ 32
CHostDataManager methods .......................................................... 34
CHostData properties ................................................................... 36
Connection type properties ...................................................... 38
AssignConnection(ConnectionType) method ............................... 41
UnassignConnection(ConnectionType) method ............................ 41
Dialing properties .................................................................. 42
Contents
COM device properties ............................................................ 42
NetBIOS device properties ....................................................... 45
ISDN via CAPI 2.0 device properties ........................................... 46
CHostDataEx object ...................................................................... 47
Visual Basic sample code for host functionality ........................... 54
Awrem32 functions ...................................................................... 55
Chapter 3 Visual C++ object definitions ........................................... 59
About Visual C++ objects ............................................................... 59
CRemoteDataManager methods ...................................................... 60
CRemoteData object ..................................................................... 63
Get and Set methods ............................................................... 63
Remote object Detail methods .................................................. 66
Remote object methods ........................................................... 68
CRemoteDataEx object .................................................................. 70
Visual C++ sample code for remote functionality ......................... 70
CHostDataManager methods .......................................................... 71
CHostData object ......................................................................... 75
Get and Set methods ............................................................... 75
Host object Detail methods ...................................................... 76
Host object methods ............................................................... 80
CHostDataEx object ...................................................................... 82
Visual C++ sample code for host functionality ............................. 84
Awrem32 functions ...................................................................... 85
Index .................................................................................................................... 89
Contents8
Using OLE Automation with
Symantec pcAnywhere
This chapter includes the following topics:
About OLE Automation
About the pcAnywhere Automation Server
What you can do with the pcAnywhere Automation Server
Before you start
Where to find more information
About OLE Automation
OLE Automation is a technology that lets you create an external application or
other development tool (such as a script or macro) that can control and automate
any exposed function within an application.
OLE Automation consists of the following components:
An application or software component that exposes its
functionality so that it can be accessed or controlled by
other applications or development tools
The pcAnywhere Automation Server is an example of an
OLE Automation server.
OLE Automation server
1
Chapter
An application or development tool that accesses and
controls the components that have been exposed by the
OLE Automation server
You can use any programming language that supports OLE
Automation. The two most common programming
languages are Microsoft Visual Basic and Microsoft Visual
C++.
OLE Automation controller
An external application accesses an OLE Automation server by connecting to the
server and then requesting access to one or more of its published interfaces. An
interface is an entry point that allows access to one or more related methods or
properties. After an application obtains an interface to the server, it can then call
any internal interface method as though it were part of the external application.
About the pcAnywhere Automation Server
The pcAnywhere Automation Server lets external applications manage
pcAnywhere remote and host files to automate remote control and file transfer
tasks. The pcAnywhere Automation Server functions as a programmable
replacement for the Symantec pcAnywhere user interface and mirrors much of
its default behavior.
For example, when you create a host object in pcAnywhere, the first available
modem TAPI device is assigned by default. Similarly, when you create a host object
using the pcAnywhere Automation Server and then enumerate through the list
of assigned connections, the first available modem TAPI device is already assigned.
What you can do with the pcAnywhere Automation
Server
The pcAnywhere Automation Server lets you automate a variety of administrative
and productivity tasks.
You can use the pcAnywhere Automation Server to do the following:
Automatically distribute and install software updates on multiple computers
across your network
Schedule automatic file transfers between computers for audit or archive
purposes
Automatically add a name to or remove a name from the allowed callers list
on every pcAnywhere host on your network
Using OLE Automation with Symantec pcAnywhere
About the pcAnywhere Automation Server
10
This document contains several examples, written in both Visual Basic and Visual
C++, to illustrate how to connect to and use the pcAnywhere Automation Server.
See About Visual Basic objects on page 17.
See About Visual C++ objects on page 59.
Before you start
During a connection to the pcAnywhere Automation Server and its interfaces,
identifier parameters, known as globally unique identifiers (GUIDs), are passed
to the automation library API functions. A separate GUID is assigned to the
pcAnywhere Automation Server and to each exposed interface. These GUIDs must
be present in the system registry to connect an external application to the
pcAnywhere Automation Server and its interfaces.
You can register the GUID entries automatically if you are running the external
application on a computer on which Symantec pcAnywhere is installed. Otherwise,
you must register the GUID entries manually.
See Automatically registering the remote engine on page 11.
See Manually registering the remote engine on page 11.
Automatically registering the remote engine
Before you connect to another computer for the first time using your OLE client,
you must self-register the remote engine. You can do this automatically when you
start a remote object in Symantec pcAnywhere.
To automatically register the remote engine
1
To open Symantec pcAnywhere, do one of the following:
On the desktop, double-click the Symantec pcAnywhere program icon.
On the Windows taskbar, click Start > Programs > Symantec pcAnywhere.
2
In the pcAnywhere Manager window, click Remotes.
3
Double-click a remote connection item.
This process registers the remote engine. You do not need to complete the
connection.
Manually registering the remote engine
If pcAnywhere is not installed on the computer on which you are running the
external application, you must register the GUIDs manually by running the
11Using OLE Automation with Symantec pcAnywhere
Before you start
pcAnywhere Automation Server executable file (Winawsvr.exe). You only need
to run the executable file once to add the GUIDs to the registry. The Winawsvr.exe
file is located in the installation directory.
Accessing the pcAnywhere Automation Server
You can access the pcAnywhere Automation Server using any language platform
that supports OLE Automation. The two most popular language platforms that
support OLE Automation are Visual Basic and Visual C++.
The coding principles for these two platforms are similar, although in the Visual
Basic environment, much of the low-level work is performed behind the scenes
by the Visual Basic run-time system.
Accessing the pcAnywhere Automation Server with Visual Basic
The Visual Basic programming language has built-in support to interact with OLE
Automation servers, such as the pcAnywhere Automation Server. You create a
Standard Exe project, and then enter code in each method to access the
pcAnywhere Automation Server. Visual Basic takes the high-level method calls
in the source files and expands them internally into the corresponding low-level
OLE Automation method calls.
To access the pcAnywhere Automation Server with Visual Basic
1
Add a pair of Object variables for each pcAnywhere object that you want to
access.
For example, when working with remote objects, DIM a RemoteDataManager
and a RemoteDataObject as Object.
2
Use the RemoteDataManager to attach to the remote objects data manager.
For example, call the CreateObject method with
WINAWSVR.REMOTEDATAMANAGER as a parameter.
Visual Basic uses the textual parameter to locate the managers identifier in
the registry and returns the interface to that manager.
3
Once there is a valid data manager object, use it to do any of the following:
Determine the current directory.
Change to another directory.
Enumerate the associated data object files in the current directory.
Using OLE Automation with Symantec pcAnywhere
Before you start
12
Create, retrieve, or delete a data object file.
4
After a data object is created or retrieved, you can get or set properties of the
object.
The Visual Basic syntax does not use a propertys name to differentiate
between getting and setting its value. Instead, the propertys position in
relation to the assignment operator determines whether the underlying
method call is a Get or a Set.
The following examples demonstrate a Get and a Set:
To get an objects phone number value, place the property name to the
right of the assignment operator.
For example, s = RemoteData.PhoneNumber(), where s is a string variable.
To set the phone number, place the property name to the left of the
assignment operator.
For example, RemoteData.PhoneNumber = "555-1212"
Accessing the pcAnywhere Automation Server with Visual C++
The pcAnywhere Automation Server uses type libraries to expose information
about its interfaces and methods to automation clients that are written in Visual
C++. These type libraries use Microsoft Foundation Classes (MFC), which can be
imported into your application using the Visual C++ ClassWizard.
The data manager classes that are provided in the type libraries provide the
functionality that is needed to obtain an interface to the pcAnywhere Automation
Server and perform high-level operations on the interfaces associated object
type.
Use the data manager object to do the following:
Determine or change the current directory.
Enumerate through the list of data object files in the current directory.
Create, retrieve, or delete a named object.
Once created or retrieved, an object uses the associated data object class to examine
or modify any of its exposed properties. Most of these properties are exposed
through a pair of methods that begin with the word Get or Set. For example, a
user calls the GetPhoneNumber method to examine the objects current phone
number property and calls SetPhoneNumber to set it.
Importing and viewing classes
The pcAnywhere Automation Server uses the following type libraries:
13Using OLE Automation with Symantec pcAnywhere
Before you start
Provides the information needed to connect to the pcAnywhere
Automation Server and access its interfaces
Winawsvr.tlb
Provides the information needed to control pcAnywhere connectionsAwrem32.tlb
The following procedures explain how to import the class definitions from the
pcAnywhere Automation Server type libraries into your MFC application and then
view the classes that have been added to your application.
To import classes
1
In Visual C++, create an MFC application.
2
On the View menu, click Class Wizard.
3
In the Class Wizard dialog box, click Add Class, and then click From a type
library.
4
Double-click winawsvr.tlb.
5
In the Confirm Classes dialog box, click OK to import all class definitions.
6
In the Class Wizard dialog box, click Add Class, and then click From a type
library.
7
Double-click awrem32.tlb.
8
In the Confirm Classes dialog box, click OK to import all class definitions.
9
In the Class Wizard dialog box, click OK to complete the import process.
The classes are added to the application. These classes let you manipulate
objects and manage connections.
Importing the class definitions from the type libraries also adds support files
to the application. These files contain the class definitions and implementation
source code for the pcAnywhere Automation Server.
See Viewing the class definitions and implementation files on page 14.
To view the added classes
1
In Visual C++, open your MFC application.
2
In the Workspace window, click the ClassView tab.
Viewing the class definitions and implementation files
When you import the pcAnywhere Automation Server type libraries into your
application, the following files are added:
Winawsvr.h
Winawsvr.cpp
Using OLE Automation with Symantec pcAnywhere
Before you start
14
Awrem32.h
Awrem32.cpp
These files contain the class definitions and implementation source code for the
pcAnywhere Automation Server. You do not need to edit these files; however,
each application source file that contains calls to the pcAnywhere Automation
Server methods must include Winawsvr.h.
To view the class definitions and implementation files
1
In Visual C++, open your MFC application.
2
In the Workspace window, click the FileView tab.
Launching host and remote OLE objects
Symantec pcAnywhere requires that you store all host and remote objects in the
default data directory. Before you launch a host or remote object that you created
using OLE, ensure that the object is located in the pcAnywhere default data
directory. The default directory is the All Users folder in Windows XP, and is the
ProgramData folder in Vista.
Where to find more information
For more information about OLE automation, see the following references:
Box, Don. 1998. Essential COM. Reading, Mass.: Addison-Wesley.
Horton, Ivor. 1997. Beginning MFC Programming. Birmingham, UK.: Wrox
Press.
Rogerson, Dale. 1997. Inside COM. Redmond, Wash.: Microsoft Press.
Templeman, Julian. 1997. Beginning MFC COM Programming. Birmingham,
UK.: Wrox Press.
15Using OLE Automation with Symantec pcAnywhere
Where to find more information
Using OLE Automation with Symantec pcAnywhere
Where to find more information
16
Visual Basic object
definitions
This chapter includes the following topics:
About Visual Basic objects
CRemoteDataManager methods
CRemoteData properties
CRemoteDataEx object
CHostDataManager methods
CHostData properties
CHostDataEx object
Awrem32 functions
About Visual Basic objects
The pcAnywhere Automation Server provides the following components to support
OLE Automation:
Provides the information needed to connect to the pcAnywhere
Automation Server and access its interfaces
Winawsvr
Provides the information needed to control pcAnywhere connectionsAwrem32
Table 2-1 describes the objects that comprise Winawsvr.
2
Chapter
Table 2-1
Winawsvr objects
ReferenceDescriptionObject
See CRemoteDataManager methods
on page 18.
Provides the methods for creating, opening,
modifying, saving, and deleting
CRemoteData objects
CRemoteDataManager
See CRemoteData properties on page 21.
See CRemoteDataEx object on page 31.
Defines the parameters for accessing and
controlling pcAnywhere remote
functionality
CRemoteData
See CHostDataManager methods
on page 34.
Provides the methods for creating, opening,
modifying, saving, and deleting CHostData
objects
CHostDataManager
See CHostData properties on page 36.
See CHostDataEx object on page 47.
Defines the parameters for accessing and
controlling pcAnywhere host functionality
CHostData
Awrem32 has one object, which consists of eight interfaces to support remote
control and file transfer sessions.
See Awrem32 functions on page 55.
Some functions are no longer supported. However, object definitions are provided
for use with earlier versions of pcAnywhere.
For functions that require passwords, password values can be set but not retrieved.
This is for security purposes.
CRemoteDataManager methods
The CRemoteDataManager methods provide the parameters and return values
for accessing and controlling CRemoteData objects.
Table 2-2
CRemoteDataManager methods
DescriptionParameter or return
value
CRemoteDataManager
method
Returns the full path name of the
current directory in which
pcAnywhere remote objects are
stored
Return Value = StringCurrentDirectory()
Changes the current directory in
which pcAnywhere remote objects
are stored
Parameter =
NewDirectory
ChangeDirectory(NewDirectory)
Visual Basic object definitions
CRemoteDataManager methods
18
Table 2-2
CRemoteDataManager methods (continued)
DescriptionParameter or return
value
CRemoteDataManager
method
Finds the first pcAnywhere remote
object file (*.chf) in the current
directory; file name pattern filters
based on the specified file name
pattern (an asterisk [*] finds all files
in the current directory)
Parameter = Pattern as
string
FindFirst(Pattern)
Return buffer for the full path name
of the remote object file (*chf) that
matches the specified pattern
Parameter = Name as
string
FindFirst(Name string)
Return buffer for the full path name
of the remote object file that
matches the pattern that is specified
in the original call to FindFirst()
Parameter = Name as
string
FindNext(Name)
TRUE if another remote object file
that matches the pattern that is
specified in the call to FindFirst() is
found. The full path name of the
matching file is stored in Name
Return value = BooleanFindNext(Name)
The fully qualified remote object file
name to be loaded
Parameter = Name as
string
RetrieveObject(Name)
Specifies how this object is to be
used. This relates to the password
protection
The options are as follows:
0 = Not specified
1 = View only
2 = View and Modify
3 = Execute
Parameter =
AccessMode as integer
RetrieveObject(AccessMode)
Object password. May be NULLParameter = Password
as string
RetrieveObject(Password)
The fully qualified remote object file
name to be loaded
Parameter = Name as
string
RetrieveObjectEx(Name)
19Visual Basic object definitions
CRemoteDataManager methods
Table 2-2
CRemoteDataManager methods (continued)
DescriptionParameter or return
value
CRemoteDataManager
method
Specifies how this object is to be
used. This relates to the password
protection
The options are as follows:
0 = Not specified
1 = View only
2 = View and Modify
3 = Execute
Parameter =
AccessMode as integer
RetrieveObjectEx(AccessMode)
Object password. May be NULLParameter = Password
as string
RetrieveObjectEx(Password)
CRemoteDataEx object from the
specified file
Return value = ObjectRetrieveObjectEx
Creates a CRemoteData object and
returns an LPDISPATCH pointer to
it. The parameter is the fully
qualified remote object file name
for the new object
Parameter = Name as
string
CreateObject(Name)
CRemoteDataReturn value = ObjectCreateObject
Creates a CRemoteDataEx object
and returns an LPDISPATCH
pointer to it. The parameter is the
fully qualified remote object file
name for the new object
Parameter = Name as
string
CreateObjectEx(Name)
CRemoteDataExReturn value = ObjectCreateObjectEx
The fully qualified remote object file
name of the object to be deleted
Parameter = Name as
string
DeleteObject(Name)
Object passwordParameter = Password
as string
DeleteObject(Password)
TRUE if object is deletedReturn value = BooleanDeleteObject
Visual Basic object definitions
CRemoteDataManager methods
20
  • Page 1 1
  • Page 2 2
  • Page 3 3
  • Page 4 4
  • Page 5 5
  • Page 6 6
  • Page 7 7
  • Page 8 8
  • Page 9 9
  • Page 10 10
  • Page 11 11
  • Page 12 12
  • Page 13 13
  • Page 14 14
  • Page 15 15
  • Page 16 16
  • Page 17 17
  • Page 18 18
  • Page 19 19
  • Page 20 20
  • Page 21 21
  • Page 22 22
  • Page 23 23
  • Page 24 24
  • Page 25 25
  • Page 26 26
  • Page 27 27
  • Page 28 28
  • Page 29 29
  • Page 30 30
  • Page 31 31
  • Page 32 32
  • Page 33 33
  • Page 34 34
  • Page 35 35
  • Page 36 36
  • Page 37 37
  • Page 38 38
  • Page 39 39
  • Page 40 40
  • Page 41 41
  • Page 42 42
  • Page 43 43
  • Page 44 44
  • Page 45 45
  • Page 46 46
  • Page 47 47
  • Page 48 48
  • Page 49 49
  • Page 50 50
  • Page 51 51
  • Page 52 52
  • Page 53 53
  • Page 54 54
  • Page 55 55
  • Page 56 56
  • Page 57 57
  • Page 58 58
  • Page 59 59
  • Page 60 60
  • Page 61 61
  • Page 62 62
  • Page 63 63
  • Page 64 64
  • Page 65 65
  • Page 66 66
  • Page 67 67
  • Page 68 68
  • Page 69 69
  • Page 70 70
  • Page 71 71
  • Page 72 72
  • Page 73 73
  • Page 74 74
  • Page 75 75
  • Page 76 76
  • Page 77 77
  • Page 78 78
  • Page 79 79
  • Page 80 80
  • Page 81 81
  • Page 82 82
  • Page 83 83
  • Page 84 84
  • Page 85 85
  • Page 86 86
  • Page 87 87
  • Page 88 88
  • Page 89 89
  • Page 90 90
  • Page 91 91

Symantec OLE Automation User manual

Type
User manual
This manual is also suitable for

Ask a question and I''ll find the answer in the document

Finding information in a document is now easier with AI