#[repr(C)]pub struct SecurityDescriptor { /* private fields */ }
Expand description
A Windows security descriptor.
This can only be accessed through a pointer, never constructed directly.
See MSDN for details.
Implementations§
Source§impl SecurityDescriptor
impl SecurityDescriptor
Sourcepub fn as_sddl(&self) -> Result<OsString>
pub fn as_sddl(&self) -> Result<OsString>
Get the Security Descriptor Definition Language (SDDL) string
corresponding to this SecurityDescriptor
This function attempts to get the entire SDDL string using
SecurityInformation::all()
. To get a portion of the SDDL, use
wrappers::ConvertSecurityDescriptorToStringSecurityDescriptor
directly.
Sourcepub fn owner(&self) -> Option<&Sid>
pub fn owner(&self) -> Option<&Sid>
Get the owner SID if it exists
use windows_permissions::{LocalBox, SecurityDescriptor, Sid};
let sd1: LocalBox<SecurityDescriptor> = "O:S-1-5-10-20".parse().unwrap();
let sd2: LocalBox<SecurityDescriptor> = "G:S-1-5-10-20".parse().unwrap();
assert_eq!(sd1.owner().unwrap(),
&*Sid::new([0, 0, 0, 0, 0, 5], &[10, 20]).unwrap());
assert_eq!(sd2.owner(), None);
Sourcepub fn group(&self) -> Option<&Sid>
pub fn group(&self) -> Option<&Sid>
Get the group SID if it exists
use windows_permissions::{LocalBox, SecurityDescriptor, Sid};
let sd1: LocalBox<SecurityDescriptor> = "G:S-1-5-10-20".parse().unwrap();
let sd2: LocalBox<SecurityDescriptor> = "O:S-1-5-10-20".parse().unwrap();
assert_eq!(sd1.group().unwrap(),
&*Sid::new([0, 0, 0, 0, 0, 5], &[10, 20]).unwrap());
assert_eq!(sd2.group(), None);
Trait Implementations§
Source§impl Debug for SecurityDescriptor
impl Debug for SecurityDescriptor
Auto Trait Implementations§
impl Freeze for SecurityDescriptor
impl RefUnwindSafe for SecurityDescriptor
impl Send for SecurityDescriptor
impl Sync for SecurityDescriptor
impl Unpin for SecurityDescriptor
impl UnwindSafe for SecurityDescriptor
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more