Функция ConvertStringSecurityDescriptorToSecurityDescriptorA (sddl.h)
Функция ConvertStringSecurityDescriptorToSecurityDescriptor преобразует дескриптор безопасности в формате строки в допустимый функциональный дескриптор безопасности. Эта функция извлекает дескриптор безопасности, преобразованный функцией ConvertSecurityDescriptorToStringSecurityDescriptor в строковый формат.
Синтаксис
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 может возвращать один из следующих кодов ошибок.
Код возврата | Описание |
---|---|
|
Недействительный параметр. |
|
Недопустимый уровень редакции SDDL. |
|
Идентификатор безопасности (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 или Юникод этой функции на основе определения константы препроцессора UNICODE. Сочетание использования псевдонима, не зависящий от кодировки, с кодом, не зависящим от кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows XP [классические приложения | Приложения UWP] |
Минимальная версия сервера | Windows Server 2003 [классические приложения | Приложения UWP] |
Целевая платформа | Windows |
Header | sddl.h |
Библиотека | Advapi32.lib |
DLL | Advapi32.dll |
См. также раздел
Базовые функции контроль доступа