please dont rip this site Prev Next

WNetUseConnection info  Overview  Group

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

The WNetUseConnection function is similar to the WNetAddConnection3 function. The main difference is that WNetUseConnection can automatically select an unused local device to be redirected to the network resource.

Windows 95:
For Windows 95, the lpUserName and lpPassword parameters are in reverse order from those in the Windows NT version as follows:

DWORD WNetUseConnection(

    HWND hwndOwner,

    LPNETRESOURCE lpNetResource,

    LPTSTR lpUserName,

    LPTSTR lpPassword,

    DWORD dwFlags,

    LPTSTR lpAccessName,

    LPDWORD lpBufferSize,

    LPDWORD lpResult


For Windows NT the parameter order is as follows:

DWORD WNetUseConnection(

    HWND hwndOwner,

    LPNETRESOURCE lpNetResource,

    LPTSTR lpPassword,

    LPTSTR lpUserName,

    DWORD dwFlags,

    LPTSTR lpAccessName,

    LPDWORD lpBufferSize,

    LPDWORD lpResult



Specifies a window that the provider of network resources can use as an owner window for dialog boxes. Use this parameter if CONNECT_INTERACTIVE is set.
Pointer to a NETRESOURCE structure that specifies details of the proposed connection. The structure contains information about the network resource, the local device, and the network resource provider.

You must specify the following members of the NETRESOURCE structure:




Specifies the type of resource to connect to. It is most efficient to use a specific resource type (such as RESOURCETYPE_DISK or RESOURCETYPE_PRINT). However, if lpLocalName is NULL or points to an empty string and CONNECT_REDIRECT is not set, dwType can be RESOURCETYPE_ANY. This method works only if the function does not automatically choose a device to redirect to the network resource.


Points to a null-terminated string that specifies the name of a local device to be redirected, such as “F:” or “LPT1.” The string is treated in a case-insensitive manner. If the string is empty or if lpLocalName is NULL, a connection to the network occurs without redirection. If CONNECT_REDIRECT is set or the network requires a redirected local device, the function chooses a local device to redirect and returns the name of the device in lpAccessName.


Points to a null-terminated string that specifies the network resource to connect to. The string can be up to MAX_PATH characters in length. The string must follow the network provider’s naming conventions.


Points to a null-terminated string that specifies the network provider to connect to. If lpProvider is NULL or points to an empty string, the operating system attempts to determine the correct provider by parsing the string pointed to by lpRemoteName.

You should set this member only if you know for certain which network provider you want to use. Otherwise, let the operating system determine which network provider the network name maps to.

If this member is not NULL, the operating system attempts to make a connection only to the named network provider.

The WNetUseConnection function ignores the other members of the NETRESOURCE structure.

Pointer to a null-terminated string that specifies a password to be used in making the network connection.

If lpPassword is NULL, the function uses the current default password associated with the user specified by lpUserName.

If lpPassword points to an empty string, the function does not use a password.

If the connection fails because of an invalid password and CONNECT_INTERACTIVE is set, the function displays a dialog box asking the user to type the password.

Pointer to a null-terminated string that specifies a user name to be used in making the connection.

If lpUserName is NULL, the function uses the default user name. The user context for the process provides the default user name.

The lpUserName parameter is specified when users want to connect to a network resource for which they have been assigned a user name or account other than the default user name or account.

The user-name string represents a security context. It may be specific to a network provider.

Specifies any combination of the following values:




If this flag is set, the operating system may interact with the user for authentication purposes.


This flag instructs the system not to use any default settings for user names or passwords without offering the user the chance to supply an alternative. This flag is ignored unless CONNECT_INTERACTIVE is set.


This flag forces the redirection of a local device when making the connection. If lpLocalName specifies a local device to redirect, this flag has no effect, because the operating system attempts to redirect the specified device anyway. Otherwise, if the operating system automatically chooses a local device, lpAccessName must point to a return buffer and dwType must not be RESOURCETYPE_ANY.

If this flag is not set, a local device is automatically chosen for redirection only if the network requires a local device to be redirected.


This flag instructs the operating system to store the network resource connection.

If this bit flag is set, the operating system automatically attempts to restore the connection when the user logs on. The system remembers only successful connections that redirect local devices. It does not remember unsuccessful connections and deviceless connections. A deviceless connection occurs when lpLocalName is NULL or points to an empty string.

If this bit flag is clear, the operating system will not automatically restore the connection at logon.

Specifies the name of a buffer that receives system requests on the connection.

If lpLocalName specifies a local device, this buffer is optional, and will have the local device name copied into it. If lpLocalName does not specify a device and the network requires a local device redirection, or if CONNECT_REDIRECT is set, this buffer is required and the name of the redirected local device is returned here. Otherwise, the name copied into the buffer is that of a remote resource. If specified, this buffer must be at least as large as the string pointed to by the lpRemoteName parameter.

Specifies the size, in characters, of the lpAccessName buffer passed in. If the call fails because the buffer is not large enough, the function uses this location to return the required buffer size.
Pointer to a DWORD that returns additional information about the connection. This parameter can be a combination of the following values:




If this flag is set, the connection was made using a local device redirection. If the lpAccessName parameter points to a buffer, the local device name is copied to the buffer.

Return Values

If the function succeeds, the return value is NO_ERROR.

If the function fails, the return value is one of the following error codes.




Access to the network resource was denied.


The local device specified by lpLocalName is already connected to a network resource.


The value specified by lpLocalName is invalid.


The value specified by lpRemoteName is not acceptable to any network resource provider. The resource name is invalid, or the named resource cannot be located.


The value specified by lpProvider does not match any provider.


The attempt to make the connection was canceled by the user through a dialog box from one of the network resource providers or by a called resource.


A network-specific error occurred. To get a description of the error, call the WNetGetLastError function.


The caller passed in a pointer to a buffer that could not be accessed.


This error is a result of one of the following conditions:

  1. The lpRemoteName member is NULL; lpAccessName is not NULL, but lpBufferSize is either NULL or points to zero.

  2. The dwType member is neither RESOURCETYPE_DISK nor RESOURCETYPE_PRINT. In addition, CONNECT_REDIRECT is set in dwFlags, lpLocalName is NULL, or the connection is to a network that requires the redirecting of a local device.


The specified password is invalid and CONNECT_INTERACTIVE is not set.


The lpAccessName buffer is too small. If a local device is redirected, the buffer needs to be large enough to contain the local device name. Otherwise, the buffer needs to be large enough to contain either the string pointed to by lpRemoteName or the name of the connectable resource whose alias is pointed to by lpRemoteName. If this status is returned, then no connection has been made.


The operating system cannot automatically choose a local redirection because all the valid local devices are in use.


A network component has not started, or the specified name could not be handled.


There is no network present.

See Also

WNetAddConnection, WNetAddConnection2, WNetAddConnection3, WnetCancelConnection, WNetGetConnection, WNetGetLastError

See also:

file: /Techref/os/win/api/win32/func/src/f92_15.htm, 18KB, , updated: 2000/4/7 11:19, local time: 2015/11/25 23:12,

 ©2015 These pages are served without commercial sponsorship. (No popup ads, etc...).Bandwidth abuse increases hosting cost forcing sponsorship or shutdown. This server aggressively defends against automated copying for any reason including offline viewing, duplication, etc... Please respect this requirement and DO NOT RIP THIS SITE. Questions?
Please DO link to this page! Digg it! / MAKE! / 

<A HREF=""> WNetUseConnection</A>

After you find an appropriate page, you are invited to your to this massmind site! (posts will be visible only to you before review) Just type in the box and press the Post button. (HTML welcomed, but not the <A tag: Instead, use the link box to link to another page. A tutorial is available Members can login to post directly, become page editors, and be credited for their posts.

Link? Put it here: 
if you want a response, please enter your email address: 
Attn spammers: All posts are reviewed before being made visible to anyone other than the poster.
Did you find what you needed?

  PICList 2015 contributors:
o List host: MIT, Site host, Top posters @20151125 RussellMc, IVP, James Cameron, Neil, embedded systems, Bob Blick, Richard R. Pope, Isaac Marino Bavaresco, alan.b.pearce, John Gardner,
* Page Editors: James Newton, David Cary, and YOU!
* Roman Black of Black Robotics donates from sales of Linistep stepper controller kits.
* Ashley Roll of Digital Nemesis donates from sales of RCL-1 RS232 to TTL converters.
* Monthly Subscribers: Gregg Rew. on-going support is MOST appreciated!
* Contributors: Richard Seriani, Sr.

Welcome to!