阅读:1448回复:2
求助,有关CreateFile打开Volume的时候,NTfs都干了些什么?
最近在写驱动时,发现我利用CreateFile函数以只读的方式打开一个Volume的时候,如果这个Volume上有Ntfs文件系统时,它会向下层提交一个写请求!!!!而且好像是在写$MFT文件,这是为什么,我是以只读打开,为什么会引起写操作,这实在让人费解?而对于没有文件系统的卷,打开是就没有问题!
希望高手能给予指点!! 能否在打开的时候,不让它提交这个写请求!!!??? 下面是我打开时用的参数, LvHandle = CreateFile ( SymbolLinkName, GENERIC_READ , FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); 其中SymbolLinkName的值是\\?\Volume{0b8c1fd0-8a9c-11d9-beb1-806d6172696f} |
|
驱动老牛
![]() |
沙发#
发布于:2005-07-11 09:18
我也研究过,我只发现NTFS根本不支持只读介质,它肯定要写的,写不了就认为是非法介质。
你打开的时候它是肯定要写元文件来记录访问时间之类的了。 |
|
板凳#
发布于:2005-07-11 13:47
晕,微软搞什么JJ嘛!
明明读,硬是搞了个写操作,现在只好屏蔽掉这个问题了!!! |
|