首页
社区
课程
招聘
[求助]_OBJECT_DIRECTORY结构
发表于: 2009-2-18 14:01 4782

[求助]_OBJECT_DIRECTORY结构

2009-2-18 14:01
4782
在5eCur!ty Labs里有篇文章对Object的介绍
Windows对象 (Object) 的组织

其中对OBJECT_DIRECTORY的定义如下
//
// Object Directory Structure
//

#define NUMBER_HASH_BUCKETS 37
#define OBJ_INVALID_SESSION_ID 0xFFFFFFFF

typedef struct _OBJECT_DIRECTORY {
    struct _OBJECT_DIRECTORY_ENTRY *HashBuckets[ NUMBER_HASH_BUCKETS ];
    EX_PUSH_LOCK Lock;
    struct _DEVICE_MAP *DeviceMap;
    ULONG SessionId;
} OBJECT_DIRECTORY, *POBJECT_DIRECTORY



而2k源码中的定义却是这个样子的
typedef struct _OBJECT_DIRECTORY {
    struct _OBJECT_DIRECTORY_ENTRY *HashBuckets[ NUMBER_HASH_BUCKETS ];
    struct _OBJECT_DIRECTORY_ENTRY **LookupBucket;
    BOOLEAN LookupFound;
    USHORT SymbolicLinkUsageCount;
    struct _DEVICE_MAP *DeviceMap;
} OBJECT_DIRECTORY, *POBJECT_DIRECTORY;


是不是2000和xp中对这个结构体的定义不一样呢?

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (1)
雪    币: 12
活跃值: (620)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
2
是的,xp以后微软引入了PUSH LOCK这种读写锁,比SPINLOCK更少资源消耗
不过只在其内部使用,例如对象目录锁:)所以结构就不一样拉
2009-2-18 16:45
0
游客
登录 | 注册 方可回帖
返回