Partager via


DsBindByInstanceW, fonction (ntdsapi.h)

La fonction DsBindByInstance lie explicitement à n’importe quelle instance AD LDS ou Active Directory.

Syntaxe

NTDSAPI_POSTXP DWORD DsBindByInstanceW(
  [in]           LPCWSTR                  ServerName,
  [in]           LPCWSTR                  Annotation,
  [in]           GUID                     *InstanceGuid,
  [in]           LPCWSTR                  DnsDomainName,
  [in, optional] RPC_AUTH_IDENTITY_HANDLE AuthIdentity,
  [in, optional] LPCWSTR                  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 de l’instance. Ce paramètre est requis pour établir une liaison à une instance AD LDS. Si ce paramètre est NULL lors de la liaison à une instance Active Directory, le paramètre DnsDomainName doit contenir une valeur. Si ce paramètre et le paramètre DnsDomainName sont tous les 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 de l’instance AD LDS ou NULL lors de la liaison à une instance Active Directory. Par exemple, « 389 ».

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

[in] InstanceGuid

Pointeur vers une valeur GUID qui contient le GUID de l’instance AD LDS. La valeur GUID est la propriété objectGUID de l’objet nTDSDSA de l’instance. Si ce paramètre est NULL lors de la liaison à une 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 établir une liaison à une instance Active Directory par serveur ou à une 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 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)

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 fonctionne 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 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é du 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 non autorisé avec vos informations d’identification et d’effectuer des opérations involontaires.

NTDSAPI_BIND_FORCE_KERBEROS (4)

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

[out] phDS

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

Valeur de retour

Retourne NO_ERROR en cas de réussite ou d’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 à une instance.

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

Note

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