Partager via


SecMakeSPNEx2, fonction (ntifs.h)

SecMakeSPNEx2 crée une chaîne de nom de fournisseur de services qui peut être utilisée lorsqu’elle communique avec des fournisseurs de services de sécurité spécifiques.

Syntaxe

KSECDDDECLSPEC NTSTATUS SecMakeSPNEx2(
  [in]            IN PUNICODE_STRING     ServiceClass,
  [in]            IN PUNICODE_STRING     ServiceName,
  [in, optional]  IN PUNICODE_STRING     InstanceName,
  [in, optional]  IN USHORT              InstancePort,
  [in, optional]  IN PUNICODE_STRING     Referrer,
  [in, optional]  IN PUNICODE_STRING     InTargetInfo,
  [in, out]       IN OUT PUNICODE_STRING Spn,
  [out, optional] OUT PULONG             TotalSize,
  [in]            IN BOOLEAN             Allocate,
  [in]            IN BOOLEAN             IsTargetInfoMarshaled
);

Paramètres

[in] ServiceClass

Pointeur vers une chaîne Unicode qui spécifie la classe de service pour le fournisseur de services de sécurité.

[in] ServiceName

Pointeur vers une chaîne Unicode qui spécifie le nom du service pour le fournisseur de services de sécurité.

[in, optional] InstanceName

Pointeur vers une chaîne Unicode facultative qui spécifie le nom d’instance utilisé pour se connecter au fournisseur de services de sécurité.

[in, optional] InstancePort

Numéro de port d’une instance du service. Utilisez 0 pour le port par défaut. Si ce paramètre est égal à zéro, le SPN n’inclut pas de numéro de port.

[in, optional] Referrer

Pointeur vers une chaîne constante terminée par null qui spécifie le nom DNS de l’hôte qui a donné une référence d’adresse IP. Ce paramètre est ignoré, sauf si le paramètre ServiceName spécifie une adresse IP.

[in, optional] InTargetInfo

Pointeur vers une chaîne terminée par null qui indique la cible du contexte.

[in, out] Spn

Pointeur vers une chaîne Unicode qui reçoit la chaîne de nom du fournisseur de services de sécurité créée par cette fonction.

[out, optional] TotalSize

Pointeur vers un ULONG qui reçoit la longueur réelle du SPN créé, y compris le caractère null de fin.

[in] Allocate

Variable booléenne qui indique si la mémoire utilisée pour stocker la chaîne Spn Unicode doit être allouée par cette fonction. Si ce paramètre a la valeur TRUE, la mémoire de spn sera allouée à partir du pool paginé.

[in] IsTargetInfoMarshaled

Variable booléenne qui indique que l’appelant a fourni une structure InTargetInfo marshaled. Si IsTargetInfoMarshaled a la valeur TRUE, InTargetInfo->Buffer pointe vers une représentation sous forme de chaîne de la structure CREDENTIAL_TARGET_INFORMATION telle que retournée par la fonction CredMarshalTargetInfo.

Valeur de retour

SecMakeSPNEx2 retourne STATUS_SUCCESS sur la réussite ou l’un des codes d’erreur suivants en cas d’échec.

Retourner le code Description
STATUS_BUFFER_OVERFLOW Le paramètre d’allocation de a été défini sur false et l’une des conditions suivantes s’est produite : (1) Le paramètre Spn était un pointeur NULL. (2) La longueur maximale du paramètre de chaîne Unicode Spn était trop petite.
STATUS_INVALID_PARAMETER La longueur totale du paramètre Spn dépasse 65535 octets.
STATUS_NO_MEMORY Le paramètre Allouer a été défini sur true, mais la demande d’allocation de mémoire a échoué.

Remarques

secMakeSPNEx2 est une version améliorée de SecMakeSPNEx.

Exigences

Exigence Valeur
client minimum pris en charge Windows Vista
serveur minimum pris en charge Windows Server 2008
plateforme cible Universel
d’en-tête ntifs.h (include Ntifs.h, FltKernel.h)
bibliothèque Ksecdd.lib
IRQL <= APC_LEVEL

Voir aussi

secMakeSPN

SecMakeSPNEx