Функция GetInheritanceSourceA (aclapi.h)
Эта версия этой функции не поддерживается. Поддерживается расширенная версия этой функции GetInheritanceSourceW.
Синтаксис
DWORD GetInheritanceSourceA(
[in] LPSTR pObjectName,
[in] SE_OBJECT_TYPE ObjectType,
[in] SECURITY_INFORMATION SecurityInfo,
[in] BOOL Container,
[in, optional] GUID **pObjectClassGuids,
[in] DWORD GuidCount,
[in] PACL pAcl,
[in, optional] PFN_OBJECT_MGR_FUNCTS pfnArray,
[in] PGENERIC_MAPPING pGenericMapping,
[out] PINHERITED_FROMA pInheritArray
);
Параметры
[in] pObjectName
Указатель на имя объекта, который использует список управления для проверки.
[in] ObjectType
Тип объекта, на который указывает pObjectName. Возможные значения: SE_FILE_OBJECT, SE_REGISTRY_KEY, SE_DS_OBJECT и SE_DS_OBJECT_ALL.
[in] SecurityInfo
Тип ACL, используемый с объектом . Возможные значения: DACL_SECURITY_INFORMATION или SACL_SECURITY_INFORMATION.
[in] Container
Значение TRUE , если объект является объектом контейнера, или false , если объект является конечным объектом. Обратите внимание, что единственным конечным объектом является SE_FILE_OBJECT.
[in, optional] pObjectClassGuids
Необязательный список идентификаторов GUID, определяющих типы объектов или имена, связанные с pObjectName. Это значение может иметь значение NULL , если диспетчер объектов поддерживает только один класс объектов или не имеет ИДЕНТИФИКАТОР GUID, связанный с классом объекта.
[in] GuidCount
Количество идентификаторов GUID, на которые указывает pObjectClassGuids.
[in] pAcl
Список ACL для объекта .
[in, optional] pfnArray
Зарезервировано. Задайте для этого параметра значение NULL.
[in] pGenericMapping
Сопоставление универсальных прав с определенными правами для объекта .
[out] pInheritArray
Указатель на массив INHERITED_FROM структур, которые функция GetInheritanceSource заполняет сведениями о наследовании. Вызывающий объект должен выделить достаточно памяти для записи для каждого ACE в ACL.
Возвращаемое значение
Если функция завершается успешно, функция возвращает ERROR_SUCCESS.
Если функция завершается сбоем, она возвращает ненулевой код ошибки, определенный в WinError.h.
Комментарии
Функция GetInheritanceSource выделяет память для имен, возвращаемых в структуре INHERITED_FROM . Когда функция завершит использование этой памяти, вызывающая программа должна освободить ее, вызвав FreeInheritedFromArray. Обратите внимание, что вызывающий объект должен предоставлять память для самого массива. Если вызывающий объект выделил память, вызывающий объект должен освободить ее после вызова FreeInheritedFromArray.
Эта функция не обрабатывает условия гонки. Если поток вызывает эту функцию в приблизительное время, когда другой поток изменяет дескриптор безопасности объекта, эта функция может завершиться ошибкой.
Примечание
Заголовок aclapi.h определяет GetInheritanceSource как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОД. Сочетание использования псевдонима, не зависящий от кодировки, с кодом, не зависящим от кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows XP [только классические приложения] |
Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
Целевая платформа | Windows |
Header | aclapi.h |
Библиотека | Advapi32.lib |
DLL | Advapi32.dll |