Función SeQuerySecurityDescriptorInfo (ntifs.h)

La rutina SeQuerySecurityDescriptorInfo recupera una copia del descriptor de seguridad de un objeto.

Sintaxis

NTSTATUS SeQuerySecurityDescriptorInfo(
  [in]      PSECURITY_INFORMATION SecurityInformation,
  [out]     PSECURITY_DESCRIPTOR  SecurityDescriptor,
  [in, out] PULONG                Length,
  [in, out] PSECURITY_DESCRIPTOR  *ObjectsSecurityDescriptor
);

Parámetros

[in] SecurityInformation

Puntero a un valor de SECURITY_INFORMATION que especifica qué información de seguridad se está consultando.

Valor Significado
DACL_SECURITY_INFORMATION Indica que se está consultando la lista de control de acceso discrecional (DACL) del objeto. Requiere acceso READ_CONTROL.
GROUP_SECURITY_INFORMATION Indica el identificador de grupo principal del objeto que se está consultando. Requiere acceso READ_CONTROL.
OWNER_SECURITY_INFORMATION Indica el identificador de propietario del objeto que se está consultando. Requiere acceso READ_CONTROL.
SACL_SECURITY_INFORMATION Indica la ACL del sistema (SACL) del objeto que se está consultando. Requiere acceso ACCESS_SYSTEM_SECURITY.

[out] SecurityDescriptor

Búfer de usuario asignado por el autor de la llamada que SeQuerySecurityDescriptorInfo rellena con una copia del descriptor de seguridad especificado en formato auto relativo.

[in, out] Length

Puntero a una variable que especifica el tamaño, en bytes, del búfer al que apunta SecurityDescriptor. Tras la devolución, SeQuerySecurityDescriptorInfo establece esta variable en el número de bytes necesarios para almacenar la información solicitada.

[in, out] ObjectsSecurityDescriptor

Puntero a un puntero al descriptor de seguridad de un objeto. El descriptor de seguridad debe tener un formato auto relativo.

Valor devuelto

Código devuelto Descripción
STATUS_SUCCESS
La llamada a SeQuerySecurityDescriptorInfo se realizó correctamente.
STATUS_BUFFER_TOO_SMALL
El búfer es demasiado pequeño para el descriptor de seguridad. Ninguna de las informaciones de seguridad se copió en el búfer.

Comentarios

Un descriptor de seguridad puede tener un formato absoluto o relativo. 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.

Dado que el descriptor de seguridad se devuelve en formato auto relativo, el autor de la llamada de SeQuerySecurityDescriptorInfo debe convertir el valor devuelto en el parámetro SecurityDescriptor para escribir PISECURITY_DESCRIPTOR_RELATIVE.

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

ACL

RtlAbsoluteToSelfRelativeSD

RtlCreateSecurityDescriptor

RtlCreateSecurityDescriptorRelative

RtlGetOwnerSecurityDescriptor

RtlLengthSecurityDescriptor

RtlSetDaclSecurityDescriptor

RtlSetOwnerSecurityDescriptor

RtlValidSecurityDescriptor

SECURITY_DESCRIPTOR