Microsoft KB Archive/138678

= How To Add & Remove Network Connections in Visual FoxPro =

Article ID: 138678

Article Last Modified on 6/29/2004

-

APPLIES TO


 * Microsoft Visual FoxPro 3.0 Standard Edition
 * Microsoft Visual FoxPro 5.0 Standard Edition
 * Microsoft Visual FoxPro 6.0 Professional Edition

-



This article was previously published under Q138678



SUMMARY
Using the Windows API (Application Programming Interface) in conjunction with Foxtools.fll in FoxPro for Windows 2.x or DECLARE DLL in Visual FoxPro, you can add and remove network connections from within FoxPro.

Although Visual FoxPro still supports the FOXTOOLS library for backward compatibility, the DECLARE command is the preferred method for calling DLL functions.



MORE INFORMATION
The following sections cover the FoxPro 2.x and Visual FoxPro usage conventions.

FoxPro 2.x
In FoxPro 2.x using the FOXTOOLS library, you need to use the following steps to add and remove network connections.

  Use the following command to establish the library: SET LIBRARY TO SYS(2004)+'FOXTOOLS.FLL' ADDITIVE   Register the Windows API functions that you need to call. In this case, WNetAddConnection and WNetCancelConnection. addconn=RegFn('WNetAddConnection','CCC','I') delconn=RegFn('WNetCancelConnection','CI','I')   To connect to a network device, issue the following command: =CallFn(addconn,"\\SERVER\SHARE","password"," :")   To disconnect from a network connection, issue the following command: =CallFn(delconn," :",0) 

Visual FoxPro
Using the DECLARE DLL functionality, the previous steps can be reduced to the following commands: **-- Set up API calls Declare integer WNetAddConnection in WIN32API string,string,string Declare integer WNetCancelConnection in WIN32API String,integer

=WNetAddConnection("\\SERVER\SHARE", "", "DriveLetter:")
 * -- Add a network connection

=WNetCancelConnection("DriveLetter:",0) The following information provides additional reference material on the two API calls used.
 * -- Remove a network connection

WNetAddConnection
The WNetAddConnection function redirects the specified local device (either a disk drive or a printer port) to the given shared device or remote server. It takes the following parameters:   lpszNetPathName   A pointer to a null-terminated string specifying the shared device or remote server, such as                    \\Server\Share.

NOTE: Novell users should not use the double-colon syntax to reference a server and directory as they may be accustomed to doing. For example, do not try referencing a directory using this syntax: \\server\volume::\mydirectory. Instead, use this syntax: \\server\volume\mydirectory

lpszPassword     A pointer to a null-terminated string specifying the network password for the given device or                    server. If there is no password, you must still include a placeholder, as follows:

=CallFn(addconn,"\\SERVER\SHARE",""," :")

lpszLocalName    A pointer to a null-terminated string specifying the local drive or device to be redirected. All lpszLocalName strings (such as LPT1) are case-independent. Only the drive names A through Z and the device names LPT1 through LPT3 are used.

WNetCancelConnection
The WNetCancelConnection function cancels a network connection. It takes the following parameters:   lpszName          A pointer to the name of the redirected local device (such as LPT1: or D:).

fForce           A Boolean value that specifies whether any open files or open print jobs on the device should be                    closed before the connection is canceled.

