Freigeben über


DsClientMakeSpnForTargetServerA-Funktion (ntdsapi.h)

Die DsClientMakeSpnForTargetServer-Funktion erstellt einen Dienstprinzipalnamen (Service Principal Name, SPN), der einen bestimmten Server identifiziert, der für die Authentifizierung verwendet werden soll.

Syntax

NTDSAPI DWORD DsClientMakeSpnForTargetServerA(
  [in]      LPCSTR ServiceClass,
  [in]      LPCSTR ServiceName,
  [in, out] DWORD  *pcSpnLength,
  [out]     LPSTR  pszSpn
);

Parameter

[in] ServiceClass

Zeigen Sie auf eine mit Null beendete Zeichenfolge, die die Klasse des Diensts enthält, wie vom Dienst definiert. Dies kann eine beliebige Zeichenfolge sein, die für den Dienst eindeutig ist.

[in] ServiceName

Zeigen Sie auf eine mit Null beendete Zeichenfolge, die den DNS-Hostnamen (Distinguished Name Service) enthält. Dies kann entweder ein vollqualifizierter Name oder eine IP-Adresse im Internetstandardformat sein.

Die Verwendung einer IP-Adresse für ServiceName- wird nicht empfohlen, da dadurch ein Sicherheitsproblem entstehen kann. Bevor der SPN erstellt wird, muss die IP-Adresse über die DNS-Namensauflösung in einen Computernamen übersetzt werden. Es ist möglich, dass die DNS-Namensauflösung gespooft wird und der beabsichtigte Computername durch einen nicht autorisierten Computernamen ersetzt wird.

[in, out] pcSpnLength

Zeiger auf einen DWORD- Wert, der im Eintrag die Größe des pszSpn- Puffers in Zeichen enthält. Bei der Ausgabe empfängt dieser Parameter die Anzahl der Zeichen, die in den pszSpn Puffer kopiert wurden, einschließlich des endenden NULL-.

[out] pszSpn

Zeigen Sie auf einen Zeichenfolgenpuffer, der den SPN empfängt.

Rückgabewert

Diese Funktion gibt standardmäßige Windows-Fehlercodes zurück.

Bemerkungen

Geben Sie bei Verwendung dieser Funktion die Dienstklasse und einen Teil eines DNS-Hostnamens an.

Diese Funktion ist eine vereinfachte Version der funktion DsMakeSpn. Die ServiceName- wird kanonisch erstellt, indem sie über DNS aufgelöst wird.

GUID-basierte DNS-Namen werden nicht unterstützt. Bei der Konstruktion lautet der vereinfachte SPN wie folgt:

ServiceClass / ServiceName / ServiceName

Der Instanznameteil (zweite Position) ist immer auf Standard festgelegt. Die Port- und Verweiserfelder werden nicht verwendet.

Anmerkung

Der ntdsapi.h-Header definiert DsClientMakeSpnForTargetServer als Alias, der die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit Code, der nicht codierungsneutral ist, kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Windows Vista
mindestens unterstützte Server- Windows Server 2008
Zielplattform- Fenster
Header- ntdsapi.h
Library Ntdsapi.lib
DLL- Ntdsapi.dll

Siehe auch

Domänencontroller- und Replikationsverwaltungsfunktionen

DsMakeSpn-