通过命名内核对象进行进程间共享 ---C++生GUID

使用命名对象,进行跨进程边界共享内核对象. 系统无法保证对象名称的唯一性,可以创建一个GUID,并将这个GUID的字符串

形式作为名称使用.

 

 

1 // --生成GUID的代码
 2 // --相关程序/微软guidgen.exe
 3
 4 #include  " stdafx.h "
 5 #include  < objbase.h >
 6 #include  < stdio.h >
 7
 8 // --生成GUID
 9 const   char *  newGUID()
10 {
11   static   char  buf[ 64 =   { 0 } ;
12  GUID guid;
13   if  (S_OK  ==  ::CoCreateGuid( & guid))
14   {
15   _snprintf(buf,  sizeof (buf)
16    ,  " {%08X-%04X-%04x-%02X%02X-%02X%02X%02X%02X%02X%02X} "
17    , guid.Data1
18    , guid.Data2
19    , guid.Data3
20    , guid.Data4[ 0 ], guid.Data4[ 1 ]
21    , guid.Data4[ 2 ], guid.Data4[ 3 ], guid.Data4[ 4 ], guid.Data4[ 5 ]
22    , guid.Data4[ 6 ], guid.Data4[ 7 ]
23    );
24  }

25   return  ( const   char * )buf;
26 }

27
28 int  main( int  argc,  char *  argv[])
29 {
30   // --COM
31  CoInitialize(NULL);
32
33  printf(newGUID());
34  printf( " /r/n " );
35
36   // --COM
37  CoUninitialize();
38
39   return   0 ;
40 }

41
42

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值