当我尝试将WNetAddConnection2调用到已经有会话的机器时,我遇到了一个问题.这是预期的,因为您只能使用一组凭据连接到网络资源.我要做的是捕获这种情况并自动调用WNetCancelConnection2断开所有现有连接,然后重试WNetAddConnection2调用.当我运行以下代码时,我得到这些日志消息:
DEBUG - WNetAddConnection2 returned 1219
DEBUG - Multiple credentials detected, disconnecting all current sessions
DEBUG - WNetCancelConnection2 returned 0
DEBUG - WNetAddConnection2 returned 1219
Run Code Online (Sandbox Code Playgroud)
如果我在WNetCancelConnection中将dwFlags设置为CONNECT_UPDATE_PROFILE,我会收到以下日志消息:
DEBUG - WNetAddConnection2 returned 1219
DEBUG - Multiple credentials detected, disconnecting all current sessions
DEBUG - WNetCancelConnection2 returned 2250
DEBUG - WNetAddConnection2 returned 1219
Run Code Online (Sandbox Code Playgroud)
这是我的来源,所有帮助表示赞赏!
networkName = @"\\192.168.1.1";
var netResource = new NetResource()
{
Scope = ResourceScope.GlobalNetwork,
ResourceType = ResourceType.Disk,
DisplayType = ResourceDisplaytype.Share,
RemoteName = networkName
};
int result = WNetAddConnection2(netResource, credentials.Password, …
Run Code Online (Sandbox Code Playgroud)