::  ::  ::  ::  :: 管理

什么是guid

Posted on 2008-06-07 22:06 nt05 阅读(275) 评论(0)  编辑 收藏 引用 所属分类: windows nt
http://baike.baidu.com/view/185358.htm

GUID(全局统一标识符)是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的。通常平台会提供生成GUID的API。生成算法很有意思,用到了以太网卡地址、纳秒级时间、芯片ID码和许多可能的数字。GUID的唯一缺陷在于生成的结果串会比较大。
GUID 的格式为“xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”,其中每个 x 是 0-9 或 a-f 范围内的一个十六进制的数字。例如:6F9619FF-8B86-D011-B42D-00C04FC964FF 即为有效的 GUID 值。
GUID    guid;   
   CoCreateGuid(&guid);   
    
   char    strData1[9];   
   char    strData2[5];   
   char    strData3[5];   
   char    strData4[8][3];   
    
   sprintf(strData1,"%08X",guid.Data1);   
   sprintf(strData2,"%04X",guid.Data2);   
   sprintf(strData3,"%04X",guid.Data3);   
   sprintf(strData4[0],"%02X",guid.Data4[0]);   
   sprintf(strData4[1],"%02X",guid.Data4[1]);   
   sprintf(strData4[2],"%02X",guid.Data4[2]);   
   sprintf(strData4[3],"%02X",guid.Data4[3]);   
   sprintf(strData4[4],"%02X",guid.Data4[4]);   
   sprintf(strData4[5],"%02X",guid.Data4[5]);   
   sprintf(strData4[6],"%02X",guid.Data4[6]);   
   sprintf(strData4[7],"%02X",guid.Data4[7]);   
    
   m_strID.Format("{%s-%s-%s-%s%s-%s%s%s%s%s%s}",strData1,strData2,strData3,   
   strData4[0],strData4[1],strData4[2],strData4[3],strData4[4],strData4[5],strData4[6],strData4[7]);