Использование _wopen () под расширением пространства имен оболочки Windows

Я разрабатываю какое-то расширение пространства имен оболочки Windows (NE). Мое расширение предоставляет настраиваемый элемент контекстного меню для файлов и папок. Среди прочего мне нужно создать новый файл под моим NE. Я пытаюсь создать файл как:

auto flags = O_WRONLY | O_CREAT | O_TRUNC | O_BINARY | O_CLOEXEC;
auto fd = _wopen(L"c:\\test.txt", flags , 0666);

Я тоже пытался использовать "\\?\" префикс:

auto flags = O_WRONLY | O_CREAT | O_TRUNC | O_BINARY | O_CLOEXEC;
auto fd = _wopen(L"\\\\?\\c:\\test.txt", flags , 0666);

В любом случае возвращаемый дескриптор файла является отрицательным и EACCES — ‘Доступ запрещен’
Что мне не хватает?

0

Решение

Пользователи не могут создавать файлы в C: \ (без повышения прав).

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

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]