Función MakeSelfRelativeSD (securitybaseapi.h)

La función MakeSelfRelativeSD crea un descriptor de seguridad en formato relativo propio mediante un descriptor de seguridad en formato absoluto como plantilla.

Sintaxis

BOOL MakeSelfRelativeSD(
  [in]            PSECURITY_DESCRIPTOR pAbsoluteSecurityDescriptor,
  [out, optional] PSECURITY_DESCRIPTOR pSelfRelativeSecurityDescriptor,
  [in, out]       LPDWORD              lpdwBufferLength
);

Parámetros

[in] pAbsoluteSecurityDescriptor

Puntero a una estructura de SECURITY_DESCRIPTOR en formato absoluto. La función crea una versión de este descriptor de seguridad en formato relativo propio sin modificar el original.

[out, optional] pSelfRelativeSecurityDescriptor

Puntero a un búfer que la función rellena con un descriptor de seguridad en formato relativo propio.

[in, out] lpdwBufferLength

Puntero a una variable que especifica el tamaño del búfer al que apunta el parámetro pSelfRelativeSD . Si el búfer no es lo suficientemente grande para el descriptor de seguridad, se produce un error en la función y establece esta variable en el tamaño mínimo necesario.

Valor devuelto

Si la función se realiza correctamente, el valor devuelto es distinto de cero.

Si la función no se realiza correctamente, el valor devuelto es cero. Para obtener información de error extendida, llame a GetLastError. Entre los códigos de retorno posibles se incluyen, entre otros, los siguientes.

Código o valor devuelto Descripción
ERROR_INSUFFICIENT_BUFFER
0x7A
Uno o varios de los búferes son demasiado pequeños.

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 relativo a sí mismo, una estructura de SECURITY_DESCRIPTOR siempre inicia la información, pero los demás componentes del descriptor de seguridad pueden seguir la estructura 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 de disquete o transmitirse mediante un protocolo de comunicaciones.

Un servidor que copia objetos protegidos en varios medios puede usar la función MakeSelfRelativeSD para crear un descriptor de seguridad auto relativo a partir de un descriptor de seguridad absoluto y la función MakeAbsoluteSD para crear un descriptor de seguridad absoluto a partir de un descriptor de seguridad auto relativo.

Requisitos

Requisito Value
Cliente mínimo compatible Windows XP [aplicaciones de escritorio | aplicaciones para UWP]
Servidor mínimo compatible Windows Server 2003 [aplicaciones de escritorio | aplicaciones para UWP]
Plataforma de destino Windows
Encabezado securitybaseapi.h (incluya Windows.h)
Library Advapi32.lib
Archivo DLL Advapi32.dll

Consulte también

Access Control de bajo nivel

Funciones de Access Control de bajo nivel

MakeAbsoluteSD

SECURITY_DESCRIPTOR