Мне нужно найти свободное место в папке в сетевом хранилище (NAS), где только один конкретный пользователь имеет полные права доступа.
Используя GetDiskFreeSpaceEx API в C++, я получаю неправильные значения (мусор), когда пытаюсь получить доступ к этой папке от обычного пользователя домена без прав. Перед API я олицетворяюсь под пользователем, у которого есть полные права доступа и при олицетворении нет сбоев. Я упомянул значение мусора по той причине, что когда я пытаюсь получить доступ к другой папке на другом диске одного и того же хранилища, я получаю одни и те же значения.
Если я изменю права доступа к этой папке на «Все» и использую API без олицетворения, он вернет правильные значения.
Для олицетворения я пытался войти в систему как с LOGON32_LOGON_INTERACTIVE, так и с LOGON32_LOGON_NETWORK.
Я что-то упустил здесь? Какие-то дополнительные права разрешения должны быть предоставлены?
Любая помощь будет оценена по достоинству.