Function winsafe::AllocateAndInitializeSid
source · pub fn AllocateAndInitializeSid(
identifier_authority: &SID_IDENTIFIER_AUTHORITY,
sub_authorities: &[RID]
) -> SysResult<FreeSidGuard>
Available on crate feature
kernel
only.Expand description
AllocateAndInitializeSid
function.
§Panics
Panics if sub_authorities
has more than 8 elements.
§Examples
Create a well-known SID for the Everyone group:
use winsafe::{self as w, prelude::*, co};
let sid_everyone = w::AllocateAndInitializeSid(
&w::SID_IDENTIFIER_AUTHORITY::WORLD,
&[
co::RID::SECURITY_WORLD,
],
)?;
// FreeSid() automatically called
Create a SID for the BUILTIN\Administrators group:
use winsafe::{self as w, prelude::*, co};
let sid_builtin_administrators = w::AllocateAndInitializeSid(
&w::SID_IDENTIFIER_AUTHORITY::NT,
&[
co::RID::SECURITY_BUILTIN_DOMAIN,
co::RID::DOMAIN_ALIAS_ADMINS,
],
)?;
// FreeSid() automatically called