BOOL CScrPluginView::EstablishConnection( LPCTSTR lpszRemote, LPCTSTR lpszResource, LPCTSTR lpszUser,LPCTSTR lpszPassword,BOOL bEstablish )
{
TCHAR szRemoteResource[_MAX_PATH]; DWORD rc; // Remote resource, \\remote\ipc$, remote\admin$, ...
_stprintf( szRemoteResource, _T("\\\\%s\\%s"), lpszRemote, lpszResource );

//
// disconnect or connect to the resource, based on bEstablish
//
if ( bEstablish ) 
{
NETRESOURCE nr;
nr.dwType = RESOURCETYPE_ANY;
nr.lpLocalName = NULL;
nr.lpRemoteName = (LPTSTR)&szRemoteResource;
nr.lpProvider = NULL;
      
//Establish connection (using username/pwd)
rc = WNetAddConnection2( &nr, lpszPassword, lpszUser, FALSE );
   
switch( rc )
{
case ERROR_ACCESS_DENIED:
case ERROR_INVALID_PASSWORD:
case ERROR_LOGON_FAILURE:
case ERROR_SESSION_CREDENTIAL_CONFLICT:
// Prompt for password if the default(NULL) was not good
if ( lpszUser != NULL && lpszPassword == NULL )
{
//Establish connection (using username/pwd) again
rc = WNetAddConnection2( &nr, lpszPassword, lpszUser, FALSE );
}
        break;
}
}
   else 
      // Disconnect
      rc = WNetCancelConnection2( szRemoteResource, 0, NULL );
   
   if ( rc == NO_ERROR ) 
      return TRUE; // indicate success   return FALSE;
}我是用以上代码进行连接,在2000,nt下都可以能过,但在XP下则不灵了,我做了几次测试,如果XP将User用户禁止,连接是老报"未知的用户名或错误密码",如果开启User用户,即使以Administrator身份登录也报"拒绝访问"错误,这是为什么?