Partager via


Fonction DsBindWithSpnExA (ntdsapi.h)

La fonction DsBindWithSpnEx 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 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 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_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 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 .

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

Entraîne l’utilisation du niveau d’emprunt d’identité délégué par la liaison. Cela permet aux opérations qui nécessitent une délégation, telles que DsAddSidHistory, de réussir. La spécification de cet indicateur entraîne également le fonctionnement de DsBindWithSpnEx comme DsBindWithSpn.

Si cet indicateur n’est pas spécifié, la liaison utilise le niveau d’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é des délégués. Cet indicateur ne doit donc être spécifié qu’en cas d’absolue nécessité. 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)

Active Directory Lightweight Directory Services : Si cet indicateur est spécifié, DsBindWithSpnEx force l’authentification Kerberos à être utilisée. Si l’authentification Kerberos ne peut pas être établie, DsBindWithSpnEx ne tente pas de s’authentifier avec une autre méthode.

[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. La liste suivante répertorie les codes d’erreur courants.

Remarques

Notes

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

DsBindWithSpn

DsUnBind

Niveaux d’emprunt d’identité