[英]How to delete a file from kernel-mode?
我有一個微型過濾器(內核模式)。 我想從內核模式中刪除具有特定路徑(\\ Device \\ HarddiskVolume1 \\ file.txt或C:\\ file.txt)的文件
有什么辦法嗎?
更新:20150130
我嘗試使用ZwDeleteFile例行作為哈利·約翰斯頓說。 這些是我的代碼:
RtlInitUnicodeString(&gRedirectFullFilePath, "\\Device\\HarddiskVolume1\\test.txt"); // This file existed
InitializeObjectAttributes(&ObjectAttribute, &gRedirectFullFilePath, OBJ_CASE_INSENSITIVE, NULL, NULL);
status = ZwDeleteFile(&ObjectAttribute);
但它崩潰我的系統。 這有什么錯我的代碼? =>固定的(這是回答)
謝謝!
ZwDeleteFile例程刪除指定的文件。
通過常規方法無法從內核模式(即從設備驅動程序)刪除文件。
不鼓勵這種做法或想法。
使用FltSetInformationFile()
與函數FileDispositionInformation
類。
如Microsoft的微型篩選器DeleteSample所示,有許多方法可以執行此操作。
研究樣本后,一切都應該更加清晰。 還要注意,您可以進行事務刪除,也可以通過文件ID刪除文件。
祝好運。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.