Я пытаюсь получить доступ к сетевому диску (\ имя_сервера или \ ipadress).Идея состоит в том, что доступ к диску возможен только через приложение, а логин на сетевом диске должен использоваться только приложением.Пока что я нашел только функцию WNetUseConnection (http://msdn.microsoft.com/en-us/library/aa385482%28VS.85%29.aspx), которая выглядит как то, что я хочу. К сожалению, я не могу заставить ее работать. Код выглядит так:
NETRESOURCE nr;;
nr.dwType = RESOURCETYPE_DISK;
wchar_t remoteName[] = L"\\\\myremotenetworkdrive";
nr.lpRemoteName = remoteName;
wchar_t pswd[] = L"mypswd";
wchar_t usrnm[] = L"usrname";
int ret = WNetUseConnection(NULL, &nr, pswd, usrnm, 0, NULL, NULL, NULL);
std::cerr << "return code: " << ret << std::endl;
Код возврата:вначале 1200 (ERROR_BAD_DEVICE), а после другого вызова функции изменяется на 487. (ERROR_INVALID_ADDRESS). Адрес (если я могу поместить туда 4 обратной косой черты, но также пробовал его с двумя или вообще без них), имя пользователя и pswd верны.*
Итак, в основном мой вопрос: как мне заставить работать вышеобозначенный код? Учитывая мою задачу, это правильный подход (если нет, то как бы вы это сделали)?