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 |