SecMakeSPN-Funktion (ntifs.h)

SecMakeSPN erstellt eine Dienstanbieternamenzeichenfolge, die bei der Kommunikation mit bestimmten Sicherheitsdienstanbietern verwendet werden kann.

Syntax

KSECDDDECLSPEC NTSTATUS SecMakeSPN(
  [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, out]       IN OUT PUNICODE_STRING Spn,
  [out, optional] OUT PULONG             Length,
  [in]            IN BOOLEAN             Allocate
);

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 für die Verbindung mit dem Sicherheitsdienstanbieter angibt.

[in, optional] InstancePort

Portnummer für eine instance des Diensts. Verwenden Sie 0 für den Standardport. Wenn dieser Parameter 0 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-Adressempfehlung gegeben hat. Dieser Parameter wird ignoriert, es sei denn, der Parameter ServiceName gibt eine IP-Adresse an.

[in, out] Spn

Ein Zeiger auf eine Unicode-Zeichenfolge zum Speichern der Zeichenfolge des Sicherheitsdienstanbieternamens, die von dieser Funktion erstellt wurde.

[out, optional] Length

Zeiger auf eine ULONG, die die tatsächliche Länge des erstellten SPN empfängt, einschließlich des beendenden NULL-Zeichens.

[in] Allocate

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

Rückgabewert

SecMakeSPN gibt STATUS_SUCCESS bei Erfolg 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 Spn-Parameter war ein NULL-Zeiger. (2) Die maximale Länge für den Unicode-Zeichenfolgenparameter 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 Speicherzuordnungsanforderung ist ein Fehler aufgetreten.

Anforderungen

Anforderung Wert
Zielplattform Universell
Header ntifs.h (include Ntifs.h, FltKernel.h)
Bibliothek Ksecdd.lib
IRQL <= APC_LEVEL

Weitere Informationen

SecMakeSPNEx

SecMakeSPNEx2