GUID


GUID 常用在注册表 com 系统内核对象命名。主要用于单命名空间防止,命名重复


什么是 GUID ?

全球唯一标识符 (GUID) 是一个字母数字标识符,用于指示产品的唯一性安装。在许多流行软件应用程序(例如 Web 浏览器和媒体播放器)中,都使用 GUID。

GUID 的格式为“xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”,其中每个 x 是 0-9 或 a-f 范围内的一个十六进制的数字。例如:6F9619FF-8B86-D011-B42D-00C04FC964FF 即为有效的 GUID 值。

为什么要使用 GUID ?

世界上的任何两台计算机都不会生成重复的 GUID 值。GUID 主要用于在拥有多个节点、多台计算机的网络或系统中,分配必须具有唯一性的标识符。在 Windows 平台上,GUID 应用非常广泛:注册表、类及接口标识、数据库、甚至自动生成的机器名、目录名等。

 
不过GUID的生成算法有部分是你机器的MAC地址,这样也许会导致 个人隐私的潜在泄漏,GUID用来标志不同的COM对象.
用CoCreateGUID可以得到一个GUID.
自己写COM时,1)不要从其他人的程序中复制GUID,否则会导致不同的COM对象使用
相同的GUID.2)不要随便写一个.
GUID有两种不同的形式.Interface ID , 引用的接口;
Class ID ,引用的是服务器中的特定对象.
所有与com有关的都会用到guids
 
它一般是通过一种算法根据机器上的网卡的物理地址(MAC)来产生的。因此,可把它做为一个唯一的标识来进行使用。GUID一般在WINDOWS下,做COM控件的类标识符,或者做为一个接口的标识。因此,我们在一些书中还可看到CLSID,IID这样的名词。它们实际上都是在说GUID。打开注册表,就会发现许多COM或者OLE自动化服务器的注册值,它们都是一些GUID。在编程时,许多工具可以自动生成GUID,比如DELPHI。我们在程序中可以通过常量名来指代一个GUID,一般用在利用COM或接口时。
 
他一般由微软的程序GuidGen.exe生成。
此程序会参照您机器的硬件(网卡、硬盘、主板、CPU..)
和当前时间作参数生成GUID。所生成的GUID在全球范围
几乎不会有重复的,因此他最适合做COM对象的ID.Windows在
创建COM对象时就是根据此ID在注册表中寻找包含该对象的库
的位置。
以前叫做UUID(Universal Unique IDentity),MS觉得此名太过夸张,后正式更名为GUID。它是为COM的前身OLE2开发的,用来标识各种对象类和接口,不同的场合有不同的叫法(CLSID,IID等),主要是为了方便,没有任何本质上的不同。它的重复几率非常小,MS形容为“一粒宇宙尘埃击中了纽约下水道里的一只耗子并变成了一个加州小鳄梨”。他基于当前日期时间和网卡的物理地址用一种特殊算法产生,网卡的物理地址将会在100年后重复,然而没有任何一块网卡会被使用超过100年,MS保证在将来的3000多年内一个GUID是唯一的。它的应用范围决不仅限于为COM提供支持,SQL Server 7已经把它作为一种新的数据类型,可以作为ROWGUID,用来支持数据库复制,而早在这之前我就已经在Sybase 11。5中用上了,作为表中的主键,可以在整个Cyber空间里唯一的标识一条记录,另外它还被用于应用软件运行许可的管理上,而且肯定还会有新的应用领域。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值