Función ConvertSecurityDescriptorToStringSecurityDescriptorA (sddl.h)

La función ConvertSecurityDescriptorToStringSecurityDescriptor convierte un descriptor de seguridad en un formato de cadena. Puede usar el formato de cadena para almacenar o transmitir el descriptor de seguridad.

Para volver a convertir el descriptor de seguridad de formato de cadena en un descriptor de seguridad funcional válido, llame a la función ConvertStringSecurityDescriptorToSecurityDescriptor .

Sintaxis

BOOL ConvertSecurityDescriptorToStringSecurityDescriptorA(
  [in]  PSECURITY_DESCRIPTOR SecurityDescriptor,
  [in]  DWORD                RequestedStringSDRevision,
  [in]  SECURITY_INFORMATION SecurityInformation,
  [out] LPSTR                *StringSecurityDescriptor,
  [out] PULONG               StringSecurityDescriptorLen
);

Parámetros

[in] SecurityDescriptor

Puntero al descriptor de seguridad que se va a convertir. El descriptor de seguridad puede tener un formato absoluto o relativo.

[in] RequestedStringSDRevision

Especifica el nivel de revisión de la cadena StringSecurityDescriptor de salida. Actualmente, este valor debe ser SDDL_REVISION_1.

[in] SecurityInformation

Especifica una combinación de las marcas de bits de SECURITY_INFORMATION para indicar los componentes del descriptor de seguridad que se van a incluir en la cadena de salida.

La marca BACKUP_SECURITY_INFORMATION no es aplicable a esta función. Si se pasa la marca BACKUP_SECURITY_INFORMATION, el parámetro SecurityInformation devuelve TRUE con la salida de cadena nula .

[out] StringSecurityDescriptor

Puntero a una variable que recibe un puntero a una cadena de descriptor de seguridad terminada en null. Para obtener una descripción del formato de cadena, consulte Formato de cadena del descriptor de seguridad. Para liberar el búfer devuelto, llame a la función LocalFree .

[out] StringSecurityDescriptorLen

Puntero a una variable que recibe el tamaño, en TCHARs, de la cadena de descriptor de seguridad devuelta en el búfer StringSecurityDescriptor . Este parámetro puede ser NULL si no necesita recuperar el tamaño. El tamaño representa el tamaño del búfer en WCHARs, no el número de WCHARs en la cadena.

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. La función GetLastError puede devolver uno de los siguientes códigos de error.

Código devuelto Descripción
ERROR_INVALID_PARAMETER
Un parámetro no es válido.
ERROR_UNKNOWN_REVISION
El nivel de revisión no es válido.
ERROR_NONE_MAPPED
No se encontró un identificador de seguridad (SID) en el descriptor de seguridad de entrada en una operación de búsqueda de cuenta.
ERROR_INVALID_ACL
La lista de control de acceso (ACL) no es válida. Este error se devuelve si la marca SE_DACL_PRESENT se establece en el descriptor de seguridad de entrada y daCL es NULL.

Comentarios

Si la DACL es NULL y el bit de control SE_DACL_PRESENT se establece en el descriptor de seguridad de entrada, se produce un error en la función.

Si la DACL es NULL y el bit de control SE_DACL_PRESENT no se establece en el descriptor de seguridad de entrada, la cadena del descriptor de seguridad resultante no tiene un componente D: . Para obtener más información, vea Formato de cadena de descriptor de seguridad.

Nota

El encabezado sddl.h define ConvertSecurityDescriptorToStringSecurityDescriptor como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutro de codificación con código que no es neutral de codificación puede provocar discrepancias que dan lugar a errores de compilación o en tiempo de ejecución. Para obtener más información, vea Convenciones para prototipos de función.

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 sddl.h
Library Advapi32.lib
Archivo DLL Advapi32.dll

Consulte también

Información general del control de acceso

Funciones básicas de Access Control

ConvertSidToStringSid

ConvertStringSecurityDescriptorToSecurityDescriptor

ConvertStringSidToSid

SECURITY_DESCRIPTOR

SECURITY_INFORMATION