Partager via


Fonction DsBindWithSpnA (ntdsapi.h)

La fonction DsBindWithSpn est liée à un contrôleur de domaine à l’aide des informations d’identification spécifiées et d’un nom de principal de service (SPN) spécifique pour l’authentification mutuelle.

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

Syntaxe

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
);

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 de 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. The

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

DsUnBind doit être appelé 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 de null dans ServicePrincipalName équivaut à un appel à la fonction DsBindWithCred .

[out] phDS

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

Valeur retournée

Retourne ERROR_SUCCESS en cas de réussite ou un code d’erreur Windows ou RPC dans le cas contraire. Voici les codes d’erreur les plus courants.

Remarques

Notes

L’en-tête ntdsapi.h définit DsBindWithSpn en tant qu’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. La combinaison 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.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows Vista
Serveur minimal pris en charge Windows Server 2008
Plateforme cible Windows
En-tête ntdsapi.h
Bibliothèque Ntdsapi.lib
DLL Ntdsapi.dll

Voir aussi

Fonctions de gestion des contrôleurs de domaine et de la réplication

DsBind

DsBindWithCred

DsUnBind