Struct windows_permissions::SecurityDescriptor [−][src]
#[repr(C)]pub struct SecurityDescriptor { /* fields omitted */ }
A Windows security descriptor.
This can only be accessed through a pointer, never constructed directly.
See MSDN for details.
Implementations
impl SecurityDescriptor
[src]
pub fn as_sddl(&self) -> Result<OsString>
[src]
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.
pub fn owner(&self) -> Option<&Sid>
[src]
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);
pub fn group(&self) -> Option<&Sid>
[src]
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);
pub fn dacl(&self) -> Option<&Acl>
[src]
Get the DACL if it exists
pub fn sacl(&self) -> Option<&Acl>
[src]
Get the SACL if it exists
Trait Implementations
impl Debug for SecurityDescriptor
[src]
impl Drop for SecurityDescriptor
[src]
Auto Trait Implementations
impl RefUnwindSafe for SecurityDescriptor
impl Send for SecurityDescriptor
impl Sync for SecurityDescriptor
impl Unpin for SecurityDescriptor
impl UnwindSafe for SecurityDescriptor
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,