Моей программе требуется доступ к определенному UNC-пути, но это междоменный путь, поэтому в зависимости от машины, на которой выполняется программа, она может иметь или не иметь учетные данные по умолчанию. Обычно пользователю нужно просто открыть проводник и ввести UNC или IP-адрес, чтобы получить приглашение для входа в систему (после чего они могут ввести соответствующие учетные данные для домена, в котором находится общий ресурс).
Есть ли "чистый" способ проверить доступность UNC, и если учетные данные Windows по умолчанию неверны, запросите их для других?
Сейчас я использую неприятный код, чтобы попытаться прочитать текстовый файл на общем ресурсе, перехватить IOException, а затем открыть объект процесса "explorer.exe" (скрытый), чтобы получить приглашение для входа в систему. Все это содержится в цикле, который проверяет снова через 10 секунд. Это вроде работает, но решение и логика кажутся действительно нежелательными.
Действительно ли мой единственный выбор WNetUseConnection или решение в стиле взаимодействия?