Freigeben über


SecMakeSPNEx2-Funktion (ntifs.h)

SecMakeSPNEx2 erstellt eine Zeichenfolge des Dienstanbieternamens, die verwendet werden kann, wenn sie mit bestimmten Sicherheitsdienstanbietern kommuniziert.

Syntax

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
);

Parameter

[in] ServiceClass

Ein Zeiger auf eine Unicode-Zeichenfolge, die die Dienstklasse für den Sicherheitsdienstanbieter angibt.

[in] ServiceName

Ein Zeiger auf eine Unicode-Zeichenfolge, die den Dienstnamen für den Sicherheitsdienstanbieter angibt.

[in, optional] InstanceName

Ein Zeiger auf eine optionale Unicode-Zeichenfolge, die den Instanznamen angibt, der für die Verbindung mit dem Sicherheitsdienstanbieter verwendet wird.

[in, optional] InstancePort

Portnummer für eine Instanz des Diensts. Verwenden Sie 0 für den Standardport. Wenn dieser Parameter null ist, enthält der SPN keine Portnummer.

[in, optional] Referrer

Zeiger auf eine konstante null-beendete Zeichenfolge, die den DNS-Namen des Hosts angibt, der eine IP-Adressverweisung gegeben hat. Dieser Parameter wird ignoriert, es sei denn, der parameter ServiceName gibt eine IP-Adresse an.

[in, optional] InTargetInfo

Ein Zeiger auf eine mit Null beendete Zeichenfolge, die das Ziel des Kontexts angibt.

[in, out] Spn

Ein Zeiger auf eine Unicode-Zeichenfolge, die die Zeichenfolge des Sicherheitsdienstanbieternamens empfängt, die von dieser Funktion erstellt wird.

[out, optional] TotalSize

Zeiger auf eine ULONG, die die tatsächliche Länge des erstellten SPN erhält, einschließlich des endenden Nullzeichens.

[in] Allocate

Eine boolesche Variable, die angibt, ob der Speicher, der zum Speichern der Spn Unicode-Zeichenfolge verwendet wird, von dieser Funktion zugewiesen werden soll. Wenn dieser Parameter TRUE ist, wird speicher für Spn aus dem ausgelagerten Pool zugewiesen.

[in] IsTargetInfoMarshaled

Eine boolesche Variable, die angibt, dass der Aufrufer eine gemarstische InTargetInfo- Struktur bereitgestellt hat. Wenn IsTargetInfoMarshaled WAHR ist, verweist InTargetInfo-->Buffer auf eine Zeichenfolgendarstellung der CREDENTIAL_TARGET_INFORMATION Struktur, die von der CredMarshalTargetInfo Funktion zurückgegeben wird.

Rückgabewert

SecMakeSPNEx2 gibt STATUS_SUCCESS bei Erfolg oder einer der folgenden Fehlercodes für Fehler zurück.

Rückgabecode Beschreibung
STATUS_BUFFER_OVERFLOW Der parameter "Zuweisen" wurde auf "false" festgelegt, und eine der folgenden Bedingungen ist aufgetreten: (1) Der Spn Parameter war ein NULL-Zeiger. (2) Die maximale Länge für den Spn Unicode-Zeichenfolgenparameter war zu klein.
STATUS_INVALID_PARAMETER Die Gesamtlänge des Spn--Parameters überschreitet 65535 Byte.
STATUS_NO_MEMORY Der parameter "Zuweisen" wurde auf "true" festgelegt, die Speicherzuweisungsanforderung ist jedoch fehlgeschlagen.

Bemerkungen

SecMakeSPNEx2 ist eine erweiterte Version von SecMakeSPNEx.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Windows Vista
mindestens unterstützte Server- Windows Server 2008
Zielplattform- Universal
Header- ntifs.h (einschließlich Ntifs.h, FltKernel.h)
Library Ksecdd.lib
IRQL- <= APC_LEVEL

Siehe auch

SecMakeSPN-

SecMakeSPNEx-