Функция DsInheritSecurityIdentityA (ntdsapi.h)
Функция dsInheritSecurityIdentity
Синтаксис
NTDSAPI DWORD DsInheritSecurityIdentityA(
[in] HANDLE hDS,
[in] DWORD Flags,
[in] LPCSTR SrcPrincipal,
[in] LPCSTR DstPrincipal
);
Параметры
[in] hDS
Содержит дескриптор службы каталогов, полученный из функции DSBind или DSBindWithCred.
[in] Flags
Зарезервировано для дальнейшего использования. Должно быть равно нулю.
[in] SrcPrincipal
Указатель на строку, завершающуюся значением NULL, которая указывает имя субъекта безопасности (пользователя или группы) в исходном домене. Это имя является относительным доменом SAM name.
[in] DstPrincipal
Указатель на строку, завершающую значение NULL, которая указывает имя субъекта безопасности (пользователя или группы) в целевом домене. Это имя SAM относительно домена определяет субъект,
Возвращаемое значение
Возвращает код ошибки системы или RPC, включая следующий код.
Замечания
При использовании приложений домена обновления операционной системы, охватывающих как обновленные, так и не обновленные домены, могут быть субъекты безопасности внутри и вне леса для одной логической сущности одновременно.
При присоединении всех обновленных доменов к одному лесу dsInheritSecurityIdentity устраняет повторяющиеся объекты, обеспечивая наличие всех оставшихся объектов прав безопасности и привилегий, принадлежащих соответствующему удаленному объекту.
Реализация dsInheritSecurityIdentity
- Проверяет, что SrcPrincipal и DstPrincipal находятся в одном домене.
- Проверяет, является ли домен записываемым в привязке к серверу.
- Проверяет, включена ли аудит для домена.
- Проверяет, что вызывающий объект является членом администраторов домена для домена.
- Проверяет, находится ли домен в собственном режиме.
- Проверяет, существует ли
SrcPrincipal, что он является субъектом безопасности и считывает свойства objectSid иsidHistory . - Проверяет, существует ли DstPrincipal, что он является субъектом безопасности и имеет определенные свойства, необходимые для аудита и проверки.
- Удаляет SrcPrincipal в базе данных, только если вся операция зафиксирована при завершении. Эта операция завершается ошибкой, если вызывающий объект не имеет прав на удаление или если SrcPrincipal имеет дочерние элементы.
- Сбой операции, если objectSidSrcPrincipal или DstPrincipal является хорошо известным идентификатором безопасности.
- Добавляет objectSid и sidHistory (если присутствует) SrcPrincipal в sidHistoryDstPrincipal.
- Принудительно вызывает событие аудита и завершается сбоем операции, если аудит завершается ошибкой.
- Вводит события в журнал службы каталогов. Не путайте это с журналом аудита безопасности.
Заметка
Заголовок ntdsapi.h определяет DsInheritSecurityIdentity как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Windows Vista |
минимальный поддерживаемый сервер | Windows Server 2008 |
целевая платформа | Виндоус |
заголовка | ntdsapi.h |
библиотеки |
Ntdsapi.lib |
DLL | Ntdsapi.dll |