def sacl(self): """The SACL of the security descriptor. You may need special attention to retrieve it (see :class:`DEFAULT_SECURITY_INFORMATION`) :type: :class:`Acl` or ``None`` if the SACL was ``NULL`` or not present """ sacl_present = gdef.BOOL() psacl = gdef.PACL() lpbSaclDefaulted = gdef.BOOL() winproxy.GetSecurityDescriptorSacl(self, sacl_present, psacl, lpbSaclDefaulted) if not sacl_present or not psacl: return None return ctypes.cast(psacl, PAcl)[0]
def dacl(self): """The DACL of the security descriptor. :type: :class:`Acl` or ``None`` if the DACL was ``NULL`` or not present """ dacl_present = gdef.BOOL() pdacl = gdef.PACL() lpbDaclDefaulted = gdef.BOOL() winproxy.GetSecurityDescriptorDacl(self, dacl_present, pdacl, lpbDaclDefaulted) if not dacl_present or not pdacl: return None return ctypes.cast(pdacl, PAcl)[0]
def group(self): """The group of the security descriptor :type: :class:`~windows.generated_def.winstructs.PSID` or ``None`` """ group = gdef.PSID() lpbGroupDefaulted = gdef.BOOL() winproxy.GetSecurityDescriptorGroup(self, group, lpbGroupDefaulted) # Return None of group is NULL return group or None
def owner(self): """The owner of the security descriptor :type: :class:`~windows.generated_def.winstructs.PSID` or ``None`` """ owner = gdef.PSID() lpbOwnerDefaulted = gdef.BOOL() winproxy.GetSecurityDescriptorOwner(self, owner, lpbOwnerDefaulted) # Return None of owner is NULL return owner or None