microbe
驱动小牛
驱动小牛
  • 注册日期2007-12-10
  • 最后登录2011-01-17
  • 粉丝1
  • 关注0
  • 积分914分
  • 威望420点
  • 贡献值1点
  • 好评度88点
  • 原创分0分
  • 专家分1分
阅读:2592回复:4

关于数据结构的问题

楼主#
更多 发布于:2008-01-30 10:42
大家在做加解密过滤驱动的时候,会有很多情况好把自己的多个结构数据保存起来,供后续的情况使用,如:
     tooflat的例子中用到RTL_GENERIC_TABLE来存FILE_CONTEXT;
          还有如果要得到当前进程路径,有一种办法是利用PsSetLoadImageNotifyRoutine来建立一个自己的ProcessId和ImageFile之间的一个映射(用Don的话说,就是一个database);
  
     类似的情况可能还有,那么请教大家都是用什么数据结构去存储呢?都用通用表吗?或者说内核中还有什么数据结构可以很方便的做这件事情的,单链表和双链表似乎都没有通用表好。。。大家会自己设计这个数据结构吗?

最新喜欢:

linshierlinshi...
killvxk
论坛版主
论坛版主
  • 注册日期2005-10-03
  • 最后登录2014-04-14
  • 粉丝3
  • 关注1
  • 积分1082分
  • 威望2003点
  • 贡献值0点
  • 好评度1693点
  • 原创分2分
  • 专家分0分
沙发#
发布于:2008-01-30 22:43
ENTRY_LIST linkfield大法~

或者使用邪恶到极限的:建立一个你自己的对象类型,让Windows替你管理对象,可以Create和Close,还可以,....
不过此方法甚为邪恶~~
没有战争就没有进步 X3工作组 为您提供最好的军火
microbe
驱动小牛
驱动小牛
  • 注册日期2007-12-10
  • 最后登录2011-01-17
  • 粉丝1
  • 关注0
  • 积分914分
  • 威望420点
  • 贡献值1点
  • 好评度88点
  • 原创分0分
  • 专家分1分
板凳#
发布于:2008-01-31 11:48
呃。。。酱紫。

那用RTL_GENERIC_TABLE到底有嚒坏处列。。。它跟ENTRY_LIST哪个效率高嗦,就我上文所说的那种情况:会有频繁的查询,但是只有少数时候要插入和删除;

ps:嘛叫linkfield大法。。。
AlexSho
驱动牛犊
驱动牛犊
  • 注册日期2008-01-10
  • 最后登录2017-12-01
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望164点
  • 贡献值0点
  • 好评度45点
  • 原创分0分
  • 专家分0分
  • 社区居民
地板#
发布于:2008-02-13 10:42
GenericTable是树结构,EntryList是链式结构,查询肯定是GenericTable快,插入删除肯定是EntryList快。另外GenericTable有两种工作方式,看哪一种更适合你咯。
amazingzyx
驱动牛犊
驱动牛犊
  • 注册日期2009-03-06
  • 最后登录2010-01-19
  • 粉丝0
  • 关注0
  • 积分18分
  • 威望181点
  • 贡献值2点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2009-09-18 16:01
请问各位大牛:
我看tooflat中有如下一段代码
FileCtxPtr2 = RtlLookupElementGenericTable(&DevExt->FsCtxTable, FileCtxPtr);
据我的理解FileCtxPtr2用来保存加密标识,那么这个函数是怎样将原来的上下文FileCtxPtr 与 FileCtxPtr2建立联系的呢?
非常感谢!
游客

返回顶部