首页 > 其他分享 >创建事件对象全局对象

创建事件对象全局对象

时间:2022-12-07 13:00:43浏览次数:48  
标签:FALSE E663034E2FF5 对象 创建 7156 0BA8 全局 guid

在编程时经常使用EVENT事件对象,在写代码时使用如下代码

TCHAR guid[] = _TEXT("2507C4EF-CBA1-7156-0BA8-E663034E2FF5");
HANDLE hEvent = CreateEvent(NULL, FALSE, FALSE, &guid[0]);

创建出来的事件对象名称为\Sessions\1\BaseNamedObjects\2507C4EF-CBA1-7156-0BA8-E663034E2FF5    Sessions后面的1为会话ID,这个事件对象名称是使用Process Explorer看出来的。

但是在服务程序中使用guid打开这个事件对象时,是无法成功的,因为存在会话隔离,所以我们需要创建全局对象,在对象名称前添加global,如下编写代码

TCHAR guid[] = _TEXT("Global\\2507C4EF-CBA1-7156-0BA8-E663034E2FF5");
HANDLE hEvent = CreateEvent(NULL, FALSE, FALSE, &guid[0]);

使用这个全局的guid创建的对象,在服务的会话或者其它会话中也可以打开,这个叫做全局对象。在Process Explorer中这个事件对象名称为\BaseNamedObjects\2507C4EF-CBA1-7156-0BA8-E663034E2FF5

标签:FALSE,E663034E2FF5,对象,创建,7156,0BA8,全局,guid
From: https://www.cnblogs.com/ps12345678/p/16962772.html

相关文章