Descriptores de seguridad para objetos privados
Para crear un descriptor de seguridad, un servidor protegido puede usar el mismo procedimiento que una aplicación usaría para crear un descriptor de seguridad para un objeto protegible. Para obtener código de ejemplo, vea Crear un descriptor de seguridad para un nuevo objeto en C++. Como alternativa, una aplicación de servidor protegida puede llamar a la función BuildSecurityDescriptor para hacerlo. Si se proporciona un puntero a un descriptor de seguridad relativo existente a BuildSecurityDescriptor, creará el nuevo descriptor de seguridad con información tomada de ese descriptor de seguridad combinado con la nueva información de control de acceso pasada como parámetros en la llamada de función. Opcionalmente, las estructuras TRUSTEE que se pasan a la función especifican el propietario y el grupo. El descriptor de seguridad creado por BuildSecurityDescriptor tiene un formato auto relativo .
Además, la API de Windows proporciona un conjunto de funciones para combinar información de seguridad de cliente con información heredada del descriptor de seguridad de un objeto primario o de un descriptor de seguridad predeterminado. Las funciones CreatePrivateObjectSecurity, GetPrivateObjectSecurity, SetPrivateObjectSecurity y DestroyPrivateObjectSecurity proporcionan la capacidad de recuperar información predeterminada de un token de acceso, admitir la herencia y manipular partes específicas del descriptor de seguridad. Esto puede ser útil cuando un cliente crea un objeto privado en una jerarquía de objetos protegidos. Por ejemplo, podría usar la función CreatePrivateObjectSecurity para crear un descriptor de seguridad que contenía los AEC especificados por el cliente, los AEC heredados de un objeto primario y el propietario predeterminado del token de acceso del cliente de creación. Aunque BuildSecurityDescriptor crea descriptores de seguridad a partir de la información de control de acceso que se pasa a la llamada de función o desde un descriptor de seguridad existente, CreatePrivateObjectSecurity crea un descriptor de seguridad únicamente a partir de la información de los descriptores de seguridad existentes.
La función LookupSecurityDescriptorParts obtiene información del descriptor de seguridad de un descriptor de seguridad autoconstitutivo existente. Esta información incluye la especificación del propietario y del grupo, el número de ACE en sacl o DACL, y la lista de AC en la SACL o DACL.