小编Oli*_*ier的帖子

如何在 CreateEvent 的 SDDL 字符串中添加同步权

我的 Windows 服务使用 CreateEvent 创建 2 个事件,以便与用户应用程序进行通信。该服务和用户应用程序不在同一用户帐户下运行。用户应用程序打开事件并将其设置为有信号,不会出现错误。但该服务从未收到该事件。另一个事件的作用方向相反。所以我认为这些事件错​​过了同步权利。

服务:

SECURITY_ATTRIBUTES security;
ZeroMemory(&security, sizeof(security));
security.nLength = sizeof(security);
ConvertStringSecurityDescriptorToSecurityDescriptor(L"D:P(A;OICI;GA;;;SY)(A;OICI;GA;;;BA)(A;OICI;GWGR;;;IU)", SDDL_REVISION_1, &security.lpSecurityDescriptor, NULL);
EvtCreateNewUserSession = CreateEventW( 
            &security,       // security attributes
            TRUE,       // manual-reset event
            FALSE,      // initial state is not signaled
            L"Global\\MyEvent"      // object name 
            );
Run Code Online (Sandbox Code Playgroud)

互动应用程序:

HANDLE EvtCreateNewUserSession = OpenEventW( 
EVENT_MODIFY_STATE | SYNCHRONIZE,       // default security attributes
FALSE,      // initial state is not signaled
L"Global\\MyEvent"      // object name 
;
Run Code Online (Sandbox Code Playgroud)

感谢您的帮助,

奥利维尔

windows service acl dacl

5
推荐指数
1
解决办法
1076
查看次数

标签 统计

acl ×1

dacl ×1

service ×1

windows ×1