__uuidof 关键字用来获得表达式的GUID。这个表达式可以是一种类型,名称、一个指针‘引用或者一个类型的数组、一个有这个类型实例化的模板或者这种类型的变量。 只要编译器能使该参数获得相关的GUID,那么该参数就是有效的。一个特殊案件,这是内在时,无论是零或null是供应作为论据。在这种情况下, __uuidof将返回一个GUID ,弥补了零点。
注意:
在调试建设, __uuidof始终初始化一个对象动态(在运行时),
在释放建设, __uuidof可以静态(在编译时)初始化一个对象。
GUID(全国统一的标识符)是指在一台机器上生成的数字,他保证对在同一时空中的所有机器都是唯一的。
1.一个GUID为一个128位的整数(16字节),在使用唯一标识符的情况下,你可以在所有计算机和网络之间使用这一整数。
2.GUID的格式为“XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX”,每个x是0-9或A-F范围内的一个十六进制的数字。
3.世间上的任何两台计算机都不会生成重复的GUID值。GUID主要用在拥有多个节点、多台计算机的网络或系统中,分配必须具有唯一性的标识符。
4.在Windows平台上,GUID应用非常广泛:注册表、类及接口标示、数据库、甚至自动生成的机器名、目录名。
1、在 SQL Server 中使用 GUID
如果在 SQL Server 的表定义中将列类型指定为 uniqueidentifier,则列的值就为 GUID 类型。
SQL Server 中的 NewID() 函数可以产生 GUID 唯一值,使用此函数的几种方式如下:
1) 作为列默认值
将 uniqueidentifier 的列的默认值设为 NewID(),这样当新行插入表中时,会自动生成此列 GUID 值。
2)使用 T-SQL
在 T-SQL 中使用 NewID()函数,如“INSERT INTO Table(ID,... ) VALUES(NewID(),...)”来生成此列的 GUID 值。