欧非资源网:安全、免费、专业放心的资源下载站! 最新软件|软件分类

您的位置:欧非资源网 > 其他专区 > OneNote > OneNote COM组件对象模型,与GUID-全局唯一标识符

OneNote COM组件对象模型,与GUID-全局唯一标识符

时间:2020-12-07 20:56作者:admin来源:未知人气:314我要评论(0)

在讨论onenote的内置对象的ID属性之前,有必要先了解一个基础概念——GUID,全局唯一标识符。

COM,全称是ComponentObjectModel,即组件对象模型。COM是微软为提高软件开发效率而开发出的一种软件开发新技术。OLE、ActiveX及DirectX等都是基于COM建立起来的。

在COM规范中,客户程序不会直接访问COM组件,而是通过一个全局标识符进行对象的创建和初始化工作。在规范设计之初,设计人员需要考虑的问题是:如何定义全局标识符,才能确保其唯一性呢?通过GUID。GUID广泛应用于微软的产品中,例如,而微软系统的注册表、接口标识、数据库等对象中,随处可见GUID。

1.IP地址是如何保证唯一性的?

设计人员最先考虑的是IP地址的实现方式。

在TCP/IP网络协议中,用IP地址来标识每一台计算机,这种地址具有唯一性,这是互联网实现正常通信的基本前提。IP地址是一个32位的二进制数。为了确保唯一性,IP地址由权威机构InternetNIC在全球范围内进行统一分配。

而对于COM组件的开发和使用,显然不可能专门弄个管理机构来分配标识符,如果是那样就毫无开发效率可言了。于是微软采用了另一种方式:发明一种算法,每次都能产生全球唯一的标识符。

2.GUID的产生

没有管理机构,又该如何保证标识符的唯一性?COM规范采用128位的全局唯一标识符(即GUID,GloballyUniqueIdentifier),这是一个由特殊算法产生的随机数,不需要专门的管理机构。

既然是随机数,那就不可能绝对保证唯一性,但GUID重复的概率是极低的。《COM原理与应用》一书中指出,“从理论上讲,如果一台机器每秒产生10000000个GUID,则可以保证(概率意义上)3240年不重复。”

GUID的随机性可以从两方面得到保证:1.空间,对联网机器,取网络适配器的地址值,未联网机器则用其他算法产生;2.时间,同一机器在不同时间产生的标识符自然是不相同的。因此,在实际使用时,根本无需担心会产生重复的GUID。

3.GUID的格式

GUID的格式为“xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”(32个x),其中每个x是0-F范围内的一个16进制数字。一个16进制是4个二进制,所以GUID是一个二进制长度为128位的数字标识符。

例如,F3786832-BC35-45D6-97A4-98B7F4A025F6,即为一个有效的GUID值。

相关阅读 ​onenote如何设置画笔的颜色和厚度​onenote如何使用页面版本​onenote如何禁用笔记本的历史记录​onenote如何插入带框公式​onenote软件如何按照作者查找笔记​onenote如何查找昨天编辑的笔记内容​onenote如何新建共享笔记本​onenote如何一键备份修改过的文件​onenote如何备份所有的笔记本​onenote如何将新建的便签放置在桌面侧边

文章评论
发表评论

热门文章 OneNote中如何打开其他人共享的笔记本?将全网 OneNote 插件一网打尽OneNote 的存储空间到底多大?如何给 OneNote 免费扩容?Notability的一些使用技巧及知乎问题总结

最新文章 ​onenote如何设置画笔的颜色和厚度​onenote如何使用页面版本 ​onenote如何禁用笔记本的历史记录​onenote如何插入带框公式​onenote软件如何按照作者查找笔记​onenote如何查找昨天编辑的笔记内容

人气排行 OneNote中如何打开其他人共享的笔记本?将全网 OneNote 插件一网打尽OneNote 的存储空间到底多大?如何给 OneNote 免费扩容?Notability的一些使用技巧及知乎问题总结如何直接在 OneNote 里查看和批注 PDF 附件OneNote这似乎不是工作或学校电子邮件 不能在此处使用个人账户登无法登录OneNote 的最佳解决办法如何导出 OneNote 笔记本到本地

盖楼回复X

(您的评论需要经过审核才能显示)