Fix compilation error on MinGW.

MinGW has nonstandard definition of PSECURITY_DESCRIPTOR, which requires
a cast when calling WinAPI functions InitializeSecurityDescriptor and
SetSecurityDescriptorDacl. This is done by Boost.WinAPI wrapper functions.

Fixes https://github.com/boostorg/interprocess/issues/118.
This commit is contained in:
Andrey Semashev
2020-06-07 15:22:10 +03:00
parent f2ecdc70ef
commit daa782cd92

View File

@@ -716,9 +716,9 @@ class interprocess_all_access_security
interprocess_all_access_security()
: initialized(false)
{
if(!InitializeSecurityDescriptor(&sd, security_descriptor_revision))
if(!boost::winapi::InitializeSecurityDescriptor(&sd, security_descriptor_revision))
return;
if(!::SetSecurityDescriptorDacl(&sd, true, 0, false))
if(!boost::winapi::SetSecurityDescriptorDacl(&sd, true, 0, false))
return;
sa.lpSecurityDescriptor = &sd;
sa.nLength = sizeof(interprocess_security_attributes);