Fonction DsCrackSpnA (dsparse.h)
La fonction DsCrackSpn analyse un nom de principal de service (SPN) dans ses chaînes de composants.
Syntaxe
DSPARSE DWORD DsCrackSpnA(
[in] LPCSTR pszSpn,
[in, out, optional] LPDWORD pcServiceClass,
[out, optional] LPSTR ServiceClass,
[in, out, optional] LPDWORD pcServiceName,
[out, optional] LPSTR ServiceName,
[in, out, optional] LPDWORD pcInstanceName,
[out, optional] LPSTR InstanceName,
[out, optional] USHORT *pInstancePort
);
Paramètres
[in] pszSpn
Pointeur vers une chaîne constante terminée par null qui contient le SPN à analyser. Le SPN a le format suivant, dans lequel la <classe> de service et <les composants de nom> de instance doivent être présents et les <composants de numéro> de port et <de nom> de service sont facultatifs. Le <composant numéro> de port doit être une valeur de chaîne numérique.
<service class>/<instance name>:<port number>/<service name>
[in, out, optional] pcServiceClass
Pointeur vers une valeur DWORD qui, à l’entrée, contient la taille, en TCHAR, de la mémoire tampon ServiceClass , y compris le caractère null de fin. À la sortie, ce paramètre contient le nombre de TCHAR dans la chaîne ServiceClass , y compris le caractère null de fin.
Si ce paramètre a la valeur NULL, contient zéro ou Si ServiceClass a la valeur NULL, ce paramètre et ServiceClass sont ignorés.
Pour obtenir le nombre de caractères requis pour la chaîne ServiceClass, y compris la marque de fin Null, appelez cette fonction avec un SPN valide, un ServiceClass non NULL et ce paramètre est défini sur 1.
[out, optional] ServiceClass
Pointeur vers une mémoire tampon TCHAR qui reçoit une chaîne terminée par un caractère Null contenant le <composant de classe> de service du SPN. Cette mémoire tampon doit avoir au moins la taille *pcServiceClass TCHAR . Ce paramètre peut être NULL si la classe de service n’est pas requise.
[in, out, optional] pcServiceName
Pointeur vers une valeur DWORD qui, à l’entrée, contient la taille, en TCHAR, de la mémoire tampon ServiceName , y compris le caractère null de fin. À la sortie, ce paramètre contient le nombre de TCHAR dans la chaîne ServiceName , y compris le caractère null de fin.
Si ce paramètre a la valeur NULL, contient zéro ou Si ServiceName a la valeur NULL, ce paramètre et ServiceName sont ignorés.
Pour obtenir le nombre de caractères requis pour la chaîne ServiceName, y compris le terminateur Null, appelez cette fonction avec un SPN valide, un ServiceName non NULL et ce paramètre est défini sur 1.
[out, optional] ServiceName
Pointeur vers une mémoire tampon TCHAR qui reçoit une chaîne terminée par un caractère Null contenant le <composant de nom> de service du SPN. Cette mémoire tampon doit avoir au moins la taille *pcServiceName TCHAR . Si le <composant de nom> de service n’est pas présent dans le SPN, cette mémoire tampon reçoit le <composant nom instance>. Ce paramètre peut être NULL si le nom du service n’est pas obligatoire.
[in, out, optional] pcInstanceName
Pointeur vers une valeur DWORD qui, à l’entrée, contient la taille, en TCHAR, de la mémoire tampon InstanceName , y compris le caractère null de fin. À la sortie, ce paramètre contient le nombre de TCHAR dans la chaîne InstanceName , y compris le caractère null de fin.
Si ce paramètre a la valeur NULL, contient zéro ou Si InstanceName a la valeur NULL, ce paramètre et InstanceName sont ignorés.
Pour obtenir le nombre de caractères requis pour la chaîne InstanceName, y compris la marque de fin Null, appelez cette fonction avec un SPN valide, un nom d’instance non NULL et ce paramètre est défini sur 1.
[out, optional] InstanceName
Pointeur vers une mémoire tampon TCHAR qui reçoit une chaîne terminée par un caractère Null contenant le <composant de nom> de instance du SPN. La taille de cette mémoire tampon doit être au moins *pcInstanceName TCHAR . Ce paramètre peut avoir la valeur NULL si le nom instance n’est pas requis.
[out, optional] pInstancePort
Pointeur vers une valeur DWORD qui reçoit la valeur entière du <composant numéro> de port du SPN. Si le SPN ne contient pas de <composant de numéro> de port, ce paramètre reçoit zéro. Ce paramètre peut être NULL si le numéro de port n’est pas requis.
Valeur retournée
Retourne un code d’erreur Win32, y compris les éléments suivants.
Remarques
Notes
L’en-tête dsparse.h définit DsCrackSpn 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 | dsparse.h (inclure Ntdsapi.h) |
Bibliothèque | Ntdsapi.lib |
DLL | Ntdsapi.dll |
Voir aussi
Fonctions de gestion des contrôleurs de domaine et de la réplication
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour