NetDial Module

Properties   Methods   Events   Config Settings   Errors  

The NetDial module can be used to call the Remote Access System (RAS) to initiate or break connections to remote hosts, list connections, and phonebook entries.

Syntax

IPWorks.Netdial

Remarks

The user can either directly provide a PhoneNumber, User, and Password, and optionally a Domain and CallbackNumber, or can get those entries from PhonebookEntry of Phonebook. The calls are blocking but progress information is given through the Status event, and Windows messages will come during connect or disconnect methods.

The user can get information on the phonebook entries and connections by calling the respective methods of the class. ConnectedEntry and PhonebookEntry events will fire with the required information.

Support is also provided for creating or deleting phonebook entries as well as for listing the various RAS devices supported by the system.

Property List


The following is the full list of the properties of the module with short descriptions. Click on the links for further details.

CallbackNumberThis property includes the callback number to give when directly dialing the remote machine.
DomainThis property includes the name of the domain to join when dialing the Remote Access System (RAS) connection.
EntryDeviceNameThis property includes the device of the phonebook entry pointed to by PhonebookEntry .
EntryDeviceTypeThis property includes the device type of the phonebook entry pointed to by PhonebookEntry .
EntryDNSServerThis property includes the DNS server of the phonebook entry pointed to by PhonebookEntry .
EntryIPAddressThis property includes the IP address of the phonebook entry pointed to by PhonebookEntry .
EntryPhoneNumberThis property includes the phone number for the phonebook entry pointed to by PhonebookEntry .
EntryWINSServerThis property includes the WINS server of the phonebook entry pointed to by PhonebookEntry .
HandleThis property includes the handle of the connection. It is 0 if it is invalid or not connected.
IdleThe current status of the module.
PasswordThis property includes the password to use when direct dialing the remote machine.
PhonebookThis property reads the PhonebookEntry when dialing the remote machine.
PhonebookEntryThis property includes the name of PhonebookEntry to use when dialing the remote machine.
PhoneNumberThis property includes the number to dial when directly dialing the remote machine without the help of a PhonebookEntry .
RASAvailableWhen set to True, the Remote Access System (RAS) is available.
TimeoutThis property includes a timeout for the module.
UserThis property includes the name of the login user when directly dialing the remote machine.

Method List


The following is the full list of the methods of the module with short descriptions. Click on the links for further details.

ConfigSets or retrieves a configuration setting.
ConnectThis method attempts to dial the PhonebookEntry from Phonebook .
CreateEntryThis method creates a PhonebookEntry .
DeleteEntryThis method deletes a PhonebookEntry .
DisconnectThis method disconnects the last successfully made connection.
DoEventsProcesses events from the internal message queue.
InterruptInterrupt the current method.
ListConnectionsThis method lists all of the current connections.
ListDevicesThis method lists all of the dial devices.
ListPhonebookThis method lists all of the entries in Phonebook .
ResetReset the module.
ShowDialDialogThis method shows the standard Remote Access System (RAS) dialog for dialing the PhonebookEntry from Phonebook .

Event List


The following is the full list of the events fired by the module with short descriptions. Click on the links for further details.

ConnectedEntryThis event is fired for every connected device when the ListConnections method is called.
DeviceThis event is fired for every dial device when the ListDevices method is called.
ErrorInformation about errors during data delivery.
PhonebookEntryThis event is fired for every Phonebook entry when the ListPhonebook method is called.
StatusThis event is fired during connection or disconnection attempts.

Config Settings


The following is a list of config settings for the module with short descriptions. Click on the links for further details.

IgnoreModemSpeakerWhether the module will ignore the default modem speaker settings.
IgnoreSoftwareCompressionWhether the module will ignore the default software compression settings.
OverrideEntrySettingWhether or not to use the module settings when dialing a phone book entry.
PausedStatesWhether the module will accept paused states.
PauseOnScriptTells the module to display a logon terminal.
SetModemSpeakerWhether the module will use the modem speaker.
SetSoftwareCompressionWhether the module will use software compression.
UseCustomScriptingTells the module to use custom script DLLs.
UsePrefixSuffixWhether or not to use the dialing prefix and suffix in the phone book.
UseRemoteDefaultGatewayWhether or not the entry should use the default gateway on the remote network.
VPNTypeSets the VPN Type when creating entries with NetDial.
BuildInfoInformation about the product's build.
CodePageThe system code page used for Unicode to Multibyte translations.
LicenseInfoInformation about the current license.
MaskSensitiveWhether sensitive data is masked in log messages.
UseInternalSecurityAPITells the module whether or not to use the system security libraries or an internal implementation.

CallbackNumber Property (NetDial Module)

This property includes the callback number to give when directly dialing the remote machine.

Syntax

public var callbackNumber: String {
  get {...}
  set {...}
}

@property (nonatomic,readwrite,assign,getter=callbackNumber,setter=setCallbackNumber:) NSString* callbackNumber;

- (NSString*)callbackNumber;
- (void)setCallbackNumber :(NSString*)newCallbackNumber;

Default Value

""

Remarks

This property contains the callback number to give when directly dialing the remote machine. User, PhoneNumber, and Password, and optionally Domain and CallbackNumber, are used when PhonebookEntry is empty.

Calling the Connect method attempts a connection.

Domain Property (NetDial Module)

This property includes the name of the domain to join when dialing the Remote Access System (RAS) connection.

Syntax

public var domain: String {
  get {...}
  set {...}
}

@property (nonatomic,readwrite,assign,getter=domain,setter=setDomain:) NSString* domain;

- (NSString*)domain;
- (void)setDomain :(NSString*)newDomain;

Default Value

""

Remarks

This property contains the name of the domain to join when dialing the RAS connection. User, PhoneNumber, and Password, and optionally Domain and CallbackNumber, are used when PhonebookEntry is empty.

Calling the Connect method attempts a connection.

EntryDeviceName Property (NetDial Module)

This property includes the device of the phonebook entry pointed to by PhonebookEntry .

Syntax

public var entryDeviceName: String {
  get {...}
  set {...}
}

@property (nonatomic,readwrite,assign,getter=entryDeviceName,setter=setEntryDeviceName:) NSString* entryDeviceName;

- (NSString*)entryDeviceName;
- (void)setEntryDeviceName :(NSString*)newEntryDeviceName;

Default Value

""

Remarks

This property contains the device of the phonebook entry pointed to by PhonebookEntry. This property is filled in automatically every time PhonebookEntry is set to an existing entry.

EntryDeviceType Property (NetDial Module)

This property includes the device type of the phonebook entry pointed to by PhonebookEntry .

Syntax

public var entryDeviceType: String {
  get {...}
  set {...}
}

@property (nonatomic,readwrite,assign,getter=entryDeviceType,setter=setEntryDeviceType:) NSString* entryDeviceType;

- (NSString*)entryDeviceType;
- (void)setEntryDeviceType :(NSString*)newEntryDeviceType;

Default Value

""

Remarks

This property contains the device type of the phonebook entry pointed to by PhonebookEntry. This property is filled in automatically every time PhonebookEntry is set to an existing entry.

EntryDNSServer Property (NetDial Module)

This property includes the DNS server of the phonebook entry pointed to by PhonebookEntry .

Syntax

public var entryDNSServer: String {
  get {...}
  set {...}
}

@property (nonatomic,readwrite,assign,getter=entryDNSServer,setter=setEntryDNSServer:) NSString* entryDNSServer;

- (NSString*)entryDNSServer;
- (void)setEntryDNSServer :(NSString*)newEntryDNSServer;

Default Value

""

Remarks

This property contains the DNS server of the phonebook entry pointed to by PhonebookEntry. This property is filled in automatically every time PhonebookEntry is set to an existing entry.

EntryIPAddress Property (NetDial Module)

This property includes the IP address of the phonebook entry pointed to by PhonebookEntry .

Syntax

public var entryIPAddress: String {
  get {...}
  set {...}
}

@property (nonatomic,readwrite,assign,getter=entryIPAddress,setter=setEntryIPAddress:) NSString* entryIPAddress;

- (NSString*)entryIPAddress;
- (void)setEntryIPAddress :(NSString*)newEntryIPAddress;

Default Value

""

Remarks

This property contains the IP address of the phonebook entry pointed to by PhonebookEntry. This property is filled in automatically every time PhonebookEntry is set to an existing entry.

EntryPhoneNumber Property (NetDial Module)

This property includes the phone number for the phonebook entry pointed to by PhonebookEntry .

Syntax

public var entryPhoneNumber: String {
  get {...}
  set {...}
}

@property (nonatomic,readwrite,assign,getter=entryPhoneNumber,setter=setEntryPhoneNumber:) NSString* entryPhoneNumber;

- (NSString*)entryPhoneNumber;
- (void)setEntryPhoneNumber :(NSString*)newEntryPhoneNumber;

Default Value

""

Remarks

This property contains the phone number for the phonebook entry pointed to by PhonebookEntry. This property is filled in automatically every time PhonebookEntry is set to an existing entry.

EntryWINSServer Property (NetDial Module)

This property includes the WINS server of the phonebook entry pointed to by PhonebookEntry .

Syntax

public var entryWINSServer: String {
  get {...}
  set {...}
}

@property (nonatomic,readwrite,assign,getter=entryWINSServer,setter=setEntryWINSServer:) NSString* entryWINSServer;

- (NSString*)entryWINSServer;
- (void)setEntryWINSServer :(NSString*)newEntryWINSServer;

Default Value

""

Remarks

This property contains the WINS server of the phonebook entry pointed to by PhonebookEntry. This property is filled in automatically every time PhonebookEntry is set to an existing entry.

Handle Property (NetDial Module)

This property includes the handle of the connection. It is 0 if it is invalid or not connected.

Syntax

public var handle: Int32 {
  get {...}
  set {...}
}

@property (nonatomic,readwrite,assign,getter=handle,setter=setHandle:) int handle;

- (int)handle;
- (void)setHandle :(int)newHandle;

Default Value

0

Remarks

This property is used when trying to disconnect a connection through the Disconnect method. The ConnectedEntry event provides the handle of each connection. Assigning an invalid value to this property and attempting to disconnect may cause the application to behave in an unpredictable manner.

Idle Property (NetDial Module)

The current status of the module.

Syntax

public var idle: Bool {
  get {...}
}

@property (nonatomic,readonly,assign,getter=idle) BOOL idle;

- (BOOL)idle;

Default Value

True

Remarks

Idle will be False if the component is currently busy (communicating and/or waiting for an answer), and True at all other times.

This property is read-only.

Password Property (NetDial Module)

This property includes the password to use when direct dialing the remote machine.

Syntax

public var password: String {
  get {...}
  set {...}
}

@property (nonatomic,readwrite,assign,getter=password,setter=setPassword:) NSString* password;

- (NSString*)password;
- (void)setPassword :(NSString*)newPassword;

Default Value

""

Remarks

This property contains the password to use when direct dialing the remote machine. User, PhoneNumber, and Password, and optionally Domain and CallbackNumber, are used when PhonebookEntry is empty.

Calling the Connect method attempts a connection.

Phonebook Property (NetDial Module)

This property reads the PhonebookEntry when dialing the remote machine.

Syntax

public var phonebook: String {
  get {...}
  set {...}
}

@property (nonatomic,readwrite,assign,getter=phonebook,setter=setPhonebook:) NSString* phonebook;

- (NSString*)phonebook;
- (void)setPhonebook :(NSString*)newPhonebook;

Default Value

""

Remarks

This property reads the PhonebookEntry when dialing the remote machine. This property is valuable only in Windows NT 4.0 and higher in cases in which multiple phonebooks can be specified. The PhonebookEntry is relative to Phonebook. If it is empty, the default phonebook is used.

PhonebookEntry Property (NetDial Module)

This property includes the name of PhonebookEntry to use when dialing the remote machine.

Syntax

public var phonebookEntry: String {
  get {...}
  set {...}
}

@property (nonatomic,readwrite,assign,getter=phonebookEntry,setter=setPhonebookEntry:) NSString* phonebookEntry;

- (NSString*)phonebookEntry;
- (void)setPhonebookEntry :(NSString*)newPhonebookEntry;

Default Value

""

Remarks

This property is read from the default phonebook (in Windows 95) or from the Phonebook property.

Note: This property must not be empty when dialing on Pocket PC (Windows CE).

When the class is initialized, it will attempt to populate this property with the system's default entry.

PhoneNumber Property (NetDial Module)

This property includes the number to dial when directly dialing the remote machine without the help of a PhonebookEntry .

Syntax

public var phoneNumber: String {
  get {...}
  set {...}
}

@property (nonatomic,readwrite,assign,getter=phoneNumber,setter=setPhoneNumber:) NSString* phoneNumber;

- (NSString*)phoneNumber;
- (void)setPhoneNumber :(NSString*)newPhoneNumber;

Default Value

""

Remarks

This property contains the number to dial when directly dialing the remote machine without the help of a PhonebookEntry. User, PhoneNumber, and Password, and optionally Domain and CallbackNumber, are used when PhonebookEntry is empty.

Calling the Connect method attempts a connection.

RASAvailable Property (NetDial Module)

When set to True, the Remote Access System (RAS) is available.

Syntax

public var rasAvailable: Bool {
  get {...}
}

@property (nonatomic,readonly,assign,getter=RASAvailable) BOOL RASAvailable;

- (BOOL)RASAvailable;

Default Value

True

Remarks

If this property is False, the class when attempting to connect. RAS must be installed before the class can be used.

This property is read-only.

Timeout Property (NetDial Module)

This property includes a timeout for the module.

Syntax

public var timeout: Int32 {
  get {...}
  set {...}
}

@property (nonatomic,readwrite,assign,getter=timeout,setter=setTimeout:) int timeout;

- (int)timeout;
- (void)setTimeout :(int)newTimeout;

Default Value

60

Remarks

If this property is set to 0, all operations will run uninterrupted until successful completion or an error condition is encountered.

If this property is set to a positive value, the class will wait for the operation to complete before returning control.

The default value for this property is 60 (seconds).

User Property (NetDial Module)

This property includes the name of the login user when directly dialing the remote machine.

Syntax

public var user: String {
  get {...}
  set {...}
}

@property (nonatomic,readwrite,assign,getter=user,setter=setUser:) NSString* user;

- (NSString*)user;
- (void)setUser :(NSString*)newUser;

Default Value

""

Remarks

This property contains the name of the login user when directly dialing the remote machine. User, PhoneNumber, and Password, and optionally Domain and CallbackNumber, are used when PhonebookEntry is empty.

Calling the Connect method attempts a connection.

Config Method (NetDial Module)

Sets or retrieves a configuration setting.

Syntax

public func config(configurationString: String) throws -> String
- (NSString*)config:(NSString*)configurationString;

Remarks

Config is a generic method available in every class. It is used to set and retrieve configuration settings for the class.

These settings are similar in functionality to properties, but they are rarely used. In order to avoid "polluting" the property namespace of the class, access to these internal properties is provided through the Config method.

To set a configuration setting named PROPERTY, you must call Config("PROPERTY=VALUE"), where VALUE is the value of the setting expressed as a string. For boolean values, use the strings "True", "False", "0", "1", "Yes", or "No" (case does not matter).

To read (query) the value of a configuration setting, you must call Config("PROPERTY"). The value will be returned as a string.

Connect Method (NetDial Module)

This method attempts to dial the PhonebookEntry from Phonebook .

Syntax

public func connect() throws -> Void
- (void)connect;

Remarks

This method attempts to dial the PhonebookEntry from Phonebook. If it is empty, then the PhoneNumber, CallbackNumber, and Domain (if applicable) are used to connect. The class does not return until the operation is completed, but during this time, Status events are fired showing the ongoing progress.

Example 1. Dialing a Phonebook:

NetDialControl.Phonebook = "MyPhonebook" NetDialControl.Connect()

Example 2. Direct Dialing a Phone Number:

NetDialControl.PhoneNumber = "MyPhonebook" NetDialControl.User = "username" NetDialControl.Password = "mypassword" NetDialControl.Connect()

Note: Direct dialing is not supported on Pocket PC (Windows CE).

CreateEntry Method (NetDial Module)

This method creates a PhonebookEntry .

Syntax

public func createEntry() throws -> Void
- (void)createEntry;

Remarks

This method creates a new phonebook entry PhonebookEntry with the values in EntryPhoneNumber, EntryDNSServer, EntryWINSServer, EntryIPAddress, and EntryDeviceName. If the entry already exists or the entry cannot be created, the class .

Example. Creating a New Phonebook Entry:

NetDialControl.PhonebookEntry = "NewEntry" NetDialControl.EntryPhoneNumber = "5555555" NetDialControl.CreateEntry()

DeleteEntry Method (NetDial Module)

This method deletes a PhonebookEntry .

Syntax

public func deleteEntry() throws -> Void
- (void)deleteEntry;

Remarks

This method deletes the phonebook entry specified by PhonebookEntry and Phonebook.

Disconnect Method (NetDial Module)

This method disconnects the last successfully made connection.

Syntax

public func disconnect() throws -> Void
- (void)disconnect;

Remarks

This method disconnects the last successfully made connection or the current one if the call is made within a ConnectedEntry event.

DoEvents Method (NetDial Module)

Processes events from the internal message queue.

Syntax

public func doEvents() throws -> Void
- (void)doEvents;

Remarks

When DoEvents is called, the class processes any available events. If no events are available, it waits for a preset period of time, and then returns.

Interrupt Method (NetDial Module)

Interrupt the current method.

Syntax

public func interrupt() throws -> Void
- (void)interrupt;

Remarks

If there is no method in progress, Interrupt simply returns, doing nothing.

ListConnections Method (NetDial Module)

This method lists all of the current connections.

Syntax

public func listConnections() throws -> Void
- (void)listConnections;

Remarks

This method lists all of the connections in all devices and gives the results in ConnectedEntry events.

ListDevices Method (NetDial Module)

This method lists all of the dial devices.

Syntax

public func listDevices() throws -> Void
- (void)listDevices;

Remarks

This method lists all of the dial devices. The results are provided through the Device event.

ListPhonebook Method (NetDial Module)

This method lists all of the entries in Phonebook .

Syntax

public func listPhonebook() throws -> Void
- (void)listPhonebook;

Remarks

This method lists all of the entries in Phonebook (Windows 95 has only one default Phonebook). Entries are given in PhonebookEntry events.

Reset Method (NetDial Module)

Reset the component.

Syntax

public func reset() throws -> Void
- (void)reset;

Remarks

This method will reset the class's properties to their default values.

ShowDialDialog Method (NetDial Module)

This method shows the standard Remote Access System (RAS) dialog for dialing the PhonebookEntry from Phonebook .

Syntax

public func showDialDialog() throws -> Void
- (void)showDialDialog;

Remarks

This method shows the standard RAS dialog for dialing the PhonebookEntry from Phonebook. The class will display the standard RAS dialog box for PhonebookEntry and allow the dial to take place with user interaction. If you prefer the dial to occur without user interaction, use the Connect method.

ConnectedEntry Event (NetDial Module)

This event is fired for every connected device when the ListConnections method is called.

Syntax

func onConnectedEntry(handle: Int32, entry: String, deviceName: String, deviceType: String, statusDescription: String)
- (void)onConnectedEntry:(int)handle :(NSString*)entry :(NSString*)deviceName :(NSString*)deviceType :(NSString*)statusDescription;

Remarks

The Handle parameter can be used to disconnect the entry. You should assign Handle to the Handle property and then call the Disconnect method.

Device Event (NetDial Module)

This event is fired for every dial device when the ListDevices method is called.

Syntax

func onDevice(deviceName: String, deviceType: String)
- (void)onDevice:(NSString*)deviceName :(NSString*)deviceType;

Remarks

DeviceName provides the name of the device, and DeviceType provides the corresponding device type (e.g., 'modem').

Error Event (NetDial Module)

Information about errors during data delivery.

Syntax

func onError(errorCode: Int32, description: String)
- (void)onError:(int)errorCode :(NSString*)description;

Remarks

The Error event is fired in case of exceptional conditions during message processing. Normally the class .

ErrorCode contains an error code and Description contains a textual description of the error. For a list of valid error codes and their descriptions, please refer to the Error Codes section.

PhonebookEntry Event (NetDial Module)

This event is fired for every Phonebook entry when the ListPhonebook method is called.

Syntax

func onPhonebookEntry(entry: String)
- (void)onPhonebookEntry:(NSString*)entry;

Remarks

To get extended entry information, set the PhonebookEntry property to the value supplied in the Entry parameter.

Status Event (NetDial Module)

This event is fired during connection or disconnection attempts.

Syntax

func onStatus(operation: Int32, statusCode: Int32, operationDescription: String, statusDescription: String)
- (void)onStatus:(int)operation :(int)statusCode :(NSString*)operationDescription :(NSString*)statusDescription;

Remarks

The Operation parameter indicates the operation currently in progress.

The StatusCode shows the status of the operation.

The OperationDescription and StatusDescription parameters are the corresponding descriptions.

StatusCodeStatusDescription
0Open port
1Port opened
2Connect device
3Device connected
4All devices connected
5Authenticate
6Authenticate: notify
7Authentication: retry
8Authentication: callback
9Authentication: change password
10Authentication: project
11Authentication: link speed
12Authentication: acknowledge
13Reauthentication
14Authenticated
15Prepare for callback
16Wait for modem reset
17Wait for modem callback
18Projected
19Start authentication
20Callback complete
21Logon network
0x1000Interactive
4097Retry authentication
4098Callback set by Caller
4099Password expired
8192Connected
8193Disconnected

Config Settings (NetDial Module)

The class accepts one or more of the following configuration settings. Configuration settings are similar in functionality to properties, but they are rarely used. In order to avoid "polluting" the property namespace of the class, access to these internal properties is provided through the Config method.

NetDial Config Settings

IgnoreModemSpeaker:   Whether the class will ignore the default modem speaker settings.

Setting this value to True will cause the class to ignore the modem speaker settings in the Remote Access System (RAS) phonebook, and it will use the setting specified by SetModemSpeaker. If it is False, the class uses the modem speaker setting that is in the RAS phonebook, and it then ignores the setting specified by the SetModemSpeaker.

IgnoreSoftwareCompression:   Whether the class will ignore the default software compression settings.

If this is value is set to True, the class ignores the software compression setting that is in the RAS phonebook, and it uses the setting specified by SetSoftwareCompression. If it is set to False, the class uses the software compression setting that is in the RAS phonebook, and it then ignores the setting specified by SetSoftwareCompression.

OverrideEntrySetting:   Whether or not to use the class settings when dialing a phone book entry.

If this is value is set to True, the class will use PhoneNumber, CallBackNumber, User, Password, and Domain as specified in the class, instead of the value specified in the preexisting phonebook entry.

PausedStates:   Whether the class will accept paused states.

If this is value is set to True, the class will accept paused states. Paused states include terminal mode, retry logon, change password, set callback number, and EAP authentication. If it is set to False, the class will report a fatal error if it enters a paused state.

PauseOnScript:   Tells the class to display a logon terminal.

This value is used internally by the system for Windows-95-style logon script execution. If this is value is set to True, a logon script will be displayed in a terminal window visible to the user. Applications should not set this value.

SetModemSpeaker:   Whether the class will use the modem speaker.

This configuration value determines whether or not the modem speaker will sound during a connection. If IgnoreModemSpeaker is False, the class ignores the value of SetModemSpeaker, and it sets the modem speaker based on the RAS phonebook setting or the default setting.

SetSoftwareCompression:   Whether the class will use software compression.

This configuration value determines whether or not the class uses software compression for the modem connection. If IgnoreSoftwareCompression is False, the class ignores the value of SetSoftwareCompression, and it sets the software compression state based on the RAS phonebook setting or the default setting.

UseCustomScripting:   Tells the class to use custom script DLLs.

This configuration setting specifies that the class should invoke a custom-scripting DLL (dynamic link library) after establishing the connection to the server. The class can invoke the DLL only if all of the following conditions are met: UseCustomScripting is specifically set to True. A custom-scripting DLL is correctly registered with the system. The CustomScript option is specified in the phonebook entry. Note: This option is not supported in Windows 2000 and NT.

UsePrefixSuffix:   Whether or not to use the dialing prefix and suffix in the phone book.

If this is value is set to True, the class will use the prefix and suffix that are stored in the RAS phonebook. If it is False, the class will ignore the prefix and suffix.

UseRemoteDefaultGateway:   Whether or not the entry should use the default gateway on the remote network.

UseRemoteDefaultGateway is used when creating a new entry. By default, this value is True, and it tells the entry created that it should forward data that cannot be sent on the local network to the dial-up connection.

Note: This option is valid only when a local area network connection and dial-up connection both exist simultaneously.

VPNType:   Sets the VPN Type when creating entries with NetDial.

The supported values include the following:

0 VPN_DEFAULT
1 VPN_PPTP
2 VPN_L2TP
3 VPN_SSTP

Note: This configuration setting is available only in .NET.

Base Config Settings

BuildInfo:   Information about the product's build.

When queried, this setting will return a string containing information about the product's build.

CodePage:   The system code page used for Unicode to Multibyte translations.

The default code page is Unicode UTF-8 (65001).

The following is a list of valid code page identifiers:

IdentifierName
037IBM EBCDIC - U.S./Canada
437OEM - United States
500IBM EBCDIC - International
708Arabic - ASMO 708
709Arabic - ASMO 449+, BCON V4
710Arabic - Transparent Arabic
720Arabic - Transparent ASMO
737OEM - Greek (formerly 437G)
775OEM - Baltic
850OEM - Multilingual Latin I
852OEM - Latin II
855OEM - Cyrillic (primarily Russian)
857OEM - Turkish
858OEM - Multilingual Latin I + Euro symbol
860OEM - Portuguese
861OEM - Icelandic
862OEM - Hebrew
863OEM - Canadian-French
864OEM - Arabic
865OEM - Nordic
866OEM - Russian
869OEM - Modern Greek
870IBM EBCDIC - Multilingual/ROECE (Latin-2)
874ANSI/OEM - Thai (same as 28605, ISO 8859-15)
875IBM EBCDIC - Modern Greek
932ANSI/OEM - Japanese, Shift-JIS
936ANSI/OEM - Simplified Chinese (PRC, Singapore)
949ANSI/OEM - Korean (Unified Hangul Code)
950ANSI/OEM - Traditional Chinese (Taiwan; Hong Kong SAR, PRC)
1026IBM EBCDIC - Turkish (Latin-5)
1047IBM EBCDIC - Latin 1/Open System
1140IBM EBCDIC - U.S./Canada (037 + Euro symbol)
1141IBM EBCDIC - Germany (20273 + Euro symbol)
1142IBM EBCDIC - Denmark/Norway (20277 + Euro symbol)
1143IBM EBCDIC - Finland/Sweden (20278 + Euro symbol)
1144IBM EBCDIC - Italy (20280 + Euro symbol)
1145IBM EBCDIC - Latin America/Spain (20284 + Euro symbol)
1146IBM EBCDIC - United Kingdom (20285 + Euro symbol)
1147IBM EBCDIC - France (20297 + Euro symbol)
1148IBM EBCDIC - International (500 + Euro symbol)
1149IBM EBCDIC - Icelandic (20871 + Euro symbol)
1200Unicode UCS-2 Little-Endian (BMP of ISO 10646)
1201Unicode UCS-2 Big-Endian
1250ANSI - Central European
1251ANSI - Cyrillic
1252ANSI - Latin I
1253ANSI - Greek
1254ANSI - Turkish
1255ANSI - Hebrew
1256ANSI - Arabic
1257ANSI - Baltic
1258ANSI/OEM - Vietnamese
1361Korean (Johab)
10000MAC - Roman
10001MAC - Japanese
10002MAC - Traditional Chinese (Big5)
10003MAC - Korean
10004MAC - Arabic
10005MAC - Hebrew
10006MAC - Greek I
10007MAC - Cyrillic
10008MAC - Simplified Chinese (GB 2312)
10010MAC - Romania
10017MAC - Ukraine
10021MAC - Thai
10029MAC - Latin II
10079MAC - Icelandic
10081MAC - Turkish
10082MAC - Croatia
12000Unicode UCS-4 Little-Endian
12001Unicode UCS-4 Big-Endian
20000CNS - Taiwan
20001TCA - Taiwan
20002Eten - Taiwan
20003IBM5550 - Taiwan
20004TeleText - Taiwan
20005Wang - Taiwan
20105IA5 IRV International Alphabet No. 5 (7-bit)
20106IA5 German (7-bit)
20107IA5 Swedish (7-bit)
20108IA5 Norwegian (7-bit)
20127US-ASCII (7-bit)
20261T.61
20269ISO 6937 Non-Spacing Accent
20273IBM EBCDIC - Germany
20277IBM EBCDIC - Denmark/Norway
20278IBM EBCDIC - Finland/Sweden
20280IBM EBCDIC - Italy
20284IBM EBCDIC - Latin America/Spain
20285IBM EBCDIC - United Kingdom
20290IBM EBCDIC - Japanese Katakana Extended
20297IBM EBCDIC - France
20420IBM EBCDIC - Arabic
20423IBM EBCDIC - Greek
20424IBM EBCDIC - Hebrew
20833IBM EBCDIC - Korean Extended
20838IBM EBCDIC - Thai
20866Russian - KOI8-R
20871IBM EBCDIC - Icelandic
20880IBM EBCDIC - Cyrillic (Russian)
20905IBM EBCDIC - Turkish
20924IBM EBCDIC - Latin-1/Open System (1047 + Euro symbol)
20932JIS X 0208-1990 & 0121-1990
20936Simplified Chinese (GB2312)
21025IBM EBCDIC - Cyrillic (Serbian, Bulgarian)
21027Extended Alpha Lowercase
21866Ukrainian (KOI8-U)
28591ISO 8859-1 Latin I
28592ISO 8859-2 Central Europe
28593ISO 8859-3 Latin 3
28594ISO 8859-4 Baltic
28595ISO 8859-5 Cyrillic
28596ISO 8859-6 Arabic
28597ISO 8859-7 Greek
28598ISO 8859-8 Hebrew
28599ISO 8859-9 Latin 5
28605ISO 8859-15 Latin 9
29001Europa 3
38598ISO 8859-8 Hebrew
50220ISO 2022 Japanese with no halfwidth Katakana
50221ISO 2022 Japanese with halfwidth Katakana
50222ISO 2022 Japanese JIS X 0201-1989
50225ISO 2022 Korean
50227ISO 2022 Simplified Chinese
50229ISO 2022 Traditional Chinese
50930Japanese (Katakana) Extended
50931US/Canada and Japanese
50933Korean Extended and Korean
50935Simplified Chinese Extended and Simplified Chinese
50936Simplified Chinese
50937US/Canada and Traditional Chinese
50939Japanese (Latin) Extended and Japanese
51932EUC - Japanese
51936EUC - Simplified Chinese
51949EUC - Korean
51950EUC - Traditional Chinese
52936HZ-GB2312 Simplified Chinese
54936Windows XP: GB18030 Simplified Chinese (4 Byte)
57002ISCII Devanagari
57003ISCII Bengali
57004ISCII Tamil
57005ISCII Telugu
57006ISCII Assamese
57007ISCII Oriya
57008ISCII Kannada
57009ISCII Malayalam
57010ISCII Gujarati
57011ISCII Punjabi
65000Unicode UTF-7
65001Unicode UTF-8
The following is a list of valid code page identifiers for Mac OS only:
IdentifierName
1ASCII
2NEXTSTEP
3JapaneseEUC
4UTF8
5ISOLatin1
6Symbol
7NonLossyASCII
8ShiftJIS
9ISOLatin2
10Unicode
11WindowsCP1251
12WindowsCP1252
13WindowsCP1253
14WindowsCP1254
15WindowsCP1250
21ISO2022JP
30MacOSRoman
10UTF16String
0x90000100UTF16BigEndian
0x94000100UTF16LittleEndian
0x8c000100UTF32String
0x98000100UTF32BigEndian
0x9c000100UTF32LittleEndian
65536Proprietary

LicenseInfo:   Information about the current license.

When queried, this setting will return a string containing information about the license this instance of a class is using. It will return the following information:

  • Product: The product the license is for.
  • Product Key: The key the license was generated from.
  • License Source: Where the license was found (e.g., RuntimeLicense, License File).
  • License Type: The type of license installed (e.g., Royalty Free, Single Server).
  • Last Valid Build: The last valid build number for which the license will work.
MaskSensitive:   Whether sensitive data is masked in log messages.

In certain circumstances it may be beneficial to mask sensitive data, like passwords, in log messages. Set this to to mask sensitive data. The default is .

This setting only works on these classes: AS3Receiver, AS3Sender, Atom, Client(3DS), FTP, FTPServer, IMAP, OFTPClient, SSHClient, SCP, Server(3DS), Sexec, SFTP, SFTPServer, SSHServer, TCPClient, TCPServer.

UseInternalSecurityAPI:   Tells the class whether or not to use the system security libraries or an internal implementation.

When set to , the class will use the system security libraries by default to perform cryptographic functions where applicable.

Setting this setting to tells the class to use the internal implementation instead of using the system security libraries.

This setting is set to by default on all platforms.

Trappable Errors (NetDial Module)

NetDial Errors

143   Busy executing current method.
200   Cannot load the RASAPI library.
201   Cannot access the functions of RASAPI library.
300   Cannot load the RAS library.
301   Cannot access the functions of RAS library.
302   Entry already exists.
303   Error dialing entry. Description contains more detail.
600   An operation is pending.
601   The port handle is invalid.
602   The port is already open.
603   The caller's buffer is too small.
604   The wrong information is specified.
605   Cannot set port information.
606   The port is not connected.
607   The event is invalid.
608   The device does not exist.
609   The device type does not exist.
610   The buffer is invalid.
611   The route is not available.
612   The route is not allocated.
613   Invalid compression specified.
614   Out of buffers.
615   The port was not found.
616   An asynchronous request is pending.
617   The port or device is already disconnecting.
618   The port is not open.
619   The port is disconnected.
620   There are no endpoints.
621   Cannot open the phonebook file.
622   Cannot load the phonebook file.
623   Cannot find the phonebook entry.
624   Cannot write the phonebook file.
625   Invalid information found in the phonebook.
626   Cannot load a string.
627   Cannot find key.
628   The port was disconnected.
629   The port was disconnected by the remote machine.
630   The port was disconnected due to hardware failure.
631   The port was disconnected by the user.
632   The structure size is incorrect.
633   The port is already in use or is not configured for Remote Access dial-out.
634   Cannot register your computer on the remote network.
635   Unknown error.
636   The wrong device is attached to the port.
637   The string could not be converted.
638   The request has timed out.
639   No asynchronous net available.
640   A NetBIOS error has occurred.
641   The server cannot allocate the NetBIOS resources needed to support the client.
642   One of your NetBIOS names is already registered on the remote network.
643   A network adapter at the server failed.
644   You will not receive network message popups.
645   Internal authentication error.
646   The account is not permitted to log on at this time of day.
647   The account is disabled.
648   The password has expired.
649   The account does not have Remote Access permission.
650   The Remote Access server is not responding.
651   Your modem (or other connecting device) has reported an error.
652   Unrecognized response from the device.
653   A macro required by the device was not found in the device .INF file section.
654   A command or response in the device .INF file section refers to an undefined macro.
655   The <message> macro was not found in the device .INF file section.
656   The <defaultoff> macro in the device .INF file section contains an undefined macro.
657   The device .INF file could not be opened.
658   The device name in the device .INF or media .INI file is too long.
659   The media .INI file refers to an unknown device name.
660   The device .INF file contains no responses for the command.
661   The device .INF file is missing a command.
662   Attempted to set a macro not listed in device .INF file section.
663   The media .INI file refers to an unknown device type.
664   Cannot allocate memory.
665   The port is not configured for Remote Access.
666   Your modem (or other connecting device) is not functioning.
667   Cannot read the media .INI file.
668   The connection dropped.
669   The usage parameter in the media .INI file is invalid.
670   Cannot read the section name from the media .INI file.
671   Cannot read the device type from the media .INI file.
672   Cannot read the device name from the media .INI file.
673   Cannot read the usage from the media .INI file.
674   Cannot read the maximum connection bps rate from the media .INI file.
675   Cannot read the maximum carrier bps rate from the media .INI file.
676   The line is busy.
677   A person answered instead of a modem.
678   There is no answer.
679   Cannot detect carrier.
680   There is no dial tone.
681   General error reported by device.
682   ERROR WRITING SECTIONNAME
683   ERROR WRITING DEVICETYPE
684   ERROR WRITING DEVICENAME
685   ERROR WRITING MAXCONNECTBPS
686   ERROR WRITING MAXCARRIERBPS
687   ERROR WRITING USAGE
688   ERROR WRITING DEFAULTOFF
689   ERROR READING DEFAULTOFF
690   ERROR EMPTY INI FILE
691   Access denied because username or password is invalid on the domain.
692   Hardware failure in port or attached device.
693   ERROR NOT BINARY MACRO
694   ERROR DCB NOT FOUND
695   ERROR STATE MACHINES NOT STARTED
696   ERROR STATE MACHINES ALREADY STARTED
697   ERROR PARTIAL RESPONSE LOOPING
698   A response keyname in the device .INF file is not in the expected format.
699   The device response caused a buffer overflow.
700   The expanded command in the device .INF file is too long.
701   The device moved to a bps rate not supported by the COM driver.
702   Device response received when none expected.
703   ERROR INTERACTIVE MODE
704   ERROR BAD CALLBACK NUMBER
705   ERROR INVALID AUTH STATE
706   ERROR WRITING INITBPS
707   X.25 diagnostic indication.
708   The account has expired.
709   Error changing password on domain.
710   Serial overrun errors were detected while communicating with your modem.
711   RasMan initialization failure. Check the event log.
712   Biplex port is initializing. Wait a few seconds and redial.
713   No active ISDN lines are available.
714   Not enough ISDN channels are available to make the call.
715   Too many errors occurred because of poor phone line quality.
716   The Remote Access IP configuration is unusable.
717   No IP addresses are available in the static pool of Remote Access IP addresses.
718   PPP timeout.
719   PPP terminated by remote machine.
720   No PPP control protocols configured.
721   Remote PPP peer is not responding.
722   The PPP packet is invalid.
723   The phone number, including prefix and suffix, is too long.
724   The IPX protocol cannot dial-out on the port because the computer is an IPX router.
725   The IPX protocol cannot dial-in on the port because the IPX router is not installed.
726   The IPX protocol cannot be used for dial-out on more than one port at a time.
727   Cannot access TCPCFG.DLL.
728   Cannot find an IP adapter bound to Remote Access.
729   Serial Line Internet Protocol (SLIP) cannot be used unless the IP protocol is installed.
730   Computer registration is not complete.
731   The protocol is not configured.
732   The PPP negotiation is not converging.
733   The PPP control protocol for this network protocol is not available on the server.
734   The PPP link control protocol terminated.
735   The requested address was rejected by the server.
736   The remote computer terminated the control protocol.
737   Loopback detected.
738   The server did not assign an address.
739   The remote server cannot use the Windows NT encrypted password.
740   The TAPI devices configured for Remote Access failed to initialize or were not installed correctly.
741   The local computer does not support encryption.
742   The remote server does not support encryption.
743   The remote server requires encryption.
744   Cannot use the IPX net number assigned by the remote server. Check the event log.
745   ERROR_INVALID_SMM
746   ERROR_SMM_UNINITIALIZED
747   ERROR_NO_MAC_FOR_PORT
748   ERROR_SMM_TIMEOUT
749   ERROR_BAD_PHONE_NUMBER
750   ERROR_WRONG_MODULE
751   The callback number contains an invalid character. Only the following 18 characters are allowed: 0 to 9, T, P, W, (, ), -, @, and space.
752   A syntax error was encountered while processing a script.
753   The connection could not be disconnected because it was created by the multiprotocol router.
754   The system could not find the multilink bundle.
755   The system cannot perform automated dial because this connection has a custom dialer specified.
756   This connection is already being dialed.
757   Remote Access services could not be started automatically. Additional information is provided in the event log.
758   Internet Connection Sharing is already enabled on the connection.
759   An error occurred while the existing Internet Connection Sharing settings were being changed.
760   An error occurred while routing capabilities were being enabled.
761   An error occurred while Internet Connection Sharing was being enabled for the connection.
762   An error occurred while the local network was being configured for sharing.
763   Internet Connection Sharing cannot be enabled. There is more than one LAN connection other than the connection to be shared.
764   No smart card reader is installed.
765   Internet Connection Sharing cannot be enabled. A LAN connection is already configured with the IP address that is required for automatic IP addressing.
766   A certificate could not be found. Connections that use the L2TP protocol over IPSec require the installation of a machine certificate, also known as a computer certificate.
767   Internet Connection Sharing (ICS) cannot be enabled. The LAN connection selected as the private network has more than one IP address configured. Please reconfigure the LAN connection with a single IP address before enabling ICS.
768   The connection attempt failed because of failure to encrypt data.
769   The specified destination is not reachable.
770   The remote computer rejected the connection attempt.
771   The connection attempt failed because the network is busy.
772   The remote computer's network hardware is incompatible with the type of call requested.
773   The connection attempt failed because the destination number has changed.
774   The connection attempt failed because of a temporary failure. Try connecting again.
775   The call was blocked by the remote computer.
776   The call could not be connected because the remote computer has invoked the Do Not Disturb feature.
777   The connection attempt failed because the modem (or other connecting device on the remote computer is out of order.
778   It was not possible to verify the identity of the server.
779   To dial-out using this connection you must use a smart card.
780   An attempted function is not valid for this connection.
781   The connection requires a certificate, and no valid certificate was found. For further assistance, click More Info or search Help and Support Center for this error number.
782   Internet Connection Sharing (ICS) and Internet Connection Firewall (ICF) cannot be enabled because outing and Remote Access have been enabled on this computer. To enable ICS or ICF, first disable Routing and Remote Access. For more information about Routing and Remote Access, ICS, or ICF, see Help and Support.
783   Internet Connection Sharing (ICS) cannot be enabled. The LAN connection selected as the private network is either not present, or is disconnected from the network. Please ensure that the LAN adapter is connected before enabling ICS.
784   You cannot dial using this connection at logon time, because it is configured to use a username different than the one on the smart card. If you want to use it at logon time, you must configure it to use the username on the smart card.
785   You cannot dial using this connection at logon time, because it is not configured to use a smart card. If you want to use it at logon time, you must edit the properties of this connection so that it uses a smart card.
786   The L2TP connection attempt failed because there is no valid machine certificate on your computer for security authentication.
787   The L2TP connection attempt failed because the security layer could not authenticate the remote computer.
788   The L2TP connection attempt failed because the security layer could not negotiate compatible parameters with the remote computer.
789   The L2TP connection attempt failed because the security layer encountered a processing error during initial negotiations with the remote computer.
790   The L2TP connection attempt failed because certificate validation on the remote computer failed.
791   The L2TP connection attempt failed because security policy for the connection was not found.
792   The L2TP connection attempt failed because security negotiation timed out.
793   The L2TP connection attempt failed because an error occurred while negotiating security.
794   The Framed Protocol RADIUS attribute for this user is not PPP.
795   The Tunnel Type RADIUS attribute for this user is not correct.
796   The Service Type RADIUS attribute for this user is neither Framed nor Callback Framed.
797   A connection to the remote computer could not be established because the modem was not found or was busy. For further assistance, click More Info or search Help and Support Center for this error number.
798   A certificate could not be found that can be used with this Extensible Authentication Protocol.
799   Internet Connection Sharing (ICS) cannot be enabled due to an IP address conflict on the network. ICS requires the host be configured to use 192.168.0.1. Please ensure that no other client on the network is configured to use 192.168.0.1.
800   Unable to establish the VPN connection. The VPN server may be unreachable, or security parameters may not be configured properly for this connection.
801   This connection is configured to validate the identity of the access server, but Windows cannot verify the digital certificate sent by the server.
802   The card supplied was not recognized. Please check that the card is inserted correctly and fits tightly.
803   The PEAP configuration stored in the session cookie does not match the current session configuration.
804   The PEAP identity stored in the session cookie does not match the current identity.
805   You cannot dial using this connection at logon time, because it is configured to use logged on user's credentials.
900   The router is not running.
901   The interface is already connected.
902   The specified protocol identifier is not known to the router.
903   The Demand-Dial Interface Manager is not running.
904   An interface with this name is already registered with the router.
905   An interface with this name is not registered with the router.
906   The interface is not connected.
907   The specified protocol is stopping.
908   The interface is connected and hence cannot be deleted.
909   The interface credentials have not been set.
910   This interface is already in the process of connecting.
911   An update of routing information on this interface is already in progress.
912   The interface configuration in invalid. Another interface is already connected to the same interface on the remote router.
913   A Remote Access Client attempted to connect over a port that was reserved for Routers only.
914   A Demand-Dial Router attempted to connect over a port that was reserved for Remote Access Clients only.
915   The client interface with this name already exists and is currently connected.
916   The interface is in a disabled state.
917   The authentication protocol was rejected by the remote peer.
918   There are no authentication protocols available for use.
919   The remote computer refused to be authenticated using the configured authentication protocol. The line has been disconnected.
920   The remote account does not have Remote Access permission.
921   The remote account has expired.
922   The remote account is disabled.
923   The remote account is not permitted to logon at this time of day.
924   Access was denied to the remote peer because the username or password is invalid on the domain.
925   There are no routing enabled ports available for use by this Demand-Dial interface.
926   The port has been disconnected due to inactivity.
927   The interface is not reachable at this time.
928   The Demand-Dial service is in a paused state.
929   The interface has been disconnected by the administrator.
930   The authentication server did not respond to authentication requests in a timely fashion.
931   The maximum number of ports allowed for use in the multilinked connection has been reached.
932   The connection time limit for the user has been reached.
933   The maximum limit on the number of LAN interfaces supported has been reached.
934   The maximum limit on the number of Demand-Dial interfaces supported has been reached.
935   The maximum limit on the number of Remote Access clients supported has been reached.
936   The port has been disconnected due to the Bandwidth Allocation Protocol policy.
937   Because another connection of your type is in use, the incoming connection cannot accept your connection request.
938   No RADIUS servers were located on the network.
939   An invalid response was received from the RADIUS authentication server. Make sure that the case-sensitive secret password for the RADIUS server is set correctly.
940   You do not have permission to connect at this time.
941   You do not have permission to connect using the current device type.
942   You do not have permission to connect using the selected authentication protocol.
943   Bandwidth Allocation Protocol is required for this user.
944   The interface is not allowed to connect at this time.
945   The saved router configuration is incompatible with the current router.
946   Remote Access has detected older format user accounts that will not be migrated automatically.
948   The transport is already installed with the router.
949   Received invalid signature length in packet from RADIUS server.
950   Received invalid signature in packet from RADIUS server.
951   Did not receive signature along with EAPMessage from RADIUS server.
952   Received packet with invalid length or Id from RADIUS server.
953   Received packet with attribute with invalid length from RADIUS server.
954   Received invalid packet from RADIUS server.
955   Authenticator does not match in packet from RADIUS server.