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


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

Функция ConvertStringSecurityDescriptorToSecurityDescriptor преобразует дескриптор дескриптора безопасности строкового формата в допустимый дескриптор функциональной безопасности. Эта функция извлекает дескриптор безопасности, преобразованный в строковый формат ConvertSecurityDescriptorToStringSecurityDescript or.

Синтаксис

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

Параметры

[in] StringSecurityDescriptor

Указатель на строку, завершающую значение NULL, содержащую дескриптор безопасности строкового формата, для преобразования.

[in] StringSDRevision

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

[out] SecurityDescriptor

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

[out] SecurityDescriptorSize

Указатель на переменную, которая получает размер в байтах преобразованного дескриптора безопасности. Этот параметр может иметь значение NULL.

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

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

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

Возвращаемый код Описание
ERROR_INVALID_PARAMETER
Недопустимый параметр.
ERROR_UNKNOWN_REVISION
Недопустимый уровень редакции SDDL.
ERROR_NONE_MAPPED
Идентификатор безопасности (SID) во входной строке дескриптора безопасности не удалось найти в операции подстановки учетной записи.

Замечания

Если ace_type ACCESS_ALLOWED_OBJECT_ACE_TYPE и ни object_guid, ни inherit_object_guid не указан GUID , ConvertStringSecurityDescriptorToSecurityDescriptor преобразует ace_type в ACCESS_ALLOWED_ACE_TYPE. Сведения о полях ace_type, object_guidи inherit_object_guid см. в строках Ace.

Заметка

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

Требования

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

См. также

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

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

ConvertSecurityDescriptorToStringSecurityDescriptor

ConvertSidToStringSidSid

ConvertStringSidToSid

MakeAbsoluteSD

SECURITY_DESCRIPTOR