Función SeSetSecurityDescriptorInfo (ntifs.h)
La rutina SeSetSecurityDescriptorInfo establece el descriptor de seguridad de un objeto.
Sintaxis
NTSTATUS SeSetSecurityDescriptorInfo(
[in, optional] PVOID Object,
[in] PSECURITY_INFORMATION SecurityInformation,
PSECURITY_DESCRIPTOR ModificationDescriptor,
[in, out] PSECURITY_DESCRIPTOR *ObjectsSecurityDescriptor,
[in] POOL_TYPE PoolType,
[in] PGENERIC_MAPPING GenericMapping
);
Parámetros
[in, optional] Object
Puntero al objeto cuyo descriptor de seguridad se va a establecer. Se usa para actualizar la información de cuota de seguridad.
[in] SecurityInformation
Puntero a una máscara de bits que especifica qué información de seguridad se va a aplicar al objeto . Puede ser una combinación de uno o varios de los valores siguientes.
Valor | Significado |
---|---|
DACL_SECURITY_INFORMATION | Indica que se está configurando la lista de control de acceso discrecional (DACL) del objeto. Requiere acceso WRITE_DAC. |
GROUP_SECURITY_INFORMATION | Indica el identificador de grupo principal del objeto que se está configurando. Requiere acceso WRITE_OWNER. |
OWNER_SECURITY_INFORMATION | Indica que se está configurando el identificador de propietario del objeto. Requiere acceso WRITE_OWNER. |
SACL_SECURITY_INFORMATION | Indica que se está configurando la ACL del sistema (SACL) del objeto. Requiere acceso ACCESS_SYSTEM_SECURITY. |
ModificationDescriptor
Descriptor de seguridad de entrada que se va a aplicar al objeto . Se espera que el autor de la llamada de esta rutina sondee y capture el descriptor de seguridad pasado antes de llamar a SeSetSecurityDescriptorInfo y liberarlo después.
[in, out] ObjectsSecurityDescriptor
Puntero a un puntero al descriptor de seguridad del objeto. El descriptor de seguridad debe tener un formato auto relativo. El autor de la llamada es responsable de liberar esta estructura cuando ya no es necesario.
[in] PoolType
Especifica el tipo de grupo que se va a usar al asignar un nuevo descriptor de seguridad, que puede ser uno de los siguientes:
- NonPagedPool
- PagedPool
- NonPagedPoolCacheAligned
- PagedPoolCacheAligned
Normalmente, un llamador especifica PagedPool o NonPagedPool si se accede al búfer en IRQL >= DISPATCH_LEVEL o en un contexto de subproceso arbitrario.
Los tipos de grupo NonPagedPoolMustSucceed y NonPagedPoolCacheAlignedMustS están obsoletos y ya no deben usarse.
[in] GenericMapping
Puntero a una estructura de GENERIC_MAPPING que especifica la asignación de tipos de acceso genéricos a tipos de acceso específicos y estándar para el objeto al que se accede. Se espera que esta estructura de asignación sea segura para acceder (es decir, capturada si es necesario) antes de pasarse a esta rutina.
Valor devuelto
Código devuelto | Descripción |
---|---|
STATUS_SUCCESS | El descriptor de seguridad del objeto se modificó correctamente. |
STATUS_BAD_DESCRIPTOR_FORMAT | El descriptor de seguridad del objeto proporcionado no estaba en formato relativo a sí mismo. |
STATUS_NO_SECURITY_ON_OBJECT | El objeto no tiene un descriptor de seguridad. |
Comentarios
SeSetSecurityDescriptorInfo modifica el descriptor de seguridad existente de un objeto. Si el objeto no tiene un descriptor de seguridad, se producirá un error en la llamada a SeSetSecurityDescriptorInfo .
Para especificar si el objeto admite la herencia automática de entradas de control de acceso (ACE), use SeSetSecurityDescriptorInfoEx.
Un descriptor de seguridad puede estar en forma absoluta o relativa. En forma auto-relativa, todos los miembros de la estructura se encuentran contiguamente en la memoria. En forma absoluta, la estructura solo contiene punteros a los miembros.
Para obtener más información sobre la seguridad y el control de acceso, consulte Modelo de seguridad de Windows para desarrolladores de controladores y la documentación sobre estos temas en Windows SDK.
Requisitos
Requisito | Value |
---|---|
Plataforma de destino | Universal |
Encabezado | ntifs.h (incluya Ntifs.h) |
Library | NtosKrnl.lib |
Archivo DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |
Consulte también
RtlCreateSecurityDescriptorRelative