В документации сказано, что если первый аргумент, имя сервера, NULL
, то используется локальный компьютер.Вот почему ваш код возвращает NERR_NetNameNotFound
.
. Кроме того, вы неправильно передаете последний параметр.Вам нужен дополнительный уровень косвенности, потому что функция выделяет буфер.
Это должно выглядеть примерно так:
NET_API_STATUS pStatus;
SHARE_INFO_2 *pBuffer;
pStatus = NetShareGetInfo(L"PCRT-S35521", L"sharedFolder", 2, (LPBYTE)&pBuffer);
Не забудьте следовать инструкциям, приведенным в документации по уничтожению буфера:
Этот буфер выделяетсясистема и должна быть освобождена с помощью функции NetApiBufferFree
.