Función RtlAbsoluteToSelfRelativeSD (ntifs.h)

La rutina RtlAbsoluteToSelfRelativeSD crea un nuevo descriptor de seguridad en formato auto relativo mediante un descriptor de seguridad en formato absoluto como plantilla.

Sintaxis

NTSYSAPI NTSTATUS RtlAbsoluteToSelfRelativeSD(
  [in]      PSECURITY_DESCRIPTOR AbsoluteSecurityDescriptor,
  [out]     PSECURITY_DESCRIPTOR SelfRelativeSecurityDescriptor,
  [in, out] PULONG               BufferLength
);

Parámetros

[in] AbsoluteSecurityDescriptor

Puntero a un búfer asignado por el autor de la llamada que contiene una estructura de SECURITY_DESCRIPTOR en formato absoluto. RtlAbsoluteToSelfRelativeSD crea una versión de este descriptor de seguridad en formato auto relativo sin modificar el original.

[out] SelfRelativeSecurityDescriptor

Puntero a un búfer asignado por el autor de la llamada que recibe un descriptor de seguridad en formato auto relativo.

[in, out] BufferLength

Puntero a una variable asignada por el autor de la llamada que especifica el tamaño, en bytes, del búfer al que apunta el parámetro SelfRelativeSecurityDescriptor . Si el búfer no es lo suficientemente grande como para contener el descriptor de seguridad, RtlAbsoluteToSelfRelativeSD devuelve STATUS_BUFFER_TOO_SMALL y establece esta variable en el tamaño mínimo necesario.

Valor devuelto

RtlAbsoluteToSelfRelativeSD devuelve STATUS_SUCCESS o un valor NTSTATUS adecuado, como uno de los siguientes:

Código devuelto Descripción
STATUS_BAD_DESCRIPTOR_FORMAT
El búfer al que apunta el parámetro AbsoluteSecurityDescriptor no contenía una estructura de SECURITY_DESCRIPTOR en formato absoluto. STATUS_BAD_DESCRIPTOR_FORMAT es un código de error.
STATUS_BUFFER_TOO_SMALL
El búfer al que apunta el parámetro SelfRelativeSecurityDescriptor era demasiado pequeño para contener el descriptor de seguridad en formato relativo a sí mismo. STATUS_BUFFER_TOO_SMALL es un código de error.

Comentarios

Un descriptor de seguridad en formato absoluto contiene punteros a la información que contiene, en lugar de contener la propia información. Un descriptor de seguridad en formato autorrelativo contiene la información en un bloque contiguo de memoria. En un descriptor de seguridad auto relativo, una estructura de SECURITY_DESCRIPTOR siempre inicia la información, pero los demás componentes del descriptor de seguridad pueden seguir la estructura SECURITY_DESCRIPTOR en cualquier orden. En lugar de usar direcciones de memoria, los componentes del descriptor de seguridad se identifican mediante desplazamientos desde el principio del descriptor de seguridad. Este formato es útil cuando un descriptor de seguridad debe almacenarse en un disco o transmitirse mediante un protocolo de comunicaciones.

Para crear un nuevo descriptor de seguridad en formato absoluto mediante un descriptor de seguridad en formato auto relativo como plantilla, use RtlSelfRelativeToAbsoluteSD.

Para obtener más información sobre la seguridad y el control de acceso, consulte la documentación de Microsoft Windows SDK.

Requisitos

Requisito Value
Cliente mínimo compatible Windows Server 2003 SP1
Plataforma de destino Universal
Encabezado ntifs.h (incluya Ntifs.h)
Library NtosKrnl.lib
Archivo DLL NtosKrnl.exe (modo kernel); Ntdll.dll (modo de usuario)
IRQL <= APC_LEVEL

Consulte también

ACL

RtlCreateSecurityDescriptor

RtlLengthSecurityDescriptor

RtlSelfRelativeToAbsoluteSD

RtlSetDaclSecurityDescriptor

RtlSetOwnerSecurityDescriptor

RtlValidSecurityDescriptor