Partager via


DsBindWithSpnExA, fonction (ntdsapi.h)

La fonction DsBindWithSpnEx lie à un contrôleur de domaine à l’aide des informations d’identification spécifiées et d’un nom de principal de service spécifique (SPN) pour l’authentification mutuelle. Cette fonction est similaire à la fonction DsBindWithSpn, sauf que cette fonction autorise davantage d’options de liaison avec le paramètre BindFlags.

Cette fonction est fournie lorsque le contrôle complet est requis sur l’authentification mutuelle. N’utilisez pas cette fonction si vous attendez DsBind pour trouver un serveur, car les spN sont spécifiques à l’ordinateur, et il est peu probable que le SPN que vous fournissez corresponde au serveur qui DsBind trouve pour vous. La fourniture d’un argument NULLServicePrincipalName entraîne un comportement identique à DsBindWithCred.

Syntaxe

NTDSAPI_POSTXP DWORD DsBindWithSpnExA(
  [in, optional] LPCSTR                   DomainControllerName,
  [in, optional] LPCSTR                   DnsDomainName,
  [in, optional] RPC_AUTH_IDENTITY_HANDLE AuthIdentity,
  [in, optional] LPCSTR                   ServicePrincipalName,
  [in, optional] DWORD                    BindFlags,
  [out]          HANDLE                   *phDS
);

Paramètres

[in, optional] DomainControllerName

Pointeur vers une chaîne terminée par null qui contient le nom DNS complet du domaine à lier. Pour plus d’informations, consultez la description DomainControllerName dans la rubrique DsBind.

[in, optional] DnsDomainName

Pointeur vers une chaîne terminée par null qui contient le nom DNS complet du domaine à lier. Pour plus d’informations, consultez la description DnsDomainName dans la rubrique DsBind.

[in, optional] AuthIdentity

Contient une valeur RPC_AUTH_IDENTITY_HANDLE qui représente les informations d’identification à utiliser pour la liaison. Le

fonction DsMakePasswordCredentials est utilisée pour obtenir cette valeur. Si ce paramètre est NULL, les informations d’identification du thread appelant sont utilisées.

DsUnBind doit être appelée avant de libérer ce handle avec la fonction DsFreePasswordCredentials.

[in, optional] ServicePrincipalName

Pointeur vers une chaîne terminée par null qui spécifie le nom du principal de service à affecter au client. Le passage NULL dans ServicePrincipalName équivaut à un appel à la fonction DsBindWithCred.

[in, optional] BindFlags

Contient un ensemble d’indicateurs qui définissent le comportement de cette fonction. Ce paramètre peut contenir zéro ou une combinaison des valeurs répertoriées dans la liste suivante.

NTDSAPI_BIND_ALLOW_DELEGATION (1)

Provoque l’utilisation du niveau d’emprunt d’identité du délégué. Cela permet aux opérations qui nécessitent une délégation, telle que DsAddSidHistory, pour réussir. En spécifiant cet indicateur, DsBindWithSpnEx fonctionner comme DsBindWithSpn.

Si cet indicateur n’est pas spécifié, la liaison utilise le niveau d’emprunt d’identité emprunt d’identité. Pour plus d’informations, consultez niveaux d’emprunt d’identité.

La plupart des opérations ne nécessitent pas le niveau d’emprunt d’identité du délégué. Cet indicateur ne doit donc être spécifié que s’il est absolument nécessaire. La liaison à un serveur non autorisé avec le niveau d’emprunt d’identité délégué permet au serveur non autorisé de se connecter à un serveur non non autorisé avec vos informations d’identification et d’effectuer des opérations involontaires.

NTDSAPI_BIND_FIND_BINDING (2)

Réservé.

NTDSAPI_BIND_FORCE_KERBEROS (4)

Services d’annuaire léger Active Directory : Si cet indicateur est spécifié, DsBindWithSpnEx force l’authentification Kerberos à être utilisée. Si l’authentification Kerberos ne peut pas être établie, DsBindWithSpnEx n’essaie pas de s’authentifier auprès d’une autre méthode.

[out] phDS

Adresse d’une HANDLE valeur qui reçoit le handle de liaison. Pour fermer ce handle, passez-le à la fonction DsUnBind.

Valeur de retour

Retourne ERROR_SUCCESS en cas de réussite ou d’un code d’erreur Windows ou RPC dans le cas contraire. La liste suivante répertorie les codes d’erreur courants.

Remarques

Note

L’en-tête ntdsapi.h définit DsBindWithSpnEx comme alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. Le mélange de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre en encodage peut entraîner des incompatibilités qui entraînent des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de fonction.

Exigences

Exigence Valeur
client minimum pris en charge Windows Vista
serveur minimum pris en charge Windows Server 2008
plateforme cible Windows
d’en-tête ntdsapi.h
bibliothèque Ntdsapi.lib
DLL Ntdsapi.dll

Voir aussi

fonctions de gestion du contrôleur de domaine et de la réplication

DsBind

DsBindWithCred

DsBindWithSpn

DsUnBind

niveaux d’emprunt d’identité