Функция LookupSecurityDescriptorPartsA (aclapi.h)
Функция LookupSecurityDescriptorParts извлекает сведения о безопасности из самостоятельного дескриптора безопасности.
Синтаксис
DWORD LookupSecurityDescriptorPartsA(
[out, optional] PTRUSTEE_A *ppOwner,
[out, optional] PTRUSTEE_A *ppGroup,
[out, optional] PULONG pcCountOfAccessEntries,
[out, optional] PEXPLICIT_ACCESS_A *ppListOfAccessEntries,
[out, optional] PULONG pcCountOfAuditEntries,
[out, optional] PEXPLICIT_ACCESS_A *ppListOfAuditEntries,
[in] PSECURITY_DESCRIPTOR pSD
);
Параметры
[out, optional] ppOwner
Указатель на переменную, получающую указатель на структуру TRUSTEE . Функция ищет имя, связанное с идентификатором безопасности владельца (SID) в дескрипторе безопасностиpSD, и возвращает указатель на имя в элементе ptstrName структуры TRUSTEE. Функция задает для члена TrusteeForm значение TRUSTEE_IS_NAME.
Этот параметр может иметь значение NULL , если вас не интересует имя владельца.
[out, optional] ppGroup
Указатель на переменную, получающую указатель на структуру TRUSTEE . Функция ищет имя, связанное с идентификатором безопасности основной группы дескриптора безопасности, и возвращает указатель на имя в элементе ptstrName структуры TRUSTEE . Функция задает для члена TrusteeForm значение TRUSTEE_IS_NAME.
Этот параметр может иметь значение NULL , если имя группы не требуется.
[out, optional] pcCountOfAccessEntries
Указатель на ULONG , получающий количество EXPLICIT_ACCESS структур, возвращенных в массиве pListOfAccessEntries . Этот параметр может иметь значение NULL , только если параметр pListOfAccessEntries также имеет значение NULL.
[out, optional] ppListOfAccessEntries
Указатель на переменную, получающую указатель на массив EXPLICIT_ACCESS структур, описывающих записи управления доступом (ACE) в списке управления доступом (DACL) дескриптора безопасности. Структура TRUSTEE в этих EXPLICIT_ACCESS структурах использует форму TRUSTEE_IS_NAME. Описание того, как массив структур EXPLICIT_ACCESS описывает ACE в списке управления доступом (ACL), см. в статье Функция GetExplicitEntriesFromAcl . Если этот параметр имеет значение NULL, параметр cCountOfAccessEntries также должен иметь значение NULL.
[out, optional] pcCountOfAuditEntries
Указатель на ULONG , получающий количество EXPLICIT_ACCESS структур, возвращенных в массиве pListOfAuditEntries . Этот параметр может иметь значение NULL , только если параметр pListOfAuditEntries также имеет значение NULL.
[out, optional] ppListOfAuditEntries
Указатель на переменную, получающую указатель на массив EXPLICIT_ACCESS структур, описывающих ACE в системном списке управления доступом (SACL) дескриптора безопасности. Структура ПОПЕЧИТЕЛЬ в этих EXPLICIT_ACCESS структурах использует форму TRUSTEE_IS_NAME. Если этот параметр имеет значение NULL, параметр cCountOfAuditEntries также должен иметь значение NULL.
[in] pSD
Указатель на существующий самостоятельный дескриптор безопасности , из которого функция извлекает сведения о безопасности.
Возвращаемое значение
Если функция завершается успешно, функция возвращает ERROR_SUCCESS.
Если функция завершается сбоем, она возвращает ненулевой код ошибки, определенный в WinError.h.
Комментарии
Функция LookupSecurityDescriptorParts извлекает имена владельца и основной группы дескриптора безопасности. Эта функция также возвращает описания ACE в DACL и записи audit-control в списке SACL дескриптора безопасности.
Параметры, отличные от pSD, могут иметь значение NULL , если вы не заинтересованы в информации. Если вам не нужны сведения о DACL, значения pListOfAccessEntries и cCountOfAuditEntries должны иметь значение NULL. Если вам не нужны сведения о saCL, значения pListOfAuditEntries и cCountOfAuditEntries должны иметь значение NULL. Аналогичным образом, если требуется информация о DACL или SACL, оба соответствующих параметра не должны иметь значение NULL.
Завершив использование любого из буферов, возвращаемых параметрами pOwner, pGroup, pListOfAccessEntries или pListOfAuditEntries , освободите их, вызвав функцию LocalFree .
Функция LookupSecurityDescriptorParts предназначена для доверенных серверов, которые реализуют или предоставляют безопасность для собственных объектов. Функция работает с самостоятельным дескрипторем безопасности, подходящим для сериализации в потоке и хранения на диске, как это может потребоваться для доверенного сервера.
Примечание
Заголовок aclapi.h определяет LookupSecurityDescriptorParts в качестве псевдонима, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОД. Использование псевдонима, не зависящий от кодирования, с кодом, который не является нейтральным для кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или времени выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows XP [только классические приложения] |
Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
Целевая платформа | Windows |
Header | aclapi.h |
Библиотека | Advapi32.lib |
DLL | Advapi32.dll |
См. также раздел
Функции контроль доступа клиента или сервера