Как получить цель Junction или Symlink со стандартным пользователем - PullRequest
3 голосов
/ 11 февраля 2010

Я пытаюсь получить цель соединения в моей программе, но единственный способ, которым мне удалось это сделать, это:

  1. Запрос привилегий резервного копирования
  2. p-вызвать CreateFile со специальными параметрами, чтобы получить дескриптор файла / dir.
  3. DeviceIoControl вызов для получения цели.

Первый шаг не будет работать с обычными учетными записями пользователей, поскольку у них нет привилегий резервного копирования, и я не хочу получать окно UAC User Consent каждый раз, когда я делаю это.

Я думаю, что это как-то выполнимо, потому что обычная команда "dir / A: L" разрешает цель ссылок.

1 Ответ

0 голосов
/ 11 февраля 2010

Я думаю, что этот ответ в stackoverflow поможет вам? Как получить программный доступ к целевому пути символьной ссылки Windows? Должна быть возможность включить ссылку на функцию через атрибут DllImport в программе на c #.

Требуемый дескриптор можно получить из экземпляра FileStream . Несколько забавно, что оно помечено как устаревшее, но, возможно, в предупреждении указано, что еще вы можете сделать.

...