Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die DsBindByInstance--Funktion bindet explizit an jede AD LDS- oder Active Directory-Instanz.
Syntax
NTDSAPI_POSTXP DWORD DsBindByInstanceW(
[in] LPCWSTR ServerName,
[in] LPCWSTR Annotation,
[in] GUID *InstanceGuid,
[in] LPCWSTR DnsDomainName,
[in, optional] RPC_AUTH_IDENTITY_HANDLE AuthIdentity,
[in, optional] LPCWSTR ServicePrincipalName,
[in, optional] DWORD BindFlags,
[out] HANDLE *phDS
);
Parameter
[in] ServerName
Zeigen Sie auf eine mit Null beendete Zeichenfolge, die den Namen der Instanz angibt. Dieser Parameter ist erforderlich, um eine Bindung an eine AD LDS-Instanz durchzuführen. Wenn dieser Parameter beim Binden an eine Active Directory-Instanz NULL- ist, muss der parameter DnsDomainName einen Wert enthalten. Wenn dieser Parameter und der parameter DnsDomainName beide NULLsind, schlägt die Funktion mit dem Rückgabewert ERROR_INVALID_PARAMETER (87) fehl.
[in] Annotation
Zeiger auf eine mit Null beendete Zeichenfolge, die die Portnummer der AD LDS-Instanz angibt, oder NULL- beim Binden an eine Active Directory-Instanz. Beispiel: "389".
Wenn dieser Parameter NULL- ist, wenn die Bindung nach Domäne an eine Active Directory-Instanz erfolgt, muss der DnsDomainName Parameter angegeben werden. Wenn dieser Parameter beim Binden an eine AD LDS-Instanz NULL- ist, muss der parameter InstanceGuid angegeben werden.
[in] InstanceGuid
Zeigen Sie auf einen GUID- Wert, der die GUID- der AD LDS-Instanz enthält. Der GUID--Wert ist die objectGUID--Eigenschaft des nTDSDSA- Objekts der Instanz. Wenn dieser Parameter beim Binden an eine AD LDS-Instanz NULL- ist, muss der parameter Annotation angegeben werden.
[in] DnsDomainName
Zeigen Sie auf eine mit Null beendete Zeichenfolge, die den DNS-Namen der Domäne angibt, wenn sie nach Domäne an eine Active Directory-Instanz gebunden wird. Legen Sie diesen Parameter auf NULL- fest, um eine Bindung an eine Active Directory-Instanz nach Server oder an eine AD LDS-Instanz zu erstellen.
[in, optional] AuthIdentity
Behandeln Sie die Anmeldeinformationen, die zum Starten der RPC-Sitzung verwendet werden. Verwenden Sie die DsMakePasswordCredentials--Funktion, um eine Struktur zu erstellen, die für AuthIdentity-geeignet ist.
[in, optional] ServicePrincipalName
Zeigen Sie auf eine mit Null beendete Zeichenfolge, die den Dienstprinzipalnamen angibt, der dem Client zugewiesen werden soll. Das Übergeben NULL- in ServicePrincipalName- entspricht einem Aufruf der funktion DsBindWithCredWithCred.
[in, optional] BindFlags
Enthält eine Reihe von Flags, die das Verhalten dieser Funktion definieren. Dieser Parameter kann null oder eine Kombination aus einem oder mehreren der folgenden Werte enthalten.
NTDSAPI_BIND_ALLOW_DELEGATION (1)
Bewirkt, dass die Bindung die Identitätswechselebene für Stellvertretungen verwendet. Dadurch können Vorgänge, die eine Delegierung erfordern, z. B. DsAddSidHistory, erfolgreich ausgeführt werden. Wenn Sie dieses Flag angeben, wird auch DsBindWithSpnEx- ähnlich wie DsBindWithSpnausgeführt.
Wenn dieses Flag nicht angegeben ist, verwendet die Bindung die Identitätswechselebene. Weitere Informationen zu Identitätswechselebenen finden Sie unter Identitätswechselebenen.
Für die meisten Vorgänge ist die Identitätswechselebene des Stellvertretungs nicht erforderlich; Dieses Kennzeichen sollte nur angegeben werden, wenn es erforderlich ist. Die Bindung an einen nicht autorisierten Server mit der Identitätswechselebene des Delegats ermöglicht es dem nicht autorisierten Server, mit Ihren Anmeldeinformationen eine Verbindung mit einem nicht autorisierten Server herzustellen und unbeabsichtigte Vorgänge auszuführen.
NTDSAPI_BIND_FORCE_KERBEROS (4)
Active Directory Lightweight Directory Services: Wenn dieses Flag angegeben ist, erfordert DsBindWithSpnEx- die Kerberos-Authentifizierung. Wenn keine Kerberos-Authentifizierung eingerichtet werden kann, versucht DsBindWithSpnEx- nicht, sich mit einem anderen Mechanismus zu authentifizieren.
[out] phDS
Adresse eines HANDLE Werts, der das Bindungshandle empfängt. Rufen Sie zum Schließen dieses Handle DsUnBind-auf.
Rückgabewert
Gibt NO_ERROR zurück, wenn andernfalls ein RPC- oder Win32-Fehler erfolgreich war. Mögliche Fehlercodes sind die in der folgenden Liste aufgeführten Fehlercodes.
Bemerkungen
In der folgenden Liste sind die erforderlichen Parameterwerte für die Bindung an eine Instanz aufgeführt.
| Beispiel | ServerName- | Anmerkungs- | InstanceGuid- | DnsDomainName- |
|---|---|---|---|---|
| Active Directory nach Server | Servername | NULL- | NULL- | NULL- |
| Active Directory nach Domäne | NULL- | NULL- | NULL- | DNS-Domänenname |
| AD LDS nach Port | DNS-Name des Computers mit der AD LDS-Installation. | Portnummer | NULL- | NULL- |
| AD LDS durch GUID- | DNS-Name des Computers mit der AD LDS-Installation. | NULL- | Instanz-GUID- | NULL- |
Anmerkung
Der ntdsapi.h-Header definiert DsBindByInstance 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 |