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
def retrieve_psid_from_addr(addr): psid_addr = addr + gdef.CLAIM_SECURITY_ATTRIBUTE_OCTET_STRING_RELATIVE.OctetString.offset return gdef.PSID(psid_addr)
def sid(self): """The sid described by the ``ACE`` :type: :class:`windows.generated_def.winstructs.PSID` """ return gdef.PSID(ctypes.addressof(self) + self._sid_offset())