Fonction DsClientMakeSpnForTargetServerA (ntdsapi.h)
La fonction DsClientMakeSpnForTargetServer construit un nom de principal de service (SPN) qui identifie un serveur spécifique à utiliser pour l’authentification.
Syntaxe
NTDSAPI DWORD DsClientMakeSpnForTargetServerA(
[in] LPCSTR ServiceClass,
[in] LPCSTR ServiceName,
[in, out] DWORD *pcSpnLength,
[out] LPSTR pszSpn
);
Paramètres
[in] ServiceClass
Pointeur vers une chaîne terminée par null qui contient la classe du service telle que définie par le service. Il peut s’agir de n’importe quelle chaîne propre au service.
[in] ServiceName
Pointeur vers une chaîne terminée par une valeur Null qui contient le nom d’hôte du service DNS (Distinguished Name Service). Il peut s’agir d’un nom complet ou d’une adresse IP au format Internet standard.
L’utilisation d’une adresse IP pour ServiceName n’est pas recommandée, car cela peut créer un problème de sécurité. Avant que le SPN ne soit construit, l’adresse IP doit être traduite en nom d’ordinateur via la résolution de noms DNS. Il est possible que la résolution de noms DNS soit usurpée, en remplaçant le nom d’ordinateur prévu par un nom d’ordinateur non autorisé.
[in, out] pcSpnLength
Pointeur vers une valeur DWORD qui, lors de l’entrée, contient la taille de la mémoire tampon pszSpn , en caractères. Lors de la sortie, ce paramètre reçoit le nombre de caractères copiés dans la mémoire tampon pszSpn , y compris la valeur NULL de fin.
[out] pszSpn
Pointeur vers une mémoire tampon de chaîne qui reçoit le SPN.
Valeur retournée
Cette fonction retourne des codes d’erreur Windows standard.
Remarques
Lorsque vous utilisez cette fonction, fournissez la classe de service et une partie d’un nom d’hôte DNS.
Cette fonction est une version simplifiée de la fonction DsMakeSpn . Le ServiceName est rendu canonique en le résolvant via DNS.
Les noms DNS basés sur un GUID ne sont pas pris en charge. Lorsqu’il est construit, le SPN simplifié est le suivant :
ServiceClass / ServiceName / ServiceName
La partie de nom instance (deuxième position) est toujours définie sur la valeur par défaut. Les champs port et référent ne sont pas utilisés.
Notes
L’en-tête ntdsapi.h définit DsClientMakeSpnForTargetServer comme un 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.
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 du contrôleur de domaine et de la réplication