在Minifilter中调用FltCreateFileEx的问题
ALCAT 2011-11-25 09:25:57 各位大侠帮帮忙,问题如下。
我想在加载Minifilter驱动的一开始的时候先对指定的文件做个备份。为了不对系统的运行造成影响,备份是在DriverEntry中开一个系统线程做的。
但是在这个系统线程中我调用FltXXX一类的函数,比如FltCreateFileEx、FltReadFile的时候却出现了问题。
以FltCreateFileEx函数为例,函数原型如下:
NTSTATUS
FltCreateFileEx(
IN PFLT_FILTER Filter,
IN PFLT_INSTANCE Instance OPTIONAL,
OUT PHANDLE FileHandle,
OUT PFILE_OBJECT *FileObject OPTIONAL,
IN ACCESS_MASK DesiredAccess,
IN POBJECT_ATTRIBUTES ObjectAttributes,
OUT PIO_STATUS_BLOCK IoStatusBlock,
IN PLARGE_INTEGER AllocationSize OPTIONAL,
IN ULONG FileAttributes,
IN ULONG ShareAccess,
IN ULONG CreateDisposition,
IN ULONG CreateOptions,
IN PVOID EaBuffer OPTIONAL,
IN ULONG EaLength,
IN ULONG Flags
);
函数的第二个参数和第四个参数我该怎么指定啊?
在这里我要是调用Zw系列的函数的时候会造成重入的问题,所以才选择用FltXXX一类的函数。
哪位大侠给提点一下啊,谢谢啦!