0
Я разрабатываю веб-приложение, в котором мне нужно подключить удаленный компьютер для доступа к файлам на его общем диске. Перед предоставлением доступа к этим файлам пользователь должен пройти аутентификацию. Я использую WNetUseConnection для вызова диалогового окна учетных данных.
WNetUseConnection (IntPtr.Zero, nr, "", "", CONNECT_INTERACTIVE | CONNECT_PROMPT, null, null, null);
Проблема с этим, что он отлично работает на моем локальном компьютере и правильно открывает диалоговое окно. Но когда я разместил ту же машину на сервере Windows 2016, я получаю сообщение «Win32Exception: Invalid flags».
Я также пытался указать идентификатор пользователя и пароль для входа в систему, и это работает нормально.
WNetUseConnection (IntPtr.Zero, nr, пароль, имя пользователя, 0, null, null, null);
Но по некоторым причинам выдает ошибку при запросе учетных данных
Спасибо !!!
Пример кода:
Public static Connect(string remoteUnc, string username, string password, bool promptUser)
{
NETRESOURCE nr = new NETRESOURCE
{
dwType = RESOURCETYPE_DISK,
lpRemoteName = remoteUnc
};
int result;
if (promptUser)
{
result = WNetUseConnection(IntPtr.Zero, nr, "", "", CONNECT_INTERACTIVE | CONNECT_PROMPT, null, null, null);
}
else
{
result = WNetUseConnection(IntPtr.Zero, nr, password, username, 0, null, null, null);
}
if (result != NO_ERROR)
{
throw new Win32Exception(result);
}
}