资 源 简 介
翻译 maninwest@Codeforge 作者 Frankie-C@ CodeprojectSafehandles 是个通过使用强大安全的句柄管理数据结构的库。简介Safe handles 对于需要创建一个可以通过唯一值引用的私有内存结构的程序员来说,是向前迈进的一步,句柄模仿 OS 句柄行为。这个库旨在用于 API 程序设计,或者,适用于需要创建到数据块的安全引用的产品。 使用安全句柄具有以下优势: 安全数据引用,具有句柄的内部一致性检查真正数据的模糊处理保护数据防止数据损坏或不速之客的访问类型检查强制 (SHANDLE 类对虚值指针).句柄复制调试支持线程访问限制(如需要)基于线程的部分垃圾收集 SafeHandles 如何工作一个安全句柄是一个解决数据块问题的类似于 hashing 的方法,通常动态生成,避免了内存冲突和数据损坏。Safehandles 允许定义一个类型字段,它是编码在句柄内的,可以仅通过查看句柄区分数据类型。SafeHandles 创建了存储key/数据对的内存表格。表格的大小是用户定义的。SafeHandles 有 3 大部分:上面的布局是用于 32位计算机,具有最多 256 个句柄(8 位)、16 个类型 (4 位) 和 20位的 key.如果定义了 SAFEHANDLEMEMSAFE 符号,句柄会始终有 MSBit 组来解决无效内存。每个句柄新创建后,KEY 都会更改,如果达到 key 位最大计数则对它们进行包装,该功能使得句柄重用时更加安全。它允许进行句柄