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


Функция 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) в дескриптор безопасностибезопасности, и возвращает указатель на имя в элементе 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, описывающих записи управления доступом (ACEs) в списке управления доступом (DACL) дескриптора безопасности. Структура ПОПЕЧИТЕЛЬ в этих структурах EXPLICIT_ACCESS использует форму TRUSTEE_IS_NAME. Описание того, как массив структур EXPLICIT_ACCESS описывает acEs в списке управления доступом (ACL), см. функцию GetExplicitEntriesFromAcl. Если этот параметр NULL, параметр cCountOfAccessEntries также должен быть NULL.

[out, optional] pcCountOfAuditEntries

Указатель на ULONG, получающий количество структур EXPLICIT_ACCESS, возвращенных в массиве pListOfAuditEnt ries. Этот параметр может быть NULL только в том случае, если параметр pListOfAuditEntries также NULL.

[out, optional] ppListOfAuditEntries

Указатель на переменную, которая получает указатель на массив структур EXPLICIT_ACCESS, описывающих acES в списке управления доступом системы (SACL) дескриптора безопасности. Структура ПОПЕЧИТЕЛЬ в этих структурах EXPLICIT_ACCESS использует форму TRUSTEE_IS_NAME. Если этот параметр NULL, параметр cCountOfAuditEntries также должен быть NULL.

[in] pSD

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

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

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

Если функция завершается ошибкой, она возвращает ненулевой код ошибки, определенный в WinError.h.

Замечания

Функция LookupSecurityDescriptorParts извлекает имена владельца и основной группы дескриптора безопасности. Эта функция также возвращает описания acEs в элементах УПРАВЛЕНИЯ DACL и аудита в 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 [только классические приложения]
целевая платформа Виндоус
заголовка aclapi.h
библиотеки Advapi32.lib
DLL Advapi32.dll

См. также

ACE

ACL

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

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

EXPLICIT_ACCESS

GetExplicitEntriesFromAcl

LocalFree

SECURITY_DESCRIPTOR

SID

ДОВЕРЕННЫЙ