Я помечаю печать для регистрации опции в моем драйвере постскриптума и неважно где я говорю файлу идти, это заканчивается в совершенно особой папке.
Мне потребовались дни для окончательного нахождения, где Vista скрывает мои файлы постскриптума. Это хранит их в некотором виртуализированном пути, который скрыт:
C:\Users\MyUserName\AppData\Local\Microsoft\Windows\Temporary Internet Files\Virtualized\C\Users\MyUserName\temp
То, что еще более интересно, - то, что я снял флажок со скрытым атрибутом папки Virtualized, но не, Vista настаивает на том, чтобы сохранять это скрытым. Несомненно, скрытый бит выключен, но никакая папка не обнаруживается в Проводнике или поиске. Я нашел это только потому, что кто-то еще упомянул это специальное место на блоге.
Существует ли способ заставить драйвер принтера отправить файл в фактическую папку?
Этот драйвер постскриптума пытается поместить файл в:
c:\Users\Jerry\temp
Примечание: я не знаю, почему это пытается поместить его в Вашу временную папку - это - отказ драйвера печати.
Но процесс, который делает печать, был отмечен как Уровень Целостности: Низко. Это означает, что процесс очень ограничен в том, что позволяется сделать на компьютере.
Одному из этих ограничений только позволяют записать в местоположения файловой системы, которые установлены позволить Уровень Целостности: Низкие записи (т.е. c:\Users\Jerry\temp
не позволяет низкие записи целостности). Установка по умолчанию Windows Vista/7 отмечает только две папки с Низким Обязательным Уровнем Целостности:
%LOCALAPPDATA%\LocalLow
%LOCALAPPDATA%\Microsoft\Windows\Temporary Internet Files\Low
Это только два места, которые "Низкому" процессу целостности позволяют записать.
Если процесс получает "доступ запрещен" при попытке сохранить файл: Windows тихо попробует сохранение снова, но на этот раз перенаправленный к местоположению, которое позволяет запись. (Отметьте: Это - взлом совместимости для приложений, которые были записаны, прежде чем Низкая Целостность существовала),
Тот же эффект происходит, при попытке записать в местоположение, которое требует доступа администратора, но Вы - только типичный пользователь. например, если я пытаюсь сохранить файл к:
C:\Windows\test.txt
Запись перестанет работать, и Windows тихо попробует сохранение снова, но на этот раз к:
%LOCALAPPDATA%\Local\VirtualStore\Windows\test.txt
Позже, при попытке открыться
C:\Windows\text.txt
Windows тихо перенаправит к копии в Виртуальном Хранилище.
Это все сделано так, чтобы приложения, которые неправильно предполагают, что все пользователи являются администраторами, все еще функционировали, когда пользователь будет действительно типичным пользователем.
Примечание: На Windows XP эти приложения перестали бы работать, и обычно ужасно, когда им не позволили сохранить везде, где они хотят. Microsoft добавила, с Windows Vista, эта огромная инфраструктура совместимости, чтобы позволить этим приложениям жулика работать типичным пользователем.
Следующий вопрос: почему некоторые папки скрыты при отображении их.
Папки, имеющие атрибуты Только для чтения и Системные атрибуты, как понимают, являются специальными системными папками. Для наблюдения их необходимо изменить предпочтения Windows Explorer и выключить:
Кроме того, Ваш Temporary Internet Files
папка отмечена, как скрытый, таким образом, необходимо было бы также выключить опцию:
Вы могли бы задаваться вопросом, как Internet Explorer может загрузить файлы; когда не позволяется записать в любое местоположение кроме Обязательного Уровня Целостности: Низкое место.
Ответ - то, что, после того как файл загружается, процесс, выполняющий вкладку, связывается назад с хостом контроллера Internet Explorer и просит, чтобы это переместило файл в Ваше требуемое местоположение. Контроллер IE обрабатывает выполнения с Вашим (типичный пользователь) privelages - в то время как каждая вкладка работает в Низком процессе Целостности.
я думаю, печатаете ли Вы что-то из Блокнота, или Word или некоторого другого "регулярного" процесса уровня целостности, что сохранение будет хорошо работать... к временной папке.
я удивлен, что это не спрашивает Вас, где Вы хотите сохранить файл.
Почему это входит "во Временные интернет-Файлы"? Ваш драйвер работает в контексте Internet Explorer случайно? IE виртуализирует большой доступ к файлу из соображений безопасности для предотвращения кода, пишущего в защищенные местоположения.
Вы пытались искать реестр тот путь или возможно последнюю часть его (C\Users\MyUserName\temp, например)? При нахождении его Вы можете изменять настройки, направляя его к другому местоположению. Не уверенный, если можно препятствовать тому, чтобы он использовал виртуальный каталог или нет.