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