Поделиться через


Функция ConvertSecurityDescriptorToStringSecurityDescriptorA (sddl.h)

Функция ConvertSecurityDescriptorToStringSecurityDescriptor преобразует дескриптор безопасности в строковый формат. Формат строки можно использовать для хранения или передачи дескриптора безопасности.

Чтобы преобразовать дескриптор безопасности в строковый формат обратно в допустимый дескриптор функциональной безопасности, вызовите функцию ConvertStringSecurityDescriptorToSecurityDescriptor.

Синтаксис

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

Параметры

[in] SecurityDescriptor

Указатель на дескриптор безопасности для преобразования. Дескриптор безопасности может находиться в абсолютном или автономном формате.

[in] RequestedStringSDRevision

Указывает уровень редакции выходного StringSecurityDescriptor строке. В настоящее время это значение должно быть SDDL_REVISION_1.

[in] SecurityInformation

Указывает сочетание флагов SECURITY_INFORMATION битов, чтобы указать компоненты дескриптора безопасности, которые необходимо включить в выходную строку.

Флаг BACKUP_SECURITY_INFORMATION не применим к этой функции. Если флаг BACKUP_SECURITY_INFORMATION передается, параметр securityInformation возвращает значение TRUE с выходными данными строки null.

[out] StringSecurityDescriptor

Указатель на переменную, которая получает указатель на строку дескриптора безопасности, null. Описание строкового формата см. в строковом формате дескриптора безопасности. Чтобы освободить возвращенный буфер, вызовите функцию LocalFree.

[out] StringSecurityDescriptorLen

Указатель на переменную, получающую размер TCHARs, строки дескриптора безопасности, возвращаемой в буфере stringSecurityDescriptor. Этот параметр может быть значение NULL, если не требуется получить размер. Размер представляет размер буфера в WCHAR, а не количество WCHARв строке.

Возвращаемое значение

Если функция выполнена успешно, возвращаемое значение ненулевое.

Если функция завершается ошибкой, возвращаемое значение равно нулю. Чтобы получить расширенные сведения об ошибке, вызовите GetLastError. Функция GetLastError может вернуть один из следующих кодов ошибок.

Возвращаемый код Описание
ERROR_INVALID_PARAMETER
Недопустимый параметр.
ERROR_UNKNOWN_REVISION
Недопустимый уровень редакции.
ERROR_NONE_MAPPED
Идентификатор безопасности (SID) во входном дескрипторе безопасности не удалось найти в операции подстановки учетной записи.
ERROR_INVALID_ACL
Недопустимый список управления доступом (ACL). Эта ошибка возвращается, если флаг SE_DACL_PRESENT задан в дескрипторе безопасности ввода, а daCL NULL.

Замечания

Если daCL NULL, а бит управления SE_DACL_PRESENT задан в дескрипторе безопасности ввода, функция завершается ошибкой.

Если daCL null, а бит управления SE_DACL_PRESENT не задан в дескрипторе безопасности ввода, результирующая строка дескриптора безопасности не имеет компонента D: . Дополнительные сведения см. в строкового формата дескриптора безопасности.

Заметка

Заголовок sddl.h определяет ConvertSecurityDescriptorToStringSecurityDescriptor в качестве псевдонима, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows XP [классические приложения | Приложения UWP]
минимальный поддерживаемый сервер Windows Server 2003 [классические приложения | Приложения UWP]
целевая платформа Виндоус
заголовка sddl.h
библиотеки Advapi32.lib
DLL Advapi32.dll

См. также

Обзор управления доступом

базовые функции управления доступом

ConvertSidToStringSidSid

ConvertStringSecurityDescriptorToSecurityDescriptor

ConvertStringSidToSid

SECURITY_DESCRIPTOR

SECURITY_INFORMATION