Partager via


Fonction DsBindByInstanceA (ntdsapi.h)

La fonction DsBindByInstance est liée explicitement à n’importe quel instance AD LDS ou Active Directory.

Syntaxe

NTDSAPI_POSTXP DWORD DsBindByInstanceA(
  [in]           LPCSTR                   ServerName,
  [in]           LPCSTR                   Annotation,
  [in]           GUID                     *InstanceGuid,
  [in]           LPCSTR                   DnsDomainName,
  [in, optional] RPC_AUTH_IDENTITY_HANDLE AuthIdentity,
  [in, optional] LPCSTR                   ServicePrincipalName,
  [in, optional] DWORD                    BindFlags,
  [out]          HANDLE                   *phDS
);

Paramètres

[in] ServerName

Pointeur vers une chaîne terminée par null qui spécifie le nom du instance. Ce paramètre est requis pour la liaison à un instance AD LDS. Si ce paramètre a la valeur NULL lors de la liaison à un instance Active Directory, le paramètre DnsDomainName doit contenir une valeur. Si ce paramètre et le paramètre DnsDomainName sont tous deux NULL, la fonction échoue avec la valeur de retour ERROR_INVALID_PARAMETER (87).

[in] Annotation

Pointeur vers une chaîne terminée par null qui spécifie le numéro de port du instance AD LDS ou NULL lors de la liaison à un instance Active Directory. Par exemple, « 389 ».

Si ce paramètre a la valeur NULL lors de la liaison par domaine à un instance Active Directory, le paramètre DnsDomainName doit être spécifié. Si ce paramètre a la valeur NULL lors de la liaison à un instance AD LDS, le paramètre InstanceGuid doit être spécifié.

[in] InstanceGuid

Pointeur vers une valeur GUID qui contient le GUID du instance AD LDS. La valeur GUID est la propriété objectGUID de l’objet nTDSDSA du instance. Si ce paramètre a la valeur NULL lors de la liaison à un instance AD LDS, le paramètre Annotation doit être spécifié.

[in] DnsDomainName

Pointeur vers une chaîne terminée par null qui spécifie le nom DNS du domaine lors de la liaison à une instance Active Directory par domaine. Définissez ce paramètre sur NULL pour qu’il soit lié à un instance Active Directory par serveur ou à un instance AD LDS.

[in, optional] AuthIdentity

Gérez les informations d’identification utilisées pour démarrer la session RPC. Utilisez la fonction DsMakePasswordCredentials pour créer une structure adaptée à AuthIdentity.

[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 d’une ou plusieurs des valeurs suivantes.

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 sur les niveaux d’emprunt d’identité, consultez Niveaux d’emprunt d’identité.

La plupart des opérations ne nécessitent pas le niveau d’emprunt d’identité délégué ; cet indicateur ne doit être spécifié que s’il est requis. 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 autorisé avec vos informations d’identification et d’effectuer des opérations involontaires.

NTDSAPI_BIND_FORCE_KERBEROS (4)

Active Directory Lightweight Directory Services : Si cet indicateur est spécifié, DsBindWithSpnEx nécessite l’utilisation de l’authentification Kerberos. Si l’authentification Kerberos ne peut pas être établie, DsBindWithSpnEx ne tente pas de s’authentifier avec un autre mécanisme.

[out] phDS

Adresse d’une valeur HANDLE qui reçoit le handle de liaison. Pour fermer ce handle, appelez DsUnBind.

Valeur retournée

Retourne NO_ERROR en cas de réussite ou une erreur RPC ou Win32 dans le cas contraire. Les codes d’erreur possibles incluent ceux répertoriés dans la liste suivante.

Remarques

La liste suivante répertorie les valeurs de paramètre requises pour la liaison à un instance.

Instance ServerName Annotation InstanceGuid DnsDomainName
Active Directory par serveur Nom du serveur NULL NULL NULL
Active Directory par domaine NULL NULL NULL Nom du domaine DNS
AD LDS par port Nom DNS de l’ordinateur avec l’installation d’AD LDS. Numéro de port NULL NULL
AD LDS by GUID Nom DNS de l’ordinateur avec l’installation d’AD LDS. NULL GUID d’instance NULL
 
Note Pour améliorer les performances lors de la liaison à un instance AD LDS sur un ordinateur avec plusieurs instances d’AD LDS, liez par le GUID d’instance au lieu du numéro de port.
 

Notes

L’en-tête ntdsapi.h définit DsBindByInstance 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