Функция DsBindWithSpnA (ntdsapi.h)
Функция DsBindWithSpn привязывается к контроллеру домена с использованием указанных учетных данных и определенного имени субъекта-службы (SPN) для взаимной проверки подлинности.
Эта функция предоставляется, когда для взаимной проверки подлинности требуется полный контроль. Не используйте эту функцию, если ожидается, что DsBind найти сервер для вас, так как имена субъектов-служб зависят от компьютера, и вряд ли предоставленная имя субъекта-службы будет соответствовать серверу, который dsBind находит для вас. Предоставление аргумента NULLServicePrincipalName приводит к поведению, идентичном DsBindWithCred.
Синтаксис
NTDSAPI DWORD DsBindWithSpnA(
[in, optional] LPCSTR DomainControllerName,
[in, optional] LPCSTR DnsDomainName,
[in, optional] RPC_AUTH_IDENTITY_HANDLE AuthIdentity,
[in, optional] LPCSTR ServicePrincipalName,
[out] HANDLE *phDS
);
Параметры
[in, optional] DomainControllerName
Указатель на строку, завершающую значение NULL, содержащую полное DNS-имя домена для привязки. Дополнительные сведения см. в описании domainControllerName
[in, optional] DnsDomainName
Указатель на строку, завершающую значение NULL, содержащую полное DNS-имя домена для привязки. Дополнительные сведения см. в описании dnsDomainName
[in, optional] AuthIdentity
Содержит значение RPC_AUTH_IDENTITY_HANDLE, представляющее учетные данные, используемые для привязки. Тем
функция DsMakePasswordCredentials используется для получения этого значения. Если этот параметр null, используются учетные данные вызывающего потока.
DsUnBind необходимо вызвать перед освобождением этого дескриптора с помощью функции DsFreePasswordCredentials.
[in, optional] ServicePrincipalName
Указатель на строку, завершающуюся значением NULL, которая указывает имя субъекта-службы, назначаемое клиенту. Передача NULL в ServicePrincipalName эквивалентна вызову функции DsBindWithCred.
[out] phDS
Адрес значения HANDLE, получающего дескриптор привязки. Чтобы закрыть этот дескриптор, передайте его в функцию DsUnBind.
Возвращаемое значение
Возвращает ERROR_SUCCESS в случае успешного выполнения или кода ошибки Windows или RPC в противном случае. Ниже приведены наиболее распространенные коды ошибок.
Замечания
Заметка
Заголовок ntdsapi.h определяет DsBindWithSpn как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Windows Vista |
минимальный поддерживаемый сервер | Windows Server 2008 |
целевая платформа | Виндоус |
заголовка | ntdsapi.h |
библиотеки |
Ntdsapi.lib |
DLL | Ntdsapi.dll |