Можно ли как-нибудь программно из третьего кольца очистить файл подкачки Windows без перезагрузки системы? Хотя бы частично (приложения).
vg Цель? Удалить критичную инфу? наверное принудительно открыть (FileMapping?) заведомо здоровенный файлег и косвенно перетереть кэш?
++ Может перетереть-то его нельзя но читать наверное можна. Если искать специальные маркеры (точнее - их отсутствие) после "зачистки"....
CreateFileMapping с первым параметром INVALID_HANDLE_VALUE, затем просто записать данные которые будут равны размеру файла подкачки, таким образом перетрется все содержимое.
Да. Судя по всему File Mapping то, что нужно. Правда, как я понимаю, так перепишется всё кроме части занятой ОС (сохраняемые на диске фрагменты ядра, драйвера и буфера памяти ядра).
TSS Неа. В конце концов система скажет "фи" и вернет NULL в ответ на MapViewOfFile, например, если свободной оперативной памяти в системе мало. Будет попросту некуда девать страницы из пейджфайла. + есть еще такое явление - когда пейджфайл заканчивается, а память продолжают просить, система просто банально увеличивает размер самого пейджфайла (в рамках допустимых пределов). Так что вместо заветной очистки есть риск нарваться просто на "разжирение" свопа и ничего более. если цель - удалить критическую инфу, то тогда можно наклепать драйвер, который пройдется по свободным страницам пейджфайла (там есть битовая карта свободных/занятых страниц) и подчистит их. Либо поставит хуки и будет подчищать автоматически.