Partager via


DsCrackSpnA, fonction (dsparse.h)

La fonction DsCrackSpn analyse un nom de principal de service (SPN) dans ses chaînes de composant.

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 <nom d’instance> composants doivent être présents et le numéro de port <> et <nom de service> composants sont facultatifs. Le <numéro de port> composant 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, lors de l’entrée, contient la taille, dans TCHARs, de la mémoire tampon ServiceClass , y compris le caractère null de fin. À la sortie, ce paramètre contient le nombre d'TCHARs dans la chaîne ServiceClass , y compris le caractère null de fin.

Si ce paramètre est NULL, contient zéro ou ServiceClass est NULL, ce paramètre et ServiceClass sont ignorés.

Pour obtenir le nombre de caractères requis pour la chaîne ServiceClass , y compris le point de terminaison Null, appelez cette fonction avec un SPN valide, unNullServiceClass et ce paramètre défini sur 1.

[out, optional] ServiceClass

Pointeur vers une mémoire tampon TCHAR qui reçoit une chaîne terminée par null contenant la classe de service composant du SPN. Cette mémoire tampon doit être au moins *pcServiceClass TCHAR de taille. 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, lors de l’entrée, contient la taille, dans TCHARs, de la mémoire tampon ServiceName , y compris le caractère null de fin. À la sortie, ce paramètre contient le nombre de TCHARs dans la chaîne ServiceName , y compris le caractère null de fin.

Si ce paramètre est NULL, contient zéro ou ServiceName est 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 point de terminaison Null, appelez cette fonction avec un SPN valide, un nom de principal de service nonNULLServiceName et ce paramètre défini sur 1.

[out, optional] ServiceName

Pointeur vers une mémoire tampon TCHAR qui reçoit une chaîne terminée par null contenant le nom de service composant du SPN. Cette mémoire tampon doit être au moins *pcServiceName TCHAR de taille. Si le nom de service <> composant n’est pas présent dans le SPN, cette mémoire tampon reçoit le nom de l’instance <> composant. Ce paramètre peut être NULL si le nom du service n’est pas obligatoire.

[in, out, optional] pcInstanceName

Pointeur vers une valeur d' DWORD qui, lors de l’entrée, contient la taille, dans TCHARs, du 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 est NULL, contient zéro ou InstanceName est 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 de principal de service nonNULLInstanceName et ce paramètre défini sur 1.

[out, optional] InstanceName

Pointeur vers une mémoire tampon de TCHAR qui reçoit une chaîne terminée par null contenant le nom d’instance <composant> du spN. Cette mémoire tampon doit être au moins *pcInstanceName TCHARs de taille. Ce paramètre peut être null si le nom de l’instance n’est pas obligatoire.

[out, optional] pInstancePort

Pointeur vers une valeur DWORD qui reçoit la valeur entière du numéro de port <composant> du SPN. Si le SPN ne contient pas de numéro de port <composant>, ce paramètre reçoit zéro. Ce paramètre peut être NULL si le numéro de port n’est pas obligatoire.

Valeur de retour

Retourne un code d’erreur Win32, y compris les éléments suivants.

Remarques

Note

L’en-tête dsparse.h définit DsCrackSpn comme 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 dsparse.h (include Ntdsapi.h)
bibliothèque Ntdsapi.lib
DLL Ntdsapi.dll

Voir aussi

fonctions de gestion du contrôleur de domaine et de la réplication