当前位置: 动力学知识库 > 问答 > 编程问答 >

c# - WNetUseConnection connects to remote server/UNC on same domain but not to a different/remote domain

问题描述:

I am able to connect to remote UNC as long as it is on the same network but when I try to access server across the domain, say from Network A to Network B it does not connect and I get the message the network path was not found. How can I connect with the remote UNC on different/untrusted network.

[DllImport("Mpr.dll")]

private static extern int WNetUseConnection(

IntPtr hwndOwner,

NETRESOURCE lpNetResource,

string lpPassword,

string lpUserID,

int dwFlags,

string lpAccessName,

string lpBufferSize,

string lpResult

);

[DllImport("Mpr.dll")]

private static extern int WNetCancelConnection2(

string lpName,

int dwFlags,

bool fForce

);

[StructLayout(LayoutKind.Sequential)]

private class NETRESOURCE

{

public int dwScope = 0;

public int dwType = 0;

public int dwDisplayType = 0;

public int dwUsage = 0;

public string lpLocalName = null;//changed from "" to null

public string lpRemoteName = "";

public string lpComment = "";

public string lpProvider = null;//changed from "" to null

}

public static string connectToRemote(string remoteUNC, string username, string password)

{

return connectToRemote(remoteUNC, username, password, false);

}

public static string connectToRemote(string remoteUNC, string username, string password, bool promptUser)

{

NETRESOURCE nr = new NETRESOURCE();

nr.dwType = RESOURCETYPE_DISK;

nr.lpRemoteName =remoteUNC;

int ret;

if (promptUser)

ret = WNetUseConnection(IntPtr.Zero, nr, "", "", CONNECT_INTERACTIVE | CONNECT_PROMPT, null, null, null);

else

ret = WNetUseConnection(IntPtr.Zero, nr, password, username, 0, null, null, null);

if (ret == NO_ERROR) return null;

return getErrorForNumber(ret);

}

public static string disconnectRemote(string remoteUNC)

{

int ret = WNetCancelConnection2(remoteUNC, CONNECT_UPDATE_PROFILE, false);

if (ret == NO_ERROR) return null;

return getErrorForNumber(ret);

}

网友答案:

This will access across network if desktop publishing is used.

分享给朋友:
您可能感兴趣的文章:
随机阅读: