SecMakeSPNEx2-Funktion (ntifs.h)

SecMakeSPNEx2 erstellt eine Dienstanbieternamenzeichenfolge, 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 instance Namen angibt, der zum Herstellen einer Verbindung mit dem Sicherheitsdienstanbieter verwendet wird.

[in, optional] InstancePort

Portnummer für eine instance 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-endende Zeichenfolge, die den DNS-Namen des Hosts angibt, der eine IP-Adressreferenz erteilt hat. Dieser Parameter wird ignoriert, es sei denn, der Parameter ServiceName gibt eine IP-Adresse an.

[in, optional] InTargetInfo

Ein Zeiger auf eine NULL-endende 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 SPNs empfängt, einschließlich des abschließenden NULL-Zeichens.

[in] Allocate

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

[in] IsTargetInfoMarshaled

Eine boolesche Variable, die angibt, dass der Aufrufer eine gemarshallte InTargetInfo-Struktur bereitgestellt hat. Wenn IsTargetInfoMarshaled TRUE ist, zeigt InTargetInfo-Buffer> auf eine Zeichenfolgendarstellung der CREDENTIAL_TARGET_INFORMATION-Struktur, wie sie von der CredMarshalTargetInfo-Funktion zurückgegeben wird.

Rückgabewert

SecMakeSPNEx2 gibt bei Erfolg STATUS_SUCCESS oder einen der folgenden Fehlercodes bei Einem Fehler zurück.

Rückgabecode Beschreibung
STATUS_BUFFER_OVERFLOW Der Allocate-Parameter wurde auf false festgelegt, und eine der folgenden Bedingungen ist aufgetreten: (1) Der Parameter Spn war ein NULL-Zeiger. (2) Die maximale Länge für den Unicode-Zeichenfolgenparameter von Spn war zu klein.
STATUS_INVALID_PARAMETER Die Gesamtlänge des Spn-Parameters überschreitet 65535 Bytes.
STATUS_NO_MEMORY Der Allocate-Parameter wurde auf true festgelegt, aber bei der Speicherbelegungsanforderung ist ein Fehler aufgetreten.

Hinweise

SecMakeSPNEx2 ist eine erweiterte Version von SecMakeSPNEx.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows Vista
Unterstützte Mindestversion (Server) Windows Server 2008
Zielplattform Universell
Header ntifs.h (include Ntifs.h, FltKernel.h)
Bibliothek Ksecdd.lib
IRQL <= APC_LEVEL

Weitere Informationen

SecMakeSPN

SecMakeSPNEx