WNetAddConnection2 (mpr)
Last changed: -78.237.25.102

.
Summary
The WNetAddConnection2 function makes a connection to a network resource. The function can redirect a local device to the network resource.

The WNetAddConnection2 function supersedes the WNetAddConnection function. If you can pass a handle to a window that the provider of network resources can use as an owner window for dialog boxes, call the WNetAddConnection3 function instead.

C# Signatures:

// This must be used if NETRESOURCE is defined as a struct
[DllImport("mpr.dll")]    
public static extern int WNetAddConnection2(ref NETRESOURCE netResource,
   string password, string username, int flags);

// This must be used if NETRESOURCE is defined as a class
[DllImport("mpr.dll")]    
public static extern int WNetAddConnection2(NETRESOURCE netResource,
   string password, string username, int flags);

VB Signatures:

' This must be used if NETRESOURCE is defined as a struct
Declare Function WNetAddConnection2 Lib "mpr.dll" (ByRef netResource As _
   NETRESOURCE, password As String, Username As String, Flag As Integer) As Integer

' This must be used if NETRESOURCE is defined as a class
Declare Function WNetAddConnection2 Lib "mpr.dll" (netResource As _
   NETRESOURCE, password As String, Username As String, Flag As Integer) As Integer

User-Defined Types:

NETRESOURCE

Notes:

C# Import by Ducky.

C# Sample by Ducky

Tips & Tricks:

Please add some!

Sample Code:

C# Sample

NETRESOURCE myNetResource = new NETRESOURCE();        
myNetResource.dwScope = 2;                    
myNetResource.dwType = 1 ;                    
myNetResource.dwDisplayType = 3;            
myNetResource.dwUsage = 1;            
myNetResource.lpLocalName = "z:";        
myNetResource.lpRemoteName = @"\\servername\sharename";        
myNetResource.lpProvider = null;        
int ret = WNetAddConnection2( myNetResource, "password", "username", 0);

/*
  * if username = null the function uses the default user name
  *    (The user context for the process provides the default user name)
  * if password = null the function uses the current default password
  *    associated with the user specified by the username parameter
  * if password = "" the function does not use a password
  */

Required structure:

struct NETRESOURCE

{

    public int    dwScope;
    public int    dwType;
    public int    dwDisplayType;
    public int    dwUsage;
    public string lpLocalName;
    public string lpRemoteName;
    public string lpComment;
    public string lpProvider;

}

Alternative Managed API:

TODO

Documentation