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


Функция 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 в разделе DsBind.

[in, optional] DnsDomainName

Указатель на строку, завершающую значение NULL, содержащую полное DNS-имя домена для привязки. Дополнительные сведения см. в описании dnsDomainName в разделе DsBind.

[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

См. также

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

DsBind

DsBindWithCred

DsUnBind