Функция DsBindWithSpnA (ntdsapi.h)
Функция DsBindWithSpn привязывается к контроллеру домена, используя указанные учетные данные и определенное имя субъекта-службы (SPN) для взаимной проверки подлинности.
Эта функция предоставляется для тех случаев, когда для взаимной проверки подлинности требуется полный контроль. Не используйте эту функцию, если ожидается, что DsBind найдет сервер, так как имена субъектов-служб относятся к компьютеру, и предоставленное имя субъекта-службы вряд ли будет соответствовать серверу, найденном DsBind . Предоставление аргументаNull ServicePrincipalName приводит к поведению, идентичном поведению 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 в разделе DsBind .
[in, optional] DnsDomainName
Указатель на строку, завершающуюся значением NULL, которая содержит полное DNS-имя домена, к которому выполняется привязка. Дополнительные сведения см. в описании DnsDomainName в разделе DsBind .
[in, optional] AuthIdentity
Содержит значение RPC_AUTH_IDENTITY_HANDLE , представляющее учетные данные, используемые для привязки. The
Для получения этого значения используется функция 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 |
Целевая платформа | Windows |
Header | ntdsapi.h |
Библиотека | Ntdsapi.lib |
DLL | Ntdsapi.dll |