DsBindWithSpnA-Funktion (ntdsapi.h)
Die DsBindWithSpn-Funktion bindet an einen Domänencontroller unter Verwendung der angegebenen Anmeldeinformationen und eines bestimmten Dienstprinzipalnamens (Service Principal Name, SPN) für die gegenseitige Authentifizierung.
Diese Funktion wird für den Fall bereitgestellt, dass für die gegenseitige Authentifizierung eine vollständige Kontrolle erforderlich ist. Verwenden Sie diese Funktion nicht, wenn Sie erwarten, dass DsBind einen Server für Sie findet, da SPNs computerspezifisch sind und es unwahrscheinlich ist, dass der von Ihnen bereitgestellte SPN mit dem Server übereinstimmt, den DsBind für Sie findet. Das Bereitstellen eines NULLServicePrincipalName-Arguments führt zu einem Verhalten, das mit DsBindWithCred identisch ist.
Syntax
NTDSAPI DWORD DsBindWithSpnA(
[in, optional] LPCSTR DomainControllerName,
[in, optional] LPCSTR DnsDomainName,
[in, optional] RPC_AUTH_IDENTITY_HANDLE AuthIdentity,
[in, optional] LPCSTR ServicePrincipalName,
[out] HANDLE *phDS
);
Parameter
[in, optional] DomainControllerName
Zeiger auf eine NULL-Zeichenfolge, die den vollqualifizierten DNS-Namen der Domäne enthält, an die gebunden werden soll. Weitere Informationen finden Sie in der DomainControllerName-Beschreibung im Thema DsBind .
[in, optional] DnsDomainName
Zeiger auf eine NULL-Zeichenfolge, die den vollqualifizierten DNS-Namen der Domäne enthält, an die gebunden werden soll. Weitere Informationen finden Sie in der Beschreibung DnsDomainName im Thema DsBind .
[in, optional] AuthIdentity
Enthält einen RPC_AUTH_IDENTITY_HANDLE Wert, der die Anmeldeinformationen darstellt, die für die Bindung verwendet werden sollen. The
Die DsMakePasswordCredentials-Funktion wird verwendet, um diesen Wert abzurufen. Wenn dieser Parameter NULL ist, werden die Anmeldeinformationen des aufrufenden Threads verwendet.
DsUnBind muss aufgerufen werden, bevor dieses Handle mit der DsFreePasswordCredentials-Funktion freigegeben wird.
[in, optional] ServicePrincipalName
Zeiger auf eine null-beendete Zeichenfolge, die den Dienstprinzipalnamen angibt, der dem Client zugewiesen werden soll. Das Übergeben von NULL in ServicePrincipalName entspricht einem Aufruf der DsBindWithCred-Funktion .
[out] phDS
Adresse eines HANDLE-Werts , der das Bindungshandle empfängt. Um dieses Handle zu schließen, übergeben Sie es an die DsUnBind-Funktion .
Rückgabewert
Gibt ERROR_SUCCESS zurück, wenn erfolgreich oder ein Windows- oder RPC-Fehlercode andernfalls. Im Folgenden finden Sie die häufigsten Fehlercodes.
Hinweise
Hinweis
Der ntdsapi.h-Header definiert DsBindWithSpn als Alias, der automatisch die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit nicht codierungsneutralem Code 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 |
---|---|
Unterstützte Mindestversion (Client) | Windows Vista |
Unterstützte Mindestversion (Server) | Windows Server 2008 |
Zielplattform | Windows |
Kopfzeile | ntdsapi.h |
Bibliothek | Ntdsapi.lib |
DLL | Ntdsapi.dll |