阅读:1832回复:1
minifitler预打开文件!
我在minifitler的precreate使用FltCreateFile创建一个文件,然后写入内容,但是每当我新建的时候,就会新建很多文件,知道堆栈溢出,创建了999个文件,貌似是FltCreateFile导致产生了重入,但是我已经将回调数据里的create.options改成FILE_OPEN,求解答啊!!!!status = FltCreateFile(FltObjects->Filter, FltObjects->Instance, &hFile, desired_access, &ob, &IoStatus, NULL, file_attri, share_access, disposition, create_options, NULL, 0, IO_IGNORE_SHARE_ACCESS_CHECK ) ; if (!NT_SUCCESS(status)) { __leave ; }Data->Iopb->Parameters.Create.Options &= 0x00ffffff; disp = FILE_OPEN Data->Iopb->Parameters.Create.Options |= (disp << 24);
|
|
沙发#
发布于:2011-11-16 08:13
你创建文件当然要产生重入了,pre ,使用专用的函数,minfilter有避免重入的ftlcreatexxxx函数
|
|
|