Разница между WNetAddConnection2 () и NetUseAdd () - PullRequest
6 голосов
/ 02 июля 2011

Я монтирую удаленный диск локально (см. Проблемы с пользователем / паролем в GetVolumeNameForVolumeMountPoint () (удаленное монтирование Windows?) )

ВОПРОС: В чем разницамежду WNetAddConnection2() и NetUseAdd()? Кажется, что каждый из них позволяет вам назначить путь к удаленному диску для буквы локального диска с указанием имени пользователя и пароля.

Далее я могу позвонить WNetAddConnection2(), указавбуква локального диска (работает) или указание «NULL» для буквы локального диска, и команда console net use покажет успешное подключение удаленного диска к «ничему» локально - как и следовало ожидать - но я не уверенцели для такого рода результата.Я надеялся, что он установит «учетные данные для входа» между локальной системой / процессом и удаленным компьютером, чтобы другие вызовы ::GetVolumeNameForVolumeMountPoint() имели правильный контекст имени пользователя / пароля, но это не работает для меня.

Конечная цель - подключить удаленный диск локально без буквы локального диска (что-то вроде общего пути к локальному GUID, поскольку все 26 локальных букв диска уже используются), но все вызовы ::GetVolumeNameForVolumeMountPoint() ошибка Logon failure: unknown user name or bad password, даже после того, как я успешно смонтировал удаленно на локальную букву диска, предоставив имя и пароль удаленного пользователя (в настоящее время используется WNetAddConnection2()).

1 Ответ

2 голосов
/ 02 июля 2011

NetUseAdd() делает соединение видимым в проводнике Windows, тогда как WNetUseConnection() и WNetAddConnection() не делают соединение видимым в проводнике Windows.

...