Federal acquisitions: Commercial Software - Government Users Subject to Standard
License Terms and Conditions.
Symantec, the Symantec Logo, and pcAnywhereare trademarks or registered trademarks
of Symantec Corporation in the United States and certain other countries. Other names
may be trademarks of their respective owners.
Microsoft, Windows, Windows NT, MS-DOS, and the Windows logo are registered
trademarks or trademarks of Microsoft Corporation.
Additional company and product names may be trademarks or registered trademarks of
the individual companies and are respectfully acknowledged.
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.
THIS 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 NONINFRINGEMENT, 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.
Symantec Corporation
20330 Stevens Creek Blvd.
Cupertino, CA 95014 USA
http://www.symantec.com
Printed in the United States of America.
10987654321
Page 3
Technical Support
Symantec Technical Support maintains support centers globally. Technical
Support’s primary role is to respond to specific queries about product feature
and function, installation, and configuration. The Technical Support group also
authors 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.
Symantec’s maintenance offerings include the following:
■A range of support options that give you the flexibility to select the right
■Telephone and Web-based support that provides rapid response and up-to-
■Upgrade insurance that delivers automatic software upgrade protection
■Global support that is available 24 hours a day, 7 days a week worldwide.
amount of service for any size organization
the-minute information
Support is provided in a variety of languages for those customers that are
enrolled in the Platinum Support program
■Advanced features, including Technical Account Management
For information about Symantec’s Maintenance Programs, you can visit our
Web site at the following URL:
www.symantec.com/techsupp/ent/enterprise.html
Select your country or language under Global Support. The specific features that
are available may vary based on the level of maintenance that was purchased
and the specific product that you use.
Contacting Technical Support
Customers with a current maintenance agreement may access Technical
Support information at the following URL:
www.symantec.com/techsupp/ent/enterprise.html
Select your region or language under Global Support.
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
recreate the problem.
Page 4
When you contact Technical Support, please have the following information
available:
■Product release level
■Hardware information
■Available memory, disk space, 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:
Customer service
www.symantec.com/techsupp/ent/enterprise.html.
Select your region or language under Global Support, and then select the
Licensing and Registration page.
Customer service information is available at the following URL:
www.symantec.com/techsupp/ent/enterprise.html
Select your country or language under Global Support.
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 insurance and maintenance contracts
■Information about Symantec Value License Program
■Advice about Symantec's technical support options
Page 5
■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:
■Asia-Pacific and Japan: contractsadmin@symantec.com
■Europe, Middle-East, and Africa: semea@symantec.com
■North America and Latin America: supportsolutions@symantec.com
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. Additional services that are available include the following:
Symantec Early Warning
Solutions
Managed Security
Services
Consulting servicesSymantec Consulting Services provide on-site technical
Educational ServicesThese services provide a full array of technical training,
These solutions provide early warning of cyber attacks,
comprehensive threat analysis, and countermeasures to
prevent attacks before they occur.
These services remove the burden of managing and monitoring
security devices and events, ensuring rapid response to real
threats.
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 focused on establishing and maintaining the integrity and
availability of your IT resources.
security education, security certification, and awareness
communication programs.
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.
Page 6
Page 7
Contents
Chapter 1Using OLE Automation with Symantec pcAnywhere
About OLE Automation ....................................................................................... 11
About the pcAnywhere Automation Server .................................................... 12
What you can do with the pcAnywhere Automation Server ........................12
Before you start ....................................................................................................13
Automatically registering the remote engine ......................................... 13
Manually registering the remote engine ..................................................14
Accessing the pcAnywhere Automation Server ..................................... 14
Accessing the pcAnywhere Automation Server with Visual Basic ......14
Accessing the pcAnywhere Automation Server with Visual C++ ........15
Launching host and remote OLE objects .................................................. 17
Where to find more information ....................................................................... 17
Chapter 2Visual Basic object definitions
About Visual Basic objects ..................................................................................19
short ConnectionStatus(); .........................................................................107
Page 11
Chapter
Using OLE Automation
with Symantec
pcAnywhere
This chapter includes the following topics:
1
■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:
■OLE Automation server: 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.
See “About the pcAnywhere Automation Server” on page 12.
Page 12
12 Using OLE Automation with Symantec pcAnywhere
About the pcAnywhere Automation Server
■OLE Automation controller: 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++.
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, host, and caller information 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. For example, you can 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
Page 13
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 “Visual Basic object definitions” on page 19.
See “Visual C++ object definitions” on page 69.
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.
13Using OLE Automation with Symantec pcAnywhere
Before you start
See “Automatically registering the remote engine” on page 13.
See “Manually registering the remote engine” on page 14.
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
1To 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.
2In the pcAnywhere Manager window, click Remotes.
3Double-click a remote connection item.
This process registers the remote engine. You do not need to complete the
connection.
Page 14
14 Using OLE Automation with Symantec pcAnywhere
Before you start
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
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 default Symantec pcAnywhere data
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.
See “Visual Basic object definitions” on page 19.
To access the pcAnywhere Automation Server with Visual Basic
1Add 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.
2Use the RemoteDataManager to attach to the remote object’s data manager.
For example, call the CreateObject method with
WINAWSVR.REMOTEDATAMANAGER as a parameter.
Visual Basic uses the textual parameter to locate the manager’s identifier in
the registry and returns the interface to that manager.
3Once there is a valid data manager object, use it to do any of the following:
■Determine the current directory.
■Change to another directory.
Page 15
Before you start
■Enumerate the associated data object files in the current directory.
■Create, retrieve, or delete a data object file.
4After a data object is created or retrieved, you can get or set properties of the
object.
The Visual Basic syntax does not use a property’s name to differentiate
between getting and setting its value. Instead, the property’s 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 object’s 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”
15Using OLE Automation with Symantec pcAnywhere
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 interface’s
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 object’s
current phone number property and calls SetPhoneNumber to set it.
See “Visual C++ object definitions” on page 69.
Page 16
16 Using OLE Automation with Symantec pcAnywhere
Before you start
Importing and viewing classes
The pcAnywhere Automation Server uses the following type libraries:
■Winawsvr.tlb: Provides the information needed to connect to the
pcAnywhere Automation Server and access its interfaces
■Awrem32.tlb: Provides the information needed to control pcAnywhere
connections
Import and view classes
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
1In Visual C++, create an MFC application.
2On the View menu, click Class Wizard.
3In the Class Wizard dialog box, click Add Class, and then click From a type
library.
4Double-click winawsvr.tlb.
5In the Confirm Classes dialog box, click OK to import all class definitions.
6In the Class Wizard dialog box, click Add Class, and then click From a type
library.
7Double-click awrem32.tlb.
8In the Confirm Classes dialog box, click OK to import all class definitions.
9In 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 17.
To view the added classes
1In Visual C++, open your MFC application.
2In the Workspace window, click the ClassView tab.
Page 17
Where to find more information
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
■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
1In Visual C++, open your MFC application.
17Using OLE Automation with Symantec pcAnywhere
2In 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.
Where to find more information
For more information about OLE automation, see the following references:
■Blaszczak, Mike. 1997. Professional MFC with Visual C++ 5. Birmingham,
■Rogerson, Dale. 1997. Inside COM. Redmond, Wash.: Microsoft Press.
■Templeman, Julian. 1997. Beginning MFC COM Programming. Birmingham,
UK.: Wrox Press.
Page 18
18 Using OLE Automation with Symantec pcAnywhere
Where to find more information
Page 19
Chapter
Visual Basic object
definitions
This chapter includes the following topics:
■About Visual Basic objects
■CRemoteDataManager methods
2
■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:
■Winawsvr: Provides the information needed to connect to the pcAnywhere
Automation Server and access its interfaces
■Awrem32: Provides the information needed to control pcAnywhere
connections
Page 20
20 Visual Basic object definitions
CRemoteDataManager methods
Table 2-1 describes the objects that comprise Winawsvr.
Table 2-1Winawsvr objects
ObjectDescriptionReference
CRemoteDataManagerProvides the methods for
creating, opening, modifying,
saving, and deleting
CRemoteData objects
CRemoteDataDefines the parameters for
accessing and controlling
pcAnywhere remote
functionality
CHostDataManagerProvides the methods for
creating, opening, modifying,
saving, and deleting CHostData
objects
CHostDataDefines the parameters for
accessing and controlling
pcAnywhere host functionality
See “CRemoteDataManager
methods” on page 20.
See “CRemoteData
properties” on page 26.
See “CRemoteDataEx
object” on page 36.
See “CHostDataManager
methods” on page 39.
See “CHostData properties”
on page 44.
See “CHostDataEx object”
on page 55.
Awrem32 has one object, which consists of eight interfaces to support remote
control and file transfer sessions.
See “Awrem32 functions” on page 63.
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.
CurrentDirectory()
Returns the full path name of the current directory in which pcAnywhere
remote objects are stored.
Page 21
Table 2-2 defines the CurrentDirectory() return value.
Table 2-2CurrentDirectory() return value
Return valueDescription
StringThe full path name of the current pcAnywhere data
ChangeDirectory(NewDirectory)
Changes the current directory in which pcAnywhere remote objects are stored.
Table 2-3 defines the ChangeDirectory parameter.
Table 2-3ChangeDirectory parameter
ParameterDescription
NewDirectoryName of an existing directory
21Visual Basic object definitions
CRemoteDataManager methods
directory
Table 2-4 defines the ChangeDirectory return value.
Table 2-4ChangeDirectory return value
Return valueDescription
BooleanTRUE if successful
FindFirst(Pattern, Name string)
Finds the first pcAnywhere remote object file (*.chf) in the current directory,
based on the specified file name pattern.
Table 2-5 defines the FindFirst parameters.
Table 2-5FindFirst parameters
ParameterDescription
Pattern as stringFile name pattern to filter object files (an asterisk [*] finds
Name as stringReturn buffer for the full path name of the remote object
all files in the current directory)
file that matches the specified pattern
Page 22
22 Visual Basic object definitions
CRemoteDataManager methods
Table 2-6 defines the FindFirst return value.
Table 2-6FindFirst return value
Return valueDescription
BooleanTRUE if a remote object file that matches the specified
FindNext(Name)
After FindFirst() has been successfully called to get the name of a remote object
file in the current directory, FindNext() can be called to find the next file that
matches the pattern, if any.
Table 2-7 defines the FindNext parameter.
Table 2-7FindNext parameter
pattern is found. The full path name of the matching file is
stored in Name.
ParameterDescription
Name as stringReturn buffer for the full path name of the remote object
file that matches the pattern that is specified in the
original call to FindFirst()
Table 2-8 defines the FindNext return value.
Table 2-8FindNext return value
Return valueDescription
BooleanTRUE 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.
Page 23
RetrieveObject(Name, AccessMode, Password)
Retrieves a CRemoteData object by file name.
Table 2-9 defines the RetrieveObject parameters.
Table 2-9RetrieveObject parameters
ParameterDescription
Name as stringThe fully qualified remote object file name to be loaded.
AccessMode as integerSpecifies 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
Password as stringObject password. May be NULL.
23Visual Basic object definitions
CRemoteDataManager methods
Table 2-10 defines the RetrieveObject return value.
Table 2-10RetrieveObject return value
Return valueDescription
ObjectCRemoteData object from the specified file
RetrieveObjectEx(Name, AccessMode, Password)
Retrieves a CRemoteDataEx object by file name.
Table 2-11 defines the RetrieveObjectEx parameters.
Table 2-11RetrieveObjectEx parameters
ParameterDescription
Name as stringThe fully qualified remote object file name to be loaded.
AccessMode as integerSpecifies 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
Password as stringObject password. May be NULL.
Page 24
24 Visual Basic object definitions
CRemoteDataManager methods
Table 2-12 defines the RetrieveObjectEx return value.
Table 2-12RetrieveObjectEx return value
Return valueDescription
ObjectCRemoteDataEx object from the specified file
CreateObject(Name)
Creates a CRemoteData object and returns an LPDISPATCH pointer to it.
Table 2-13 defines the CreateObject parameter.
Table 2-13CreateObject parameter
ParameterDescription
Name as stringThe fully qualified remote object file name for the new
object
Table 2-14 defines the CreateObject return value.
Table 2-14CreateObject return value
Return valueDescription
ObjectCRemoteData
CreateObjectEx(Name)
Creates a CRemoteDataEx object and returns an LPDISPATCH pointer to it.
Table 2-15 defines the CreateObjectEx parameter.
Table 2-15CreateObjectEx parameter
ParameterDescription
Name as stringThe fully qualified remote object file name for the new
Table 2-16 defines the CreateObjectEx return value.
Table 2-16CreateObjectEx return value
object
Return valueDescription
ObjectCRemoteDataEx
Page 25
DeleteObject(Name, Password)
Deletes a remote object file.
Table 2-17 defines the DeleteObject parameters.
Table 2-17DeleteObject parameters
ParameterDescription
Name as stringThe fully qualified remote object file name of the object to
Password as stringObject password
Table 2-18 defines the DeleteObject return value.
Table 2-18DeleteObject return value
Return valueDescription
25Visual Basic object definitions
CRemoteDataManager methods
be deleted
BooleanTRUE if object is deleted
Page 26
26 Visual Basic object definitions
CRemoteData properties
CRemoteData properties
Table 2-19 defines the properties and parameters that are available for the
CRemoteData object. Replace the information in angle brackets with the actual
values.
Table 2-19CRemoteData properties and parameters
PropertyParameterDescription
<CRemoteData>.ComputerName(String)StringSets the computer name or IP address of the host
computer.
<CRemoteData>.PhoneNumber(String)StringSets the phone number of the host computer.
<CRemoteData>.UseDialingProperties(Bool)BoolSets the system dialing properties.
<CRemoteData>.RedialCount(Integer)IntegerSets the number of redial attempts before
cancelling the call.
<CRemoteData>.RedialDelay(Integer)IntegerSets the number of seconds to wait between redial
attempts.
<CRemoteData>.AutoLoginName(String)StringSets the name of the user for automatic login.
For more information about using domain logins,
see “CRemoteDataEx object” on page 36.
<CRemoteData>.AutoLoginPassword(String)StringSets the password for automatic logins in the
remote object.
For security reasons, the pcAnywhere Automation
Server does not provide the ability to read the
password value. A password value is not returned.
<CRemoteData>.Password(String)StringSets the password on the remote object for use with
the ExecuteProtection, ReadProtection, and
WriteProtection settings.
For security reasons, the pcAnywhere Automation
Server does not provide the ability to read the
password value. A password value is not returned.
<CRemoteData>.ExecuteProtection(Bool)BoolSets the requirement of a password to execute the
object. Set by Password.
<CRemoteData>.ReadProtection(Bool)BoolSets the requirement of a password to view the
<CRemoteData>.WriteProtection(Bool)BoolSets the requirement of a password to save changes
<CRemoteData>.LogSession(Bool)BoolActivates and deactivates session logging.
properties of the remote object. Set by Password.
to the remote object. Set by Password.
Page 27
CRemoteData properties
Table 2-19CRemoteData properties and parameters
PropertyParameterDescription
<CRemoteData>.RecordFile(String)StringSets the fully qualified path and name to the
location of the file that records the active session.
<CRemoteData>.RecordSession(Bool)BoolActivates and deactivates automatic session
recording.
<CRemoteData>.ReadObject(String)StringSets the password of the object. Use this property
to refresh the local data copy of the remote object.
<CRemoteData>.WriteObject(String)StringSets the password of the object. Use this property
to create the remote object or to write changes that
you have made to the remote object.
Table 2-20 defines the properties and return values for CRemoteData. Replace
the information in angle brackets with the actual values.
27Visual Basic object definitions
Table 2-20CRemoteData properties and return values
PropertyReturn
Description
value
String = <CRemoteData>.ComputerNameStringReturns the computer name or IP address of the
host computer
String = <CRemoteData>.PhoneNumberStringReturns the phone number of the host computer
Bool = <CRemoteData>.UseDialingPropertiesBoolReturns the system dialing properties that are set
in the remote object
Integer = <CRemoteData>.RedialCountIntegerReturns the number of redial attempts that is set in
the remote object
Integer = <CRemoteData>.RedialDelayIntegerReturns the number of seconds between redial
attempts
String = <CRemoteData>.AutoLoginNameStringReturns the login name that is used for automatic
logins
Bool = <CRemoteData>.ExecuteProtectionBoolReturns the value of the ExecuteProtection setting
Bool = <CRemoteData>.ReadProtectionBoolReturns the value of the ReadProtection setting
Bool = <CRemoteData>.WriteProtectionBoolReturns the value of the WriteProtection setting
Bool = <CRemoteData>.LogSessionBoolReturns TRUE if session logging is enabled
String = <CRemoteData>.RecordFileStringReturns the fully qualified path and name of the
session recording file
Page 28
28 Visual Basic object definitions
CRemoteData properties
Table 2-20CRemoteData properties and return values
PropertyReturn
Description
value
Bool = <CRemoteData>.RecordSessionBoolReturns the value of the session recording setting
Connection type properties
Table 2-21 defines the connection type properties and parameters. Replace the
information in angle brackets with the actual values.
Table 2-21Connection type properties and parameters
PropertyParameterDescription
<CRemoteData>.ConnectionType(String)StringSets the connection type of the remote. The value
that is passed in must be a valid connection type as
defined by the FirstConnectionType() and
NextConnectionType() functions.
The following are examples of valid connection
types:
■COM1
■COM2
■COM3
■COM4
■LPT1
■LPT2
■LPT3
■LPT4
■TCP/IP
■SPX
■NetBIOS
■Infrared
■ISDN via CAPI 2.0
■Modem name (as it appears on the computer)
Page 29
CRemoteData properties
Table 2-22 defines the connection type properties and return values. Replace the
information in angle brackets with the actual values.
Table 2-22Connection type properties and return values
29Visual Basic object definitions
PropertyReturn
Description
value
String = <CRemoteData>.ConnectionTypesStringReturns the connection type of the
remote object.
Integer = <CRemoteData>.ConnectionTypeIntegerReturns the number of available
connection types.
The following are examples of valid
connection types:
■COM1
■COM2
■COM3
■COM4
■LPT1
■LPT2
■LPT3
■LPT4
■TCP/IP
■SPX
■NetBIOS
■Infrared
■ISDN via CAPI 2.0
■Modem name (as it appears on the
computer)
String = <CRemoteData>.FirstConnectionTypeStringReturns the first available connection
String = <CRemoteData>.NextConnectionTypeStringReturns the next available connection
type. This is called sequentially for the
number of connection types that is set
in <CRemoteData>.ConnectionType to
enumerate all connection types.
BoolReturns TRUE if the named connection
type is found in the list of available
connection types.
Page 30
30 Visual Basic object definitions
CRemoteData properties
Dialing properties
Table 2-23 defines the properties and parameters for setting the dialing
properties for modem connections. Replace the information in angle brackets
with the actual values.
Table 2-23Properties and parameters for dialing properties
PropertyParameterDescription
<CRemoteData>.AreaCode(String)StringSets the area code dialing properties for modem
connections
<CRemoteData>.CountryCode(String)StringSets the country code dialing properties for
modem connections
Table 2-24 defines the properties and return values for modem dialing
properties. Replace the information in angle brackets with the actual values.
Table 2-24Properties and return values for dialing properties
PropertyReturn
Description
value
String = <CRemoteData>.AreaCodeStringReturns the area code dialing properties.
String = <CRemoteData>.CountryCodeStringReturns the dialing properties country code.
Integer = <CRemoteData>.CountryCodesIntegerReturns the number of available country codes.
String = <CRemoteData>.FirstCountryCodeStringReturns the first available country code that is
listed in the operating system.
String = <CRemoteData>.NextCountryCodeStringReturns the next available country code. This is
called sequentially for the number of country
codes that is set in <CRemoteData.CountryCodes>
to enumerate all country codes.
Page 31
CRemoteData properties
COM device properties
Table 2-25 describes the properties and parameters that let you customize the
port settings for modem and other COM-based connections. Replace the
information in angle brackets with the actual values.
Table 2-25COM device properties and parameters
PropertyParameterDescription
<CRemoteData>.ComParity(String)StringSets the communications parity
The following values are valid:
■<None>
■Odd
■Even
■Mark
■Space
31Visual Basic object definitions
<CRemoteData>.ComFlowControl(String)StringSets the flow control of COM-based connection
types
The following values are valid:
■<None>
■XONXOFF
■RTS/CTS
■Both
<CRemoteData>.ComStartedBy(String)StringSets the start setting of COM-based connection
types
The following values are valid:
■Always connected
■Carrier detect (DCD)
■Clear to send (CTS)
■Data set ready (DSR)
■Ring indicator (RI)
■Receive 2 <CR>’s
■Modem response
Page 32
32 Visual Basic object definitions
CRemoteData properties
Table 2-25COM device properties and parameters
PropertyParameterDescription
<CRemoteData>.ComEndedBy(String)StringSets the end setting of COM-based connection
types
The following values are valid:
■Always connected
■Carrier detect (DCD)
■Clear to send (CTS)
■Data set ready (DSR)
■Ring indicator (RI)
<CRemoteData>.ComSpeed(Long)LongContains the maximum COM speed setting
The following values are valid:
■110
■300
■600
■1200
■2400
■4800
■9600
■38400
■57600
■115200
Table 2-26 describes the COM device properties and return values. Replace the
information in angle brackets with the actual values.
Table 2-26COM device properties and return values
PropertyReturn
Description
value
String = <CRemoteData>.ComParityStringReturns one of the following values for
communications parity:
■<None>
■Odd
■Even
■Mark
■Space
Page 33
Table 2-26COM device properties and return values
33Visual Basic object definitions
CRemoteData properties
PropertyReturn
Description
value
String = <CRemoteData>.ComFlowControlStringReturns the Com Flow setting of the remote object
The following values are valid:
■<None>
■XONXOFF
■RTS/CTS
■Both
String = <CRemoteData>.ComStartedByStringReturns the Com Start control of COM-based
connection types
The following values are valid:
■Always connected
■Carrier detect (DCD)
■Clear to send (CTS)
■Data set ready (DSR)
■Ring indicator (RI)
■Receive 2 <CR>’s
■Modem response
String = <CRemoteData>.ComEndedByStringReturns the Com End control of COM-based
connection types
The following values are valid:
■Always connected
■Carrier detect (DCD)
■Clear to send (CTS)
■Data set ready (DSR)
■Ring indicator (RI)
Page 34
34 Visual Basic object definitions
CRemoteData properties
Table 2-26COM device properties and return values
PropertyReturn
Description
value
Long = <CRemoteData>.ComSpeedLongReturns the current setting of the Com Speed of
the remote object
The following values are valid:
■110
■300
■600
■1200
■2400
■4800
■9600
■38400
■57600
■115200
NetBIOS device properties
Table 2-27 defines the property and parameter for a NetBIOS network device.
Replace the information in angle brackets with the actual values.
Table 2-27NetBIOS property and parameter
PropertyParameterDescription
<CRemoteData>.LanaNumber(Integer)IntegerSets the LAN Adapter (LANA) number for NetBIOS
connections
Table 2-28 defines the NetBIOS property and return value. Replace the
information in angle brackets with the actual values.
Table 2-28NetBIOS property and return value
PropertyReturn
Description
value
Integer = <CRemoteData>.LanaNumberIntegerReturns the current setting of the LAN Adapter
(LANA) number for NetBIOS connections
Page 35
CRemoteData properties
ISDN via CAPI 2.0 device properties
Table 2-29 defines the properties and parameters for European ISDN
connections. Replace the information in angle brackets with the actual values.
Table 2-29ISDN via CAPI 2.0 properties and parameters
PropertyParameterDescription
<CRemoteData>.CapiChannelBonding(Bool)BoolActivates or deactivates channel bonding for ISDN
CAPI devices
<CRemoteData>.CapiExtensions(String)StringSets any additional CAPI extensions that are
needed for communications
Table 2-30 defines the properties and return values for European ISDN
connections. Replace the information in angle brackets with the actual values.
Table 2-30ISDN via CAPI 2.0 properties and return values
35Visual Basic object definitions
PropertyReturn
Description
value
Bool= <CRemoteData>.CapiChannelBondingBoolReturns the current ISDN CAPI channel bonding
setting in the remote object
String = <CRemoteData>.CapiExtensionsStringReturns the current list of CAPI extensions from
the remote object
Page 36
36 Visual Basic object definitions
CRemoteDataEx object
CRemoteDataEx object
The CRemoteDataEx object contains the same functionality as the CRemoteData
object with some additional functionality.
Table 2-31 describes the properties and parameters. Replace the information in
angle brackets with the actual values.
Table 2-31CRemoteDataEx parameters
PropertyParameterDescription
<CRemoteData>.PrivateKey(String)StringSets the name of the private key container to use.
<CRemoteData>.CertificateName(String)StringSets the common name of the private key to use.
<CRemoteData>.EncryptionLevel(Byte)ByteSets the encryption level.
The following values are valid:
■-1: None
■ 0: pcAnywhere
■ 1: Symmetric
■ 2: Public key
<CRemoteData>.DenyLowerEncrypt(Bool)BoolDefines whether the remote computer allows a
connection to a host computer that uses a lower
level of encryption.
<CRemoteData>.AutoDomain(String)StringSets the domain name for automatic logins. This
option is used with NT authentication and
Windows authentication.
Table 2-32 describes the properties and return values for the CRemoteDataEx
object. Replace the information in angle brackets with the actual values.
Table 2-32CRemoteDataEx properties and return values
PropertyReturn
Description
value
String = <CRemoteData>.PrivateKeyStringReturns the name of the currently active private
key container.
String = <CRemoteData>.CertificateNameStringReturns the common name of the active private
key container.
Page 37
Table 2-32CRemoteDataEx properties and return values
37Visual Basic object definitions
CRemoteDataEx object
PropertyReturn
Description
value
Byte = <CRemoteData>.EncryptionLevelByteReturns one of the following encryption settings:
■-1: None
■ 0: pcAnywhere
■ 1: Symmetric
■ 2: Public key
Bool = <CRemoteData>.DenyLowerEncryptBoolReturns the value of the deny lower encryption
setting.
String = <CRemoteData>.AutoDomainStringReturns the domain name setting for automatic
logins. This option is used with NT authentication
and Windows authentication.
Visual Basic sample code for remote functionality
The following Visual Basic sample code retrieves a remote data object and
modifies its properties:
Private Sub Command1_Click()
Dim RemoteDataManager as Object
Dim RemoteData as Object
Dim s as string
'Create CRemoteDataManager object
Set RemoteDataManager = CreateObject(WINAWSVR.REMOTEDATAMANAGER)
'display and change current directory
s = RemoteDataManager.CurrentDirectory()
MsgBox ( s )
RemoteDataManager.ChangeDirectory ("C:\dev\bin.w32\data")
s = RemoteDataManager.CurrentDirectory()
MsgBox ( s )
'retrieve remote data object
Set RemoteData = RemoteDataManager.RetrieveObjectEx("pod.CHF",
2, 0)
'display some properties
s = RemoteData.AreaCode()
Page 38
38 Visual Basic object definitions
CRemoteDataEx object
Use the FindFirst and FindNext methods to display the remote file in a directory
as follows:
MsgBox (s)
s = RemoteData.PhoneNumber()
MsgBox (s)
'set some properties
RemoteData.AreaCode = "212"
RemoteData.PhoneNumber = "555-5555"
'write object to disk
RemoteData.WriteObject (0)
End Sub
Private Sub Command5_Click()
Dim RemoteDataManager as Object
Dim RemoteData as Object
Dim s as string
Set RemoteDataManager =
CreateObject("WINAWSVR.REMOTEDATAMANAGER")
RemoteDataManager.ChangeDirectory
("C:\dev\bin.w32\data")
RemoteDataManager.FindFirst "*", s
MsgBox (s)
RemoteDataManager.FindNext s
MsgBox (s)
End Sub
Create a remote object. Set the connection type to TCP/IP and the computer
name “Host1,” and then launch it as follows:
Private Sub Command6_Click()
Dim RemoteDataManager as Object
Dim RemoteData as Object
Dim s as string
Set RemoteDataManager =
CreateObject("WINAWSVR.REMOTEDATAMANAGER")
MsgBox (RemoteDataManager.CurrentDirectory())
Page 39
RemoteDataManager.ChangeDirectory ("C:\dev\bin.w32\data")
MsgBox (RemoteDataManager.CurrentDirectory())
Set RemoteData = RemoteDataManager.CreateObject("test")
RemoteData.ConnectionType = "TCP/IP"
RemoteData.ComputerName = "Host1"
s = RemoteData.ConnectionType
MsgBox (s)
s = RemoteData.ComputerName
MsgBox (s)
RemoteData.WriteObject (0)
End Sub
CHostDataManager methods
39Visual Basic object definitions
CHostDataManager methods
The CHostDataManager methods provide the parameters and return values for
accessing and controlling CHostData objects.
CurrentDirectory()
Returns the full path name of the current directory in which pcAnywhere host
objects are stored.
Table 2-33 defines the return value for CurrentDirectory.
Table 2-33CurrentDirectory() return value
Return valueDescription
StringThe full path name of the current pcAnywhere data
FindFirst(Pattern, Name string)
Finds the first pcAnywhere host object file (*.bhf) in the current directory, based
on the specified file name pattern.
Table 2-34 defines the parameters for FindFirst.
directory
Table 2-34FindFirst parameters
ParameterDescription
Pattern as stringFile name pattern to filter object files (an asterisk [*] finds
all files in the current directory)
Page 40
40 Visual Basic object definitions
CHostDataManager methods
Table 2-34FindFirst parameters
ParameterDescription
Name as stringReturn buffer for the full path name of the host object file
Table 2-35 defines the return value for FindFirst.
Table 2-35FindFirst return value
Return valueDescription
BooleanTRUE if a host object file matching the specified pattern is
FindNext(Name)
that matches the specified pattern
found. The full path name of the matching file is stored in
Name.
After FindFirst() has been successfully called to get the name of a host object file
in the current directory, FindNext() can be called to find the next file that
matches the pattern, if any.
Table 2-36 defines the parameter for FindNext.
Table 2-36FindNext parameter
ParameterDescription
Name as stringReturn buffer for the full path name of the host object file
that matches the pattern specified in the original call to
FindFirst()
Table 2-37 defines the return value for FindNext.
Table 2-37FindNext return value
Return valueDescription
BooleanTRUE if another host object file matching the pattern
specified in the call to FindFirst() is found. The full path
name of the matching file is stored in Name.
Page 41
RetrieveObject(Name, AccessMode, Password)
Retrieves a CHostData object by file name.
Table 2-38 defines the parameters for RetrieveObject.
Table 2-38RetrieveObject parameters
ParameterDescription
Name as stringThe fully qualified host object file name to be loaded.
AccessMode as integerSpecifies 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
Password as stringObject password. May be NULL.
41Visual Basic object definitions
CHostDataManager methods
Table 2-39 defines the return value for RetrieveObject.
Table 2-39RetrieveObject return value
Return valueDescription
ObjectCHostData object from the specified file
RetrieveObjectEx(Name, AccessMode, Password)
Retrieves a CHostDataEx object by file name.
Table 2-40 defines the parameters for RetrieveObjectEx.
Table 2-40RetrieveObjectEx parameters
ParameterDescription
Name as stringThe fully qualified host object file name to be loaded.
AccessMode as integerSpecifies 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
Password as stringObject password. May be NULL.
Page 42
42 Visual Basic object definitions
CHostDataManager methods
Table 2-41 defines the return value for RetrieveObjectEx.
Table 2-41RetrieveObjectEx return value
Return valueDescription
ObjectCHostDataEx object from the specified file
CreateObject(Name)
Creates a CHostData object and returns an LPDISPATCH pointer to it.
Table 2-42 defines the parameter for CreateObject.
Table 2-42CreateObject parameter
ParameterDescription
Name as stringThe fully qualified host object file name for the new object
Table 2-43 defines the return value for CreateObject.
Table 2-43CreateObject return value
Return valueDescription
ObjectCHostData
CreateObjectEx(Name)
Creates a CHostDataEx object and returns an LPDISPATCH pointer to it.
Table 2-44 defines the parameter for CreateObjectEx.
Table 2-44CreateObjectEx parameter
ParameterDescription
Name as stringThe fully qualified host object file name for the new object
Table 2-45 defines the return value for CreateObjectEx.
Table 2-45CreateObjectEx return value
Return valueDescription
ObjectCHostDataEx
Page 43
DeleteObject(Name, Password)
Deletes a host object file.
Table 2-46 defines the parameters for DeleteObject.
Table 2-46DeleteObject parameters
ParameterDescription
Name as stringThe fully qualified host object file name of the object to be
Password as stringObject password
Table 2-47 defines the return value for DeleteObject.
Table 2-47DeleteObject return value
Return valueDescription
43Visual Basic object definitions
CHostDataManager methods
deleted
Launch(Name)
BooleanTRUE if object is deleted
Launches a host object file, which opens the pcAnywhere host terminal window.
Table 2-48 defines the parameter for launch.
Table 2-48Launch parameter
ParameterDescription
Name as stringThe fully qualified host object file of the object to be
launched
Table 2-49 defines the Launch return value.
Table 2-49Launch return value
Return valueDescription
BooleanTRUE if object is successfully launched
Page 44
44 Visual Basic object definitions
CHostData properties
CHostData properties
Table 2-50 describes the properties and parameters that are available for the
CHostData object. Replace the information in angle brackets with the actual
values.
Table 2-50CHostData properties and parameters
PropertyParameterDescription
<CHostData>.PhoneNumber(String)StringSets the phone number of the host computer.
<CHostData>.UseDialingProperties(Bool)BoolSets the system dialing properties.
<CHostData>.RedialCount(Integer)IntegerSets the number of redial attempts before
cancelling the call.
<CHostData>.RedialDelay(Integer)IntegerSets the number of seconds to wait between redial
attempts.
<CHostData>.Password(String)StringSets the password on the host object for use with
the ExecuteProtection, ReadProtection, and
WriteProtection settings.
For security reasons, the pcAnywhere Automation
Server does not provide the ability to read the
password value. A password value is not returned.
<CHostData>.ExecuteProtection(Bool)BoolSets the requirement of a password to execute the
object. Set by Password.
<CHostData>.ReadProtection(Bool)BoolSets the requirement of a password to view the
properties of the host object. Set by Password.
<CHostData>.WriteProtection(Bool)BoolSets the requirement of a password to save
changes to the host object. Set by Password.
<CHostData>.LogSession(Bool)BoolActivates and deactivates session logging.
<CHostData>.RecordFile(String)StringSets the fully qualified path and name to the
location of the file that records the active session.
<CHostData>.RecordSession(Bool)BoolActivates and deactivates automatic session
recording.
<CHostData>.ReadObject(String)StringSets the password for the object. You can use this
<CHostData>.WriteObject(String)StringSets the password for the object. Use this property
property to refresh the local data copy of the host
object.
to create the host object or to write changes that
you have made to the host object.
Page 45
CHostData properties
Table 2-51 describes the CHostData properties and return values. Replace the
information in angle brackets with the actual values.
Table 2-51CHostData properties and return values
45Visual Basic object definitions
PropertyReturn
Description
value
String = <CHostData>.PhoneNumberStringReturns the phone number of the host computer
Bool = <CHostData>.UseDialingPropertiesBoolReturns the use of the system dialing properties
that are set in the host object
Integer = <CHostData>.RedialCountIntegerReturns the number of redial attempts that is set
in the host object
Integer = <CHostData>.RedialDelayIntegerReturns the number of seconds between redial
attempts
Bool = <CHostData>.ExecuteProtectionBoolReturns the value of the ExecuteProtection setting
Bool = <CHostData>.ReadProtectionBoolReturns the value of the ReadProtection setting
Bool = <CHostData>.WriteProtectionBoolReturns the value of the Write Protection setting
Bool = <CHostData>.LogSessionBoolReturns TRUE if session logging is enabled
String = <CHostData>.RecordFileStringReturns the fully qualified path and name of the
session recording file
Bool = <CHostData>.RecordSessionBoolReturns the value of the session recording setting
Page 46
46 Visual Basic object definitions
CHostData properties
Connection type properties
Table 2-52 describes the connection type properties and parameters. Replace
the information in angle brackets with the actual values.
Table 2-52Connection type properties and parameters
PropertyParameterDescription
<CHostData>.ConnectionType(String)StringSets the connection type of the host. The value
that is passed in must be a valid connection type
as defined by the FirstConnectionType() and
NextConnectionType() functions.
The following are examples of valid connection
types:
■COM1
■COM2
■COM3
■COM4
■LPT1
■LPT2
■LPT3
■LPT4
■TCP/IP
■SPX
■NetBIOS
■Infrared
■ISDN via CAPI 2.0
■Modem name (as it appears on the computer)
<CHostData>.AssignConnection(String)StringSets the connection type that is defined in the
<CHostData>.UnassignConnection(String)StringSets the connection type that is defined in the
string to active status.
string to inactive status.
Page 47
CHostData properties
Table 2-53 describes the connection type properties and return values. Replace
the information in angle brackets with the actual values.
Table 2-53Connection type properties and return values
47Visual Basic object definitions
PropertyReturn
Description
value
String = <CHostData>.ConnectionTypesStringReturns the connection type of the host object.
Integer = <CHostData>.ConnectionTypeIntegerReturns the number of available connection types.
The following are examples of valid connection
types:
■COM1
■COM2
■COM3
■COM4
■LPT1
■LPT2
■LPT3
■LPT4
■TCP/IP
■SPX
■NetBIOS
■Infrared
■ISDN via CAPI 2.0
■Modem name (as it appears on the computer)
String = <CHostData>.FirstConnectionTypeStringReturns the first available connection type.
String = <CHostData>.NextConnectionTypeStringReturns the next available connection type. This is
called sequentially for the number of connection
types that is set in <CHostData>.ConnectionTypes
to enumerate all connection types.
passed in matches any of the active connection
types.
Page 48
48 Visual Basic object definitions
CHostData properties
AssignConnection(ConnectionType) method
The AssignConnection(Connection Type) method places the requested
connection type on the host object’s list of assigned connection types and makes
it the current connection type when processing subsequent device-specific
method calls.
If the requested connection type is already on the list of assigned connections,
the list of assigned connections does not change. Only the current connection
type is changed to the requested type. It is normal to call the AssignConnection
method on the same object multiple times in the course of getting and setting
connection-specific values.
AssignConnection returns TRUE if the connection type that is passed in exists
on the computer and is either successfully assigned or already assigned. It
returns FALSE if either the requested connection type does not exist on the
computer or the current assigned connection count is already at the maximum
allowed level.
A pcAnywhere host object can support up to two assigned connection types. The
AssignConnection method returns FALSE if it detects an attempt to exceed this
limit.
Table 2-54 defines the AssignConnection parameter.
Table 2-54AssignConnection parameter
ParameterDescription
ConnectionType as stringThe name of a connection device type to be assigned
Table 2-55 defines the AssignConnection return value.
Table 2-55AssignConnection return value
Return valueDescription
BooleanTRUE if this device type is available and the maximum
allowed assigned connection count has not already been
reached
UnassignConnection(ConnectionType) method
The UnassignConnection(Connection Type) method returns TRUE if the
connection type that is passed in is successfully removed from the list of
assigned connection types.
Page 49
Table 2-56 defines the UnassignConnection parameter.
Table 2-56UnassignConnection parameter
ParameterDescription
ConnectionType as stringThe name of a connection device type to be unassigned
Table 2-57 defines the UnassignConnection return value.
Table 2-57UnassignConnection return value
Return valueDescription
BooleanTRUE if this device type is successfully unassigned
Dialing properties
Table 2-58 defines the properties and return values for setting the dialing
properties for modem connections. Replace the information in angle brackets
with the actual values.
49Visual Basic object definitions
CHostData properties
Table 2-58Properties and parameters for modem dialing properties
PropertyParameterDescription
<CHostData>.AreaCode(String)StringSets the area code for the modem connections
<CHostData>.CountryCode(String)StringSets the country code for modem connections
Table 2-59 defines the properties and return values for modem dialing
properties. Replace the information in angle brackets with the actual values.
Table 2-59Properties and return values for modem dialing properties
PropertyReturn
Description
value
String = <CHostData>.AreaCodeStringReturns the area code.
String = <CHostData>.CountryCodeStringReturns the country code.
Integer = <CHostData>.CountryCodesIntegerReturns the number of available country codes.
String= <CHostData>.FirstCountryCodeStringReturns the first available country code that is
listed in the operating system.
Page 50
50 Visual Basic object definitions
CHostData properties
Table 2-59Properties and return values for modem dialing properties
PropertyReturn
Description
value
String = <CHostData>.NextCountryCodeStringReturns the next available country code. This is
called sequentially for the number of country
codes that is set in <CHostData>.CountryCodes to
enumerate all country codes.
COM device properties
Table 2-60 defines the properties and parameters that let you customize the
port settings for modem and other COM-based connections. Replace the
information in angle brackets with the actual values.
Table 2-60COM device properties and parameters
PropertyParameterDescription
<CHostData>.ComParity(String)StringSets the communications parity
The following values are valid:
■<None>
■Odd
■Even
■Mark
■Space
<CHostData>.ComFlowControl(String)StringSets the flow control of COM-based connection
types
The following values are valid:
■<None>
■XONXOFF
■RTS/CTS
■Both
Page 51
CHostData properties
Table 2-60COM device properties and parameters
PropertyParameterDescription
<CHostData>.ComStartedBy(String)StringSets the start setting of COM-based connection
types
The following values are valid:
■Always connected
■Carrier detect (DCD)
■Clear to send (CTS)
■Data set ready (DSR)
■Ring indicator (RI)
■Receive 2 <CR>’s
■Modem response
<CHostData>.ComEndedBy(String)StringSets the end setting of COM-based connection
types
51Visual Basic object definitions
The following values are valid:
■Always connected
■Carrier detect (DCD)
■Clear to send (CTS)
■Data set ready (DSR)
■Ring indicator (RI)
<CHostData>.ComSpeed(Long)LongSets the maximum COM speed setting
The following values are valid:
■110
■300
■600
■1200
■2400
■4800
■9600
■38400
■57600
■115200
Page 52
52 Visual Basic object definitions
CHostData properties
Table 2-61 describes the COM device properties and return values. Replace the
information in angle brackets with the actual values.
Table 2-61COM device properties and return values
PropertyReturn
Description
value
String = <CHostData>.ComParityStringReturns one of the following values as the
communications parity:
■<None>
■Odd
■Even
■Mark
■Space
String = <CHostData>.ComFlowControlStringReturns the Com Flow setting of the host object
The following values are valid:
■<None>
■XONXOFF
■RTS/CTS
■Both
String = <CHostData>.ComStartedByStringReturns the Com Start control of COM-based
connection types
The following values are valid:
■Always connected
■Carrier detect (DCD)
■Clear to send (CTS)
■Data set ready (DSR)
■Ring indicator (RI)
■Receive 2 <CR>’s
■Modem response
String = <CHostData>.ComEndedByStringReturns the Com End control of COM-based
connection types
The following values are valid:
■Always connected
■Carrier detect (DCD)
■Clear to send (CTS)
■Data set ready (DSR)
■Ring indicator (RI)
Page 53
Table 2-61COM device properties and return values
53Visual Basic object definitions
CHostData properties
PropertyReturn
Description
value
Long = <CHostData>.ComSpeedLongReturns the current setting of the Com Speed of
the host object
The following values are valid:
■110
■300
■600
■1200
■2400
■4800
■9600
■38400
■57600
■115200
NetBIOS device properties
Table 2-62 defines the property and parameter for NetBIOS network devices.
Replace the information in angle brackets with the actual values.
Table 2-62NetBIOS property and parameter
PropertyParameterDescription
<CHostData>.LanaNumber(Integer)IntegerSets the LAN Adapter (LANA) number for NetBIOS
connections
Table 2-63 defines the property and return value for NetBIOS network devices.
Replace the information in angle brackets with the actual values.
Table 2-63NetBIOS return values
PropertyReturn
Description
value
Integer = <CHostData>.LanaNumberIntegerReturns the current setting of the LAN Adapter
(LANA) number for NetBIOS connections
Page 54
54 Visual Basic object definitions
CHostData properties
ISDN via CAPI 2.0 device properties
Table 2-64 defines the properties and parameters for European ISDN
connections. Replace the information in angle brackets with the actual values.
Table 2-64ISDN via CAPI 2.0 properties and parameters
PropertyParameterDescription
<CHostData>.CapiChannelBonding(Bool)BoolActivates or deactivates channel bonding for ISDN
CAPI devices
<CHostData>.CapiExtensions(String)StringSets any additional CAPI extensions that are
needed for communications
Table 2-65 defines the properties and return values for European ISDN
connections.
Table 2-65ISDN via CAPI 2.0 properties and return values
PropertyReturn
Description
value
Bool= <CHostData>.CapiChannelBondingBoolReturns the current ISDN CAPI channel bonding
setting in the host object
String = <CHostData>.CapiExtensionsStringReturns the current list of CAPI extensions from
the host object
Page 55
CHostDataEx object
CHostDataEx object
The CHostDataEx object contains the same functionality as the CHostData
object with some additional functionality.
Table 2-66 describes the properties and parameters. Replace the information in
angle brackets with the actual values.
Table 2-66CHostDataEx properties and parameters
PropertyParameterDescription
<CHostData>.CryptPrivateKey(String)StringSets the name of the private key container to use.
<CHostData>.CryptCommonName(String)StringSets the common name of the private key to use.
<CHostData>.CryptReqLevel(Byte)ByteSets the encryption level.
The following values are valid:
■-1: None
■ 0: pcAnywhere
■ 1: Symmetric
■ 2: Public key
55Visual Basic object definitions
<CHostData>.CryptRefuseLower(Bool)BoolDefines whether the host computer accepts
connections from a remote computer that uses a
lower level of encryption.
<CHostData>.CallersPath(String)StringSets the fully qualified path to the caller files.
<CHostData>.ConfirmConnect(Bool)BoolDefines whether the host user will be prompted
to confirm connections.
<CHostData>.ConfirmTimeout(Byte)ByteSets the number of seconds before the prompt to
confirm the connection time limit expires.
<CHostData>.ConfirmDeny(Bool)BoolDefines whether the connection should be ended
if the prompt to confirm the connection time
limit expires.
<CHostData>.PwCaseSensitive(Bool)BoolForces the use of case-sensitive passwords.
<CHostData>.PwAttempts(Byte)ByteSets the number of consecutive failed logon
attempts that are allowed before ending the
connection.
<CHostData>.PwTimeout(Byte)ByteSets the number of minutes that a user has to
complete the logon before the connection is
dropped.
Page 56
56 Visual Basic object definitions
CHostDataEx object
Table 2-66CHostDataEx properties and parameters
PropertyParameterDescription
<CHostData>.ActiveKbds(Byte)ByteDefines which mouse and keyboard will be active
during the connection.
The following values are valid:
■0: Host and remote
■1: Host
■2: Remote
<CHostData>.InactiveTimeout(Byte)ByteSets the number of minutes in which the
keyboard and mouse can be inactive before the
connection is ended.
<CHostData>.LockSystemWhileWait(Bool)BoolSets the lock host computer upon startup setting.
<CHostData>.MinimizeOnLaunch(Bool)BoolSets the run minimized host startup option.
<CHostData>.RunAsService(Bool)BoolEnables the host to run as a service.
<CHostData>.ConnLostWait(Byte)ByteSets the number of minutes to wait before
allowing another caller to connect.
<CHostData>.ConnLostHostOpts(Bool)BoolDefines whether to wait for another connection
or cancel the host if the session ends abnormally.
The following values are valid:
■FALSE: Wait
■TRUE: Cancel host
<CHostData>.EnableConnLostSecurity(Bool)BoolActivates or deactivates the end of session
security options for sessions that end
abnormally.
Page 57
Table 2-66CHostDataEx properties and parameters
PropertyParameterDescription
<CHostData>.AuthenticationType(Byte)ByteSets the authentication type.
The following values are valid:
■0: pcAnywhere
■1: pcAnywhere
■2: Windows
■3: NT
■4: pcAnywhere
■5: pcAnywhere
■6: ADS Active Directory Services
■7: Microsoft LDAP
■8: FTP
■9: HTTP
■10: HTTPS
■11: Netscape LDAP
■12: Novell LDAP
■13: RSA SecurID
57Visual Basic object definitions
CHostDataEx object
pcAnywhere authentication is used by default if
no authentication value is set or if the set value
is not valid (for example, the authentication type
is not available).
<CHostData>.ConnLostSecurity(Byte)ByteSets the security options for handling an
abnormal end of session.
The following values are valid:
■1: Log off user
■2: Restart host computer
■3: Lock computer
<CHostData>.CallbkDelay(Byte)ByteSets the number of seconds to wait before the
host modem calls back the remote.
<CHostData>.EndSessHostOpts(Bool)BoolDefines whether the host waits for another
connection or is cancelled after a normal end of
session.
The following values are valid:
■FALSE: Wait for next connection
■TRUE: Cancel host
<CHostData>.EnableEndSessSecurity(Bool)BoolActivates or deactivates the security options for a
normal end of session.
Page 58
58 Visual Basic object definitions
CHostDataEx object
Table 2-66CHostDataEx properties and parameters
PropertyParameterDescription
<CHostData>.EndSessSecurity(Byte)ByteSets the security options for a normal end of
session.
The following values are valid:
■1: Log off user
■2: Restart host computer
■3: Lock computer
<CHostData>.BlankHost(Bool)BoolSets screen blanking on the host computer. Some
video cards do not support this option.
<CHostData>.AllowRemoteMouse(Bool)BoolDisables the use of the mouse on the remote
computer during a session.
<CHostData>.RebootOnDisconnect(Bool)BoolForces the computer to restart after any end of
session if TRUE.
<CHostData>.PasswordAfterDisc(Bool)BoolLogs off the user after the session ends.
<CHostData>.AllowDriveSecurity(Bool)BoolEnables drive security options. This setting is
valid only on NTFS file systems.
<CHostData>.UseDirectoryServices(Bool)BoolEnables the use of directory services for
authentication.
<CHostData>.DirectoryServiceEntry(String)StringSets the directory services settings.
Table 2-67 describes the properties and return values for the CHostDataEx
object. Replace the information in angle brackets with the actual values.
Table 2-67CHostDataEx properties and return values
PropertyReturn
Description
value
String = <CHostDataEx>.CryptPrivateKeyStringReturns the currently active private key
container.
String = <CHostDataEx>.CryptCommonNameStringReturns the common name of the active private
key container.
Page 59
Table 2-67CHostDataEx properties and return values
59Visual Basic object definitions
CHostDataEx object
PropertyReturn
Description
value
Byte = <CHostDataEx>.CryptReqLevelByteReturns one of the following encryption
settings:
■-1: None
■ 0: pcAnywhere
■ 1: Symmetric
■ 2: Public key
Bool = <CHostDataEx>.CryptRefuseLowerBoolReturns the value of the deny lower encryption
setting.
String = <CHostDataEx>.CallersPathStringReturns the currently active path to the caller
files.
Bool = <CHostDataEx>.ConfirmConnectBoolReturns the value of the confirm connection
setting.
Byte = <CHostDataEx>.ConfirmTimeoutByteReturns the value of the deny lower encryption
setting.
Bool = <CHostDataEx>.ConfirmDenyBoolReturns the value of the disconnect if timeout
setting.
Bool = <CHostDataEx>.PwCaseSensitiveBoolReturns the value of the make passwords case
sensitive setting.
Byte = <CHostDataEx>.PwAttemptsByteReturns the value of the limit login attempts per
call setting.
Byte = <CHostDataEx>.PwTimeoutByteReturns the value of the limit time to complete
login setting (in minutes).
Byte = <CHostDataEx>.ActiveKbdsByteReturns the active keyboard and mouse settings.
The following values are valid:
■0: Host and remote
■1: Host
■2: Remote
Byte = <CHostDataEx>. InactiveTimeoutByteReturns the number of minutes to wait before
disconnecting if the inactivity time limit expires.
Bool = <CHostDataEx>.LockSystemWhileWaitBoolReturns the lock host computer upon startup
setting.
Bool = <CHostDataEx>.MinimizeOnLaunchBoolReturns the run minimized on host startup
setting.
Page 60
60 Visual Basic object definitions
CHostDataEx object
Table 2-67CHostDataEx properties and return values
PropertyReturn
Description
value
Bool = <CHostDataEx>.RunAsServiceBoolReturns the run host as a service setting.
Byte = <CHostDataEx>.ConnLostWaitByteReturns the number of minutes to wait before
allowing another connection.
Bool = <CHostDataEx>.ConnLostHostOptsBoolReturns whether to wait for another connection
or cancel the host if the session ends
abnormally.
The following values are valid:
■FALSE: Wait
■TRUE: Cancel host
Bool = <CHostDataEx>.ConnLostWaitBoolReturns the value of the security option that is
set for handling an abnormal end of session.
Byte = <CHostDataEx>.AuthenticationTypeByteReturns the number reference of the
authentication type.
The following values are valid:
■0: pcAnywhere
■1: pcAnywhere
■2: Windows
■3: NT
■4: pcAnywhere
■5: pcAnywhere
■6: ADS Active Directory Services
■7: Microsoft LDAP
■8: FTP
■9: HTTP
■10: HTTPS
■11: Netscape LDAP
■12: Novell LDAP
■13: RSA SecurID
pcAnywhere authentication is used by default if
no authentication value is set or if the set value
is not valid (for example, the authentication type
is not available).
Page 61
Table 2-67CHostDataEx properties and return values
61Visual Basic object definitions
CHostDataEx object
PropertyReturn
Description
value
Byte = <CHostDataEx>.ConnLostSecurityByteReturns the numeric representation of the
security level that is set for handling an
abnormal end of session.
The following values are valid:
■1: Log off user
■2: Restart host computer
■3: Lock computer
Byte = <CHostDataEx>.CallbkDelayByteReturns the number of seconds to wait before
the host modem calls back the remote.
Bool = <CHostDataEx>.EndSessHostOptsBoolReturns whether the host waits for another
connection or is cancelled after a normal end of
session.
The following values are valid:
■FALSE: Wait for next connection
■TRUE: Cancel host
Bool = <CHostDataEx>.EnableEndSessSecurityBoolReturns whether the end of session security
options are enabled for a normal end of session.
Byte = <CHostDataEx>.EndSessSecurityByteReturns the security option that is set for a
normal end of session.
The following values are valid:
■1: Log off user
■2: Restart host computer
■3: Lock computer
Bool = <CHostDataEx>.BlankHostBoolReturns the screen blanking option that is set.
Bool = <CHostDataEx>.AllowRemoteMouseBoolReturns whether the remote user has keyboard
and mouse control during a session.
Bool = <CHostDataEx>.RebootOnDisconnectBoolReturns whether the host computer is restarted
after the session ends.
Bool = <CHostDataEx>.PasswordAfterDiscBoolReturns whether the host user is logged off after
the session ends.
Bool = <CHostDataEx>.LogFailuresBoolReturns whether the log password failures
option is set.
Page 62
62 Visual Basic object definitions
CHostDataEx object
Table 2-67CHostDataEx properties and return values
PropertyReturn
Description
value
Bool = <CHostDataEx>.AllowDriveSecurityBoolReturns whether the drive security option is
enabled.
Bool = <CHostDataEx>.UseDirectoryServicesBoolReturns whether the directory services option is
enabled.
String = <CHostDataEx>.DirectoryServiceEntryStringReturns the directory service settings.
Visual Basic sample code for host functionality
The following Visual Basic sample code retrieves a host data object and modifies
its properties:
Private Sub Command1_Click()
Dim HostDataManager as Object
Dim HostData as Object
Dim s as string
'Create CHostDataManager object
Set HostDataManager = CreateObject(WINAWSVR.BEHOSTDATAMANAGER)
'display and change current directory
s = HostDataManager.CurrentDirectory()
MsgBox ( s )
HostDataManager.ChangeDirectory ("C:\dev\bin.w32\data")
s = HostDataManager.CurrentDirectory()
MsgBox ( s )
'retrieve remote data object
Set HostData = HostDataManager.RetrieveObject("pod.BHF", 2, 0)
'display some properties
s = HostData.AreaCode()
MsgBox (s)
s = HostData.PhoneNumber()
MsgBox (s)
'set some properties
RemoteData. HostData = "212"
Page 63
Awrem32 functions
RemoteData. HostData = "555-5555"
'write object to disk
HostData.WriteObject (0)
End Sub
Use the FindFirst and FindNext methods to display the host file in a directory as
follows:
Private Sub Command5_Click()
Dim HostDataManager as Object
Dim HostData as Object
Dim s as string
Set HostDataManager = CreateObject("WINAWSVR.BEHOSTDATAMANAGER")
HostDataManager.ChangeDirectory ("C:\dev\bin.w32\data")
HostDataManager.FindFirst "*", s
MsgBox (s)
HostDataManager.FindNext s
MsgBox (s)
63Visual Basic object definitions
End Sub
Awrem32 functions
The Awrem32 functions provide the parameters and return values for handling
connections between the host and remote computers.
awConnect(FileName)
Creates the connection to the host computer.
Table 2-68 defines the awConnect parameter.
Table 2-68awConnect parameter
ParameterDescription
Name as stringThe fully qualified .chf file name that contains information
about the host computer
Page 64
64 Visual Basic object definitions
Awrem32 functions
Table 2-69 defines the awConnect return value.
Table 2-69awConnect return value
Return valueDescription
BooleanTRUE if command executed
awDisconnect()
Disconnects the host computer.
Table 2-70 defines the return value.
Table 2-70awDisconnect() return value
Return valueDescription
BooleanAfter calling this function, the calling program must delete
the object (C++ - delete IAwrem32X*, VB – set ObjectName
= Nothing;).
FileXferFromHost(HostFile, RemoteFile)
Copies a file from the host computer to the remote computer. The parameters
can contain wildcard characters.
Table 2-71 defines the FileXferFromHost parameters.
Table 2-71FileXferFromHost parameters
ParameterDescription
HostFile as stringContains the fully qualified path and file name to be copied
from the host computer.
RemoteFile as stringContains the fully qualified destination path and file
name. The HostFile and RemoteFile strings do not have to
be identical.
Table 2-72 defines the FileXferFromHost return value.
Table 2-72FileXferFromHost return value
Return valueDescription
BooleanTRUE if command executed
Page 65
FileXferToHost(HostFile, RemoteFile)
Copies a file from the remote computer to the host computer. The parameters
can contain wildcard characters.
Table 2-73 defines the FileXferToHost parameters.
Table 2-73FileXferToHost parameters
ParameterDescription
HostFile as stringContains the fully qualified destination path and file name.
RemoteFile as stringContains the fully qualified path and file name to be copied
from the remote computer. The HostFile and RemoteFile
strings do not have to be identical.
Table 2-74 defines the FileXferToHost return value.
Table 2-74FileXferToHost return value
65Visual Basic object definitions
Awrem32 functions
Return valueDescription
BooleanTRUE if command executed
CreateFolderOnHost(FolderName)
Creates a new folder on the host computer. This function creates a temporary
folder on the remote computer, and then copies that folder to the host computer.
Table 2-75 defines the CreateFolderOnHost parameter.
Table 2-75CreateFolderOnHost parameter
ParameterDescription
FolderName as stringContains the drive and path to create the folder on the host
Table 2-76 defines the CreateFolderOnHost return values.
Table 2-76CreateFolderOnHost return values
Return valueDescription
computer
BooleanTRUE if command executed
Page 66
66 Visual Basic object definitions
Awrem32 functions
ExecuteHostFile(FileName)
Executes an existing file on the host computer. This function only executes
batch, command, and executable files. It does not execute files that are
associated with executables. For example, this function does not open Microsoft
Word if you execute a .doc file.
Table 2-77 defines the ExecuteHostFile parameter.
Table 2-77ExecuteHostFile parameter
ParameterDescription
FileName as stringContains the fully qualified path to the file on the host
Table 2-78 defines the ExecuteHostFile return value.
Table 2-78ExecuteHostFile return value
computer
GetError()
Return valueDescription
BooleanTRUE if command executed
Returns the last error as a string.
Table 2-79 defines the return value.
Table 2-79GetError() return value
Return valueDescription
StringReturns the last error generated in Awrem32
Page 67
ConnectionStatus()
Returns the current status of your connection to the host computer.
Table 2-80 defines the return value.
Table 2-80ConnectionStatus() return value
Return valueDescription
ShortThe possible values include the following:
67Visual Basic object definitions
Awrem32 functions
■-1 = Lost connection
■0 = No connection
■1 = Session connected
Page 68
68 Visual Basic object definitions
Awrem32 functions
Page 69
Visual C++ object
definitions
This chapter includes the following topics:
■About Visual C++ objects
■CRemoteDataManager methods
Chapter
3
■CRemoteData object
■CRemoteDataEx object
■CHostDataManager methods
■CHostData object
■CHostDataEx object
■Awrem32 functions
About Visual C++ objects
The pcAnywhere Automation Server provides the following components to
support OLE Automation:
■Winawsvr: Provides the information needed to connect to the pcAnywhere
Automation Server and access its interfaces
■Awrem32: Provides the information needed to control pcAnywhere
connections
Page 70
70 Visual C++ object definitions
About Visual C++ objects
The objects that are described in Table 3-1 comprise Winawsvr.
Table 3-1Winawsvr objects
ObjectDescriptionReference
CRemoteDataManagerProvides the methods for
creating, opening, modifying,
saving, and deleting
CRemoteData objects
CRemoteDataDefines the parameters for
accessing and controlling
pcAnywhere remote
functionality
CHostDataManagerProvides the methods for
creating, opening, modifying,
saving, and deleting CHostData
objects
CHostDataDefines the parameters for
accessing and controlling
pcAnywhere host functionality
See “CRemoteDataManager
methods” on page 71.
See “CRemoteData object”
on page 77.
See “CRemoteDataEx
object” on page 85.
See “CHostDataManager
methods” on page 86.
See “CRemoteData object”
on page 77.
See “CRemoteDataEx
object” on page 85.
Awrem32 has one object, which consists of eight interfaces to support remote
control and file transfer sessions.
See “Awrem32 functions” on page 104.
Some functions are no longer supported. However, object definitions are
provided for use with earlier versions.
For functions that require passwords, password values can be set but not
retrieved. This is for security purposes.
Page 71
CRemoteDataManager methods
The CRemoteDataManager methods provide the parameters and return values
for accessing and controlling CRemoteData objects.
BSTR CurrentDirectory();
Gets the full path name of the current directory in which pcAnywhere remote
objects are stored.
Table 3-2 defines the parameter.
Table 3-2BSTR CurrentDirectory(); parameter
ParameterDescription
BSTRThe full path name of the current pcAnywhere data
directory
71Visual C++ object definitions
CRemoteDataManager methods
BOOL ChangeDirectory(LPCTSTR lpszNewDirectory);
Changes the current directory in which pcAnywhere remote objects are stored.
Table 3-3 defines the parameter.
Table 3-3BOOL ChangeDirectory parameter
ParameterDescription
LPCTSTR lpszNewDirectoryName of an existing directory
Finds the first pcAnywhere remote object file (*.chf) in the current directory,
based on the specified file name pattern.
Table 3-5 defines the parameters.
Table 3-5BOOL FindFirst parameters
ParameterDescription
LPCTSTR lpszPatternFile name pattern to filter object files (an asterisk [*]
finds all files in the current directory)
BSTR FAR * pbstrFullQualNameReturn buffer for the full path name of the remote
object file that matches the specified pattern
Table 3-6 defines the return value.
Table 3-6BOOL FindFirst return value
Return valueDescription
BOOLTRUE if a remote object file matching the specified
pattern is found. The full path name of the matching
file is stored in pbstrFullQualName.
BOOL FindNext(BSTR FAR* pbstrFullQualName);
After FindFirst() has been successfully called to get the name of a remote object
file in the current directory, FindNext() can be called to find the next file that
matches the pattern, if any.
Table 3-7 defines the parameter.
Table 3-7BOOL FindNext parameter
ParameterDescription
BSTR FAR * pbstrFullQualNameReturn buffer for the full path name of the remote
object file that matches the pattern specified in the
original call to FindFirst()
Page 73
CRemoteDataManager methods
Table 3-8 defines the return value.
Table 3-8BOOL FindNext return value
Return valueDescription
BOOLTRUE if another remote object file matching the
pattern specified in the call to FindFirst() is found.
The full path name of the matching file is stored in
pbstrFullQualName.
LPDISPATCH RetrieveObject(LPCTSTR lpszFQName, short
wAccessMode, LPCTSTR lpszPassword);
Retrieves a CRemoteData object by file name.
Table 3-9 defines the parameters.
Table 3-9LPDISPATCH Retrieve Object parameters
73Visual C++ object definitions
ParameterDescription
LPCTSTR lpszFQNameThe fully qualified remote object file name to be
loaded.
short wAccessModeSpecifies 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
LPCTSTR lpszPasswordObject password. May be NULL.
LPDISPATCH RetrieveObjectEx(LPCTSTR lpszFQName, short
wAccessMode, LPCTSTR lpszPassword);
Retrieves a CRemoteDataEx object by file name.
Table 3-10 defines the parameters.
Table 3-10LPDISPATCH RetrieveObjectEx parameters
ParameterDescription
LPCTSTR lpszFQNameThe fully qualified remote object file name to be
loaded.
Page 74
74 Visual C++ object definitions
CRemoteDataManager methods
Table 3-10LPDISPATCH RetrieveObjectEx parameters
ParameterDescription
short wAccessModeSpecifies how this object is to be used. This relates to
LPCTSTR lpszPasswordObject password. May be NULL.
Table 3-11 defines the return value.
Table 3-11LPDISPATCH RetrieveObjectEx return value
Return valueDescription
the password protection. The options are as follows:
■0 = Not specified
■1 = View only
■2 = View and Modify
■3 = Execute
LPDISPATCHPointer to an OLE dispatch object. The object is a
CRemoteDataEx object.
For an example of how to attach this pointer to a
CRemoteDataEx object, see “Visual C++ sample code
for remote functionality” on page 85.
LPDISPATCH CreateObject(LPCTSTR lpszFQName);
Creates a CRemoteData object and returns an LPDISPATCH pointer to it.
Table 3-12 defines the parameter.
Table 3-12LPDISPATCH CreateObject parameter
ParameterDescription
LPCTSTR lpszFQNameThe fully qualified remote object file name for the
new object
Page 75
CRemoteDataManager methods
Table 3-13 defines the return value.
Table 3-13LPDISPATCH CreateObject return value
Return valueDescription
LPDISPATCHPointer to an OLE dispatch object. The object is a
CRemoteData object.
For an example of how to attach this pointer to a
CRemoteData object, see “Visual C++ sample code for
remote functionality” on page 85.
LPDISPATCH CreateObjectEx(LPCTSTR lpszFQName);
Creates a CRemoteDataEx object and returns an LPDISPATCH pointer to it.
Table 3-14 defines the parameter.
Table 3-14LPDISPATCH CreateObjectEx parameter
75Visual C++ object definitions
ParameterDescription
LPCTSTR lpszFQNameThe fully qualified remote object file name for the
new object
Table 3-15 defines the return value.
Table 3-15LPDISPATCH CreateObjectEx return value
Return valueDescription
LPDISPATCHPointer to an OLE dispatch object. The object is a
CRemoteDataEx object.
For an example of how to attach this pointer to a
CRemoteDataEx object, see “Visual C++ sample code
Indicates whether TAPI dialing properties should be used (location information)
(TRUE) or whether the phone number string should be used exactly as it appears
(FALSE).
The name of a TAPI device can also be used as a connection type. DEFAULT
TAPI uses the first TAPI device found on the system. To use a specific TAPI
device, use FirstConnectionType() / NextConnectionType() to search for
available devices.
79Visual C++ object definitions
Remote object Detail methods
When a remote object is assigned a connection type, the device details are set to
valid default values. The following connection types have advanced
configuration options that can be set in your application:
■BSTR FirstCountryCode(); and BSTR NextCountryCode();
■BOOL ReadObject(LPCTSTR lpszPassword);
■BOOL WriteObject(LPCTSTR lpszPassword);
short ConnectionTypes();
Returns the number of connection types available.
Table 3-20 defines the return value.
Table 3-20short ConnectionTypes(); return value
Return valueDescription
ShortThe number of connection types available on this
computer
BSTR FirstConnectionType(); and BSTR
NextConnectionType();
FirstConnectionType() and NextConnectionType() are used to iterate through
the available connection types. These functions return a BSTR, which is the
name of an available connection type. You can use these returned connection
types with the SetConnectionType() function.
Table 3-21 defines the return value.
Table 3-21BSTR FirstConnectionType(); and BSTR NextConnectionType();
return value
Return valueDescription
BSTRThe name of a supported connection device type
Returns TRUE if the connection type that is passed in exists on the computer.
Table 3-22 defines the parameter.
Table 3-22BOOL FindConnectionType parameter
ParameterDescription
LPCTSTR lpszConnectionTypeThe name of a connection device type
Table 3-23 defines the return value.
Table 3-23BOOL FindConnectionType return value
Return valueDescription
BOOLTRUE if this device type is available
83Visual C++ object definitions
short CountryCodes();
Returns the number of country codes available.
Table 3-24 defines the return value.
Table 3-24short CountryCodes(); return value
Return valueDescription
ShortThe number of country codes available
BSTR FirstCountryCode(); and BSTR NextCountryCode();
FirstCountryCode() and NextCountryCode() are used to iterate through the
available country codes. These functions return a BSTR, which is the name of an
available country code. You can use these returned values with the
SetCountryCode() function.
Table 3-25 defines the return value.
Table 3-25BSTR FirstCountryCode(); and BSTR NextCountryCode(); return
value
Return valueDescription
BSTRThe first or next country code string
Page 84
84 Visual C++ object definitions
CRemoteData object
BOOL ReadObject(LPCTSTR lpszPassword);
Reads the object data from the remote object file.
Table 3-26 defines the parameter.
Table 3-26BOOL ReadObject parameter
ParameterDescription
LPCTSTR lpszPasswordThe object password
Table 3-27 defines the return value.
Table 3-27BOOL ReadObject return value
Return valueDescription
BOOLTRUE if object is successfully read
BOOL WriteObject(LPCTSTR lpszPassword);
Writes the object data out to the remote object file.
Table 3-28 defines the parameter.
Table 3-28BOOL WriteObject parameter
ParameterDescription
LPCTSTR lpszPasswordThe object password
Table 3-29 defines the return value.
Table 3-29BOOL WriteObject return value
Return valueDescription
BOOLTRUE if object is successfully written
Page 85
CRemoteDataEx object
The CRemoteDataEx object contains the same functionality as the CRemoteData
object with the following additional Get and Set methods:
BSTR GetPrivateKey(); //Returns the PrivateKey information
void SetPrivateKey(LPCTSTR lpszNewValue);
BSTR GetCertificationName(); //Returns the Certification Name
void SetCertificationName(LPCTSTR lpszNewValue);
short GetEncryptionLevel(); //Returns the encryption level value
void SetEncryptionLevel(short nNewValue);
BOOL GetDenyLowerEncrypt(); //Returns the DenyLowerEncrypt value
void SetDenyLowerEncrypt(BOOL bNewValue);
BSTR GetAutoDomain(); //Returns the AutoDomain value
void SetAutoDomain(LPCTSTR lpszNewValue);
85Visual C++ object definitions
CRemoteDataEx object
Visual C++ sample code for remote functionality
The following sample C++ function creates a remote object, sets its connection
type to TCP/IP, sets the computer name to the TCP/IP address passed into the
function, and then launches the remote object:
Finds the first pcAnywhere host object file (*.bhf) in the current directory, based
on the specified file name pattern.
Table 3-33 defines the parameters.
Table 3-33BOOL FindFirst parameters
ParameterDescription
87Visual C++ object definitions
CHostDataManager methods
LPCTSTR lpszPatternFile name pattern to filter object files (an asterisk [*]
finds all host files in the current directory)
BSTR FAR * pbstrFullQualNameReturn buffer for the full path name of the remote
object file that matches the specified pattern
Table 3-34 defines the return value.
Table 3-34BOOL FindFirst return value
Return valueDescription
BOOLTRUE if a host object file matching the specified
pattern is found. The full path name of the matching
file is stored in pbstrFullQualName.
BOOL FindNext(BSTR FAR* pbstrFullQualName);
After FindFirst() has been successfully called to get the name of a host object file
in the current directory, FindNext() can be called to find the next file that
matches the pattern, if any.
Page 88
88 Visual C++ object definitions
CHostDataManager methods
Table 3-35 defines the parameter.
Table 3-35BOOL FindNext parameter
ParameterDescription
BSTR FAR * pbstrFullQualNameReturn buffer for the full path name of the host object
Table 3-36 defines the return value.
Table 3-36BOOL FindNext return value
Return valueDescription
BOOLTRUE if another host object file matching the pattern
file that matches the pattern specified in the original
call to FindFirst()
specified in the call to FindFirst() is found. The full
path name of the matching file is stored in
pbstrFullQualName.
LPDISPATCH RetrieveObject(LPCTSTR lpszFQName, short
wAccessMode, LPCTSTR lpszPassword);
Retrieves a CHostData object by file name.
Table 3-37 defines the parameters.
Table 3-37LPDISPATCH RetrieveObject parameters
ParameterDescription
LPCTSTR lpszFQNameThe fully qualified host object file name to be loaded.
short wAccessModeSpecifies 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
LPCTSTR lpszPasswordObject password. May be NULL.
Page 89
CHostDataManager methods
Table 3-38 defines the return value.
Table 3-38LPDISPATCH RetrieveObject return value
Return valueDescription
LPDISPATCHPointer to an OLE dispatch object. The object is a
CHostData object.
For an example of how to attach this pointer to a
CHostData object, see “Visual C++ sample code for
host functionality” on page 103.
LPDISPATCH RetrieveObjectEx(LPCTSTR lpszFQName, short
wAccessMode, LPCTSTR lpszPassword);
Retrieves a CHostDataEx object by file name.
Table 3-39 defines the parameters.
89Visual C++ object definitions
Table 3-39LPDISPATCH RetrieveObjectEx parameters
ParameterDescription
LPCTSTR lpszFQNameThe fully qualified host object file name to be loaded.
short wAccessModeSpecifies 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
LPCTSTR lpszPasswordObject password. May be NULL.
Table 3-40 defines the return value.
Table 3-40LPDISPATCH RetrieveObjectEx return value
Return valueDescription
LPDISPATCHPointer to an OLE dispatch object. The object is a
CHostDataEx object.
For an example of how to attach this pointer to a
CHostDataEx object, see “Visual C++ sample code for
host functionality” on page 103.
Page 90
90 Visual C++ object definitions
CHostDataManager methods
LPDISPATCH CreateObject(LPCTSTR lpszName);
Creates a CHostData object and returns an LPDISPATCH pointer to it.
Table 3-41 defines the parameter.
Table 3-41LPDISPATCH CreateObject parameter
ParameterDescription
LPCTSTR lpszFQNameThe fully qualified host object file name for the new
object
Table 3-42 defines the return value.
Table 3-42LPDISPATCH CreateObject return value
Return valueDescription
LPDISPATCHPointer to an OLE dispatch object. The object is a
CHostData object.
For an example of how to attach this pointer to a
CHostData object, see “Visual C++ sample code for
host functionality” on page 103.
LPDISPATCH CreateObjectEx(LPCTSTR lpszName);
Creates a CHostDataEx object and returns an LPDISPATCH pointer to it.
Table 3-43 defines the parameter.
Table 3-43LPDISPATCH CreateObjectEx parameter
ParameterDescription
LPCTSTR lpszFQNameThe fully qualified host object file name for the new
object
Table 3-44 defines the return value.
Table 3-44LPDISPATCH CreateObjectEx return value
Return valueDescription
LPDISPATCHPointer to an OLE dispatch object. The object is a
CHostDataEx object.
For an example of how to attach this pointer to a
CHostDataEx object, see “Visual C++ sample code for
Indicates whether TAPI dialing properties should be used (location information)
(TRUE) or whether the phone number string should be used exactly as it appears
(FALSE).
When a host object is assigned a connection type, the device details are set to
valid default values. The following connection types have advanced
configuration options that can be set in your application:
■COM devices
■NetBIOS devices
■NASI/NCSI devices
■ISDN via CAPI 2.0 (European ISDN only) devices
93Visual C++ object definitions
CHostData object
COM device details
The following code places the requested connection type on the host object’s list
of assigned connection types and makes it the current connection type when
processing subsequent device-specific method calls:
BOOL AssignConnection(LPCTSTR lpszNewValue);
If the requested connection type is already on the list of assigned connections,
the list of assigned connections does not change. Only the current connection
type is changed to the requested type. It is normal to call the AssignConnection
method on the same object multiple times in the course of getting and setting
connection-specific values.
AssignConnection returns TRUE if the connection type that is passed in exists
on the computer and is either successfully assigned or already assigned. It
returns FALSE if either the requested connection type does not exist on the
computer or the current assigned connection count is already at the maximum
allowed level.
A pcAnywhere host object can support up to two assigned connection types. The
AssignConnection method returns FALSE if it detects an attempt to exceed this
limit.
The following connection types are available:
■COM1
■COM2
■COM3
■COM4
Page 94
94 Visual C++ object definitions
CHostData object
■SPX
■NetBIOS
■TCP/IP
■LPT1
■LPT2
■LPT3
■LPT4
■ISDN via CAPI 2.0
■Infrared
■DEFAULT TAPI
The name of a TAPI device can also be used as a connection type. DEFAULT
TAPI uses the first TAPI device found in the system. To use a specific TAPI
device, use FirstConnectionType() and NextConnectionType() to search for
available devices.
The following code unassigns a connection type. After unassigning a connection
type, the remaining assigned connection, if any, becomes the current
connection type for subsequent device-specific method calls.
BOOL UnassignConnection(LPCTSTR lpszNewValue);
The following code sets the communications parity levels:
■BSTR FirstCountryCode(); and BSTR NextCountryCode();
■BOOL ReadObject(LPCTSTR lpszPassword);
■BOOL WriteObject(LPCTSTR lpszPassword);
short ConnectionTypes();
Returns the number of connection types available.
Table 3-49 defines the return value.
Table 3-49short Connection Types(); return value
Return valueDescription
ShortThe number of connection types available on this
computer
Page 98
98 Visual C++ object definitions
CHostData object
BSTR FirstConnectionType(); and BSTR
NextConnectionType();
FirstConnectionType() and NextConnectionType() are used to iterate through
the available connection types. The functions return a BSTR, which is the name
of an available connection type. You can use these returned connection types
with the SetConnectionType() function.
Table 3-50 defines the return value.
Table 3-50BSTR FirstConnectionType(); and BSTR NextConnectionType();
Return valueDescription
BSTRThe name of a supported connection device type
Returns TRUE if the connection type that is passed in exists on the computer.
Table 3-51 defines the parameter.
Table 3-51BOOL FindConnectionType parameter
ParameterDescription
LPCTSTR lpszConnectionTypeThe name of a connection device type
Table 3-52 defines the return value.
Table 3-52BOOL FindConnectionType return value
Return valueDescription
BOOLTRUE if this device type is available
short MaxAssignedConnections()
Returns the maximum number of connection types that can be assigned at the
same time (currently two).
Table 3-53 defines the return value.
Table 3-53short MaxAssignedConnections() return value
Return valueDescription
ShortThe maximum number of connection type
assignments
Page 99
CHostData object
short AssignedConnections()
Returns the number of assigned connection types.
Table 3-54 defines the return value.
Table 3-54short AssignedConnections() return value
Return valueDescription
ShortThe number of assigned connection types on this
computer
BSTR FirstAssignedConnection(); and
BSTR NextAssignedConnection();
FirstAssignedConnection() and NextAssignedConnection() are used to iterate
through the list of assigned connections. These functions return a BSTR, which
is the name of an assigned connection type. You can use these returned
connection types with the AssignConnection() function.
99Visual C++ object definitions
Table 3-55 defines the return value.
Table 3-55BSTR FirstAssignedConnection(); and BSTR
NextAssignedConnection(); return value
Return valueDescription
BSTRThe name of a supported connection device type
Returns TRUE if the connection type that is passed in is currently assigned on
the computer.
Table 3-56 defines the parameter.
Table 3-56BOOL FindAssignedConnection parameter
ParameterDescription
LPCTSTR lpszConnectionTypeThe name of a connection device type
Page 100
100 Visual C++ object definitions
CHostData object
Table 3-57 defines the return value.
Table 3-57BOOL FindAssignedConnection return value
Return valueDescription
BOOLTRUE if this device type is currently assigned
short CountryCodes();
Returns the number of country codes available.
Table 3-58 defines the return value.
Table 3-58short CountryCodes(); return value
Return valueDescription
ShortThe number of country codes available
BSTR FirstCountryCode(); and BSTR NextCountryCode();
FirstCountryCode() and NextCountryCode() are used to iterate through the list of
available country codes. The functions return a BSTR, which is the name of an
available country code. You can use these returned values with the
SetCountryCode() function.
Table 3-59 defines the return value.
Table 3-59BSTR FirstCountryCode(); and BSTR NextCountryCode(); return
value
Return valueDescription
BSTRThe first or next country code string
BOOL ReadObject(LPCTSTR lpszPassword);
Reads the object data from the host object file.
Table 3-60 defines the parameter.
Table 3-60BOOL ReadObject parameter
ParameterDescription
LPCTSTR lpszPasswordThe object password
Loading...
+ hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.