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 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 null constante 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 Unicode Spn doit être allouée par cette fonction. Si ce paramètre a la valeur TRUE, la mémoire de Spn est allouée à partir d’un pool paginé.

[in] IsTargetInfoMarshaled

Variable booléenne qui indique que l’appelant a fourni une structure InTargetInfo marshalée. 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 renvoyée par la fonction CredMarshalTargetInfo.

Valeur retournée

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

Code de retour Description
STATUS_BUFFER_OVERFLOW Le paramètre Allocate 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 Spn Unicode était trop petite.
STATUS_INVALID_PARAMETER La longueur totale du paramètre Spn dépasse 65535 octets.
STATUS_NO_MEMORY Le paramètre Allocate 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.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows Vista
Serveur minimal pris en charge Windows Server 2008
Plateforme cible Universal
En-tête ntifs.h (inclure Ntifs.h, FltKernel.h)
Bibliothèque Ksecdd.lib
IRQL <= APC_LEVEL

Voir aussi

SecMakeSPN

SecMakeSPNEx