阅读:2693回复:3
求助,有关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} [p:4] |
|
沙发#
发布于:2007-03-26 18:26
MSDN里说打开一个Volume时CreateFile必须选择FILE_SHARE_WRITE,但没有说明原因。
|
|
板凳#
发布于:2007-03-29 18:04
当使用FILE_SHARE_WRITE的时候,windows就会锁定这个卷了
|
|
地板#
发布于:2007-07-21 16:42
M$经常偷偷地干坏事!
|
|