Función ConvertStringSecurityDescriptorToSecurityDescriptorA (sddl.h)

La función ConvertStringSecurityDescriptorToSecurityDescriptor convierte un descriptor de seguridad de formato de cadena en un descriptor de seguridad funcional válido. Esta función recupera un descriptor de seguridad que la función ConvertSecurityDescriptorToStringSecurityDescriptor convierte en formato de cadena.

Sintaxis

BOOL ConvertStringSecurityDescriptorToSecurityDescriptorA(
  [in]  LPCSTR               StringSecurityDescriptor,
  [in]  DWORD                StringSDRevision,
  [out] PSECURITY_DESCRIPTOR *SecurityDescriptor,
  [out] PULONG               SecurityDescriptorSize
);

Parámetros

[in] StringSecurityDescriptor

Puntero a una cadena terminada en null que contiene el descriptor de seguridad de formato de cadena que se va a convertir.

[in] StringSDRevision

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

[out] SecurityDescriptor

Puntero a una variable que recibe un puntero al descriptor de seguridad convertido. El descriptor de seguridad devuelto es relativo a sí mismo. Para liberar el búfer devuelto, llame a la función LocalFree . Para convertir el descriptor de seguridad en un descriptor de seguridad absoluto, use la función MakeAbsoluteSD .

[out] SecurityDescriptorSize

Puntero a una variable que recibe el tamaño, en bytes, del descriptor de seguridad convertido. Este parámetro puede ser NULL.

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. 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 de SDDL no es válido.
ERROR_NONE_MAPPED
No se encontró un identificador de seguridad (SID) en la cadena del descriptor de seguridad de entrada en una operación de búsqueda de cuentas.

Comentarios

Si ace_type está ACCESS_ALLOWED_OBJECT_ACE_TYPE y ni object_guid ni inherit_object_guid tienen un GUID especificado, ConvertStringSecurityDescriptorToSecurityDescriptor convierte ace_type en ACCESS_ALLOWED_ACE_TYPE. Para obtener información sobre los campos de ace_type, object_guid y inherit_object_guid , vea Cadenas ace.

Nota

El encabezado sddl.h define ConvertStringSecurityDescriptorToSecurityDescriptor 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 neutral de codificación con código que no es neutral de codificación puede dar lugar a errores de coincidencia que dan lugar a errores de compilación o 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

ConvertSecurityDescriptorToStringSecurityDescriptor

ConvertSidToStringSid

ConvertStringSidToSid

MakeAbsoluteSD

SECURITY_DESCRIPTOR