Platform SDK: Windows Networking

Adding a Network Connection

Windows NT/Windows 2000

To make a connection to a network resource described by a NETRESOURCE structure, an application can call the WNetAddConnection2, the WNetAddConnection3, or the WNetUseConnection function. The following example demonstrates use of the WNetAddConnection2 function.

The code sample calls the WNetAddConnection2 function, specifying that the system should update the user's profile with the information, creating a "remembered" or persistent connection. The sample calls an application-defined error handler to process errors, and the TextOut function for printing.

DWORD dwResult; 
NETRESOURCE nr; 
//
// Call the WNetAddConnection2 function to make the connection,
//   specifying a persistent connection.
//
dwResult = WNetAddConnection2(&nr, // NETRESOURCE from enumeration 
    (LPSTR) NULL,                  // no password 
    (LPSTR) NULL,                  // logged-in user 
    CONNECT_UPDATE_PROFILE);       // update profile with connect information 
 
// Process errors.
//  The local device is already connected to a network resource.
//
if (dwResult == ERROR_ALREADY_ASSIGNED) 
{ 
    TextOut(hdc, 10, 10, "Already connected to specified resource.", 40); 
    return FALSE; 
} 
 
//  An entry for the local device already exists in the user profile.
//
else if (dwResult == ERROR_DEVICE_ALREADY_REMEMBERED) 
{ 
    TextOut(hdc, 10, 10, 
        "Attempted reassignment of remembered device.", 44); 
    return FALSE; 
} 
else if(dwResult != NO_ERROR) 
{ 
    //
    // Call an application-defined error handler.
    //
    NetErrorHandler(hwnd, dwResult, (LPSTR)"WNetAddConnection2"); 
    return FALSE; 
} 
 
//
// Otherwise, report a successful connection.
//
TextOut(hdc, 10, 10, "Connected to specified resource.", 32); 

The WNetAddConnection function is supported for compatibility with earlier versions of Windows for Workgroups. New applications should call the WNetAddConnection2 function or the WNetAddConnection3 function.

For more information about using an application-defined error handler, see Retrieving Network Errors.