阅读:1661回复:3
请教 minifilter关于文件上下文
大家好,有个问题想请教下;
我想实现在PostCreate设置文件的上下文,在PreRead或者PostRead能得到该上下文. 我原来的想法是:针对某个文件对象(FileObject),用FltAllocateContext申请个FLT_FILE_CONTEXT类型的自定义结构上下文空间,然后对该空间进行设置,例如设置EncryptFlagExist等,设置完后通过FltSetFileContext将该Context设置到对应的文件对象,但帮助文档里却说FLT_FILE_CONTEXT类型只能在vista 或以后的windows版本使用.大家有什么好办法.,请帮帮忙! 代码大致如下: typedef struct _FILE_CONTEXT { ULONG RefCount; BOOLEAN EncryptFlagExist; } FILE_CONTEXT, *PFILE_CONTEXT; /****************************************/ PFILE_CONTEXT FileCtxPtr = NULL; FltAllocateContext( FltObjects->Filter, FLT_FILE_CONTEXT, sizeof(FILE_CONTEXT), NonPagedPool, &FileCtxPtr ); if (NT_SUCCESS(Status)) { FileCtxPtr->EncryptFlagExist= TRUE;//or FALSE; Status = FltSetFileContext (FltObjects->Instance, FltObjects->FileObject, FLT_SET_CONTEXT_REPLACE_IF_EXISTS, FileCtxPtr, NULL ); } else KdPrint(("FltAllocateContext Failed! %d\n",Status)); |
|
沙发#
发布于:2008-03-23 14:54
使用Stream Context
|
|
|
板凳#
发布于:2008-03-24 09:31
人家暂时还不支持FileContext,,我们有什么办法。。。不使用它了只有。。。。
|
|
地板#
发布于:2008-03-24 14:40
感谢两位,使用Stream Context可以
|
|