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


Функция 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

См. также раздел

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

DsBind

DsBindWithCred

DsUnBind