DsGetDcOpenA-Funktion (dsgetdc.h)
Die DsGetDcOpen-Funktion öffnet einen neuen Domänencontrolleraufzählungsvorgang.
Syntax
DSGETDCAPI DWORD DsGetDcOpenA(
[in] LPCSTR DnsName,
[in] ULONG OptionFlags,
[in, optional] LPCSTR SiteName,
[in, optional] GUID *DomainGuid,
[in, optional] LPCSTR DnsForestName,
[in] ULONG DcFlags,
[out] PHANDLE RetGetDcContext
);
Parameter
[in] DnsName
Zeiger auf eine NULL-beendete Zeichenfolge, die den DNS-Namen (Domain Naming System) der Domäne enthält, für die die Domänencontroller aufgelistet werden sollen. Dieser Parameter darf nicht NULL sein.
[in] OptionFlags
Enthält eine Reihe von Flags, die das Verhalten der Funktion ändern. Dies kann null oder eine Kombination aus einem oder mehreren der folgenden Werte sein.
DS_ONLY_DO_SITE_NAME
Es werden nur standortspezifische Domänencontroller aufgelistet.
DS_NOTIFY_AFTER_SITE_RECORDS
Die DsGetDcNext-Funktion gibt den ERROR_FILEMARK_DETECTED Wert zurück, nachdem alle standortspezifischen Domänencontroller abgerufen wurden. DsGetDcNext listet dann die zweite Gruppe auf, die alle Domänencontroller in der Domäne enthält, einschließlich der standortspezifischen Domänencontroller in der ersten Gruppe.
[in, optional] SiteName
Zeiger auf eine NULL-Zeichenfolge, die den Namen des Standorts enthält, in dem sich der Client befindet. Dieser Parameter ist optional und kann NULL sein.
[in, optional] DomainGuid
Zeiger auf einen GUID-Wert , der den Bezeichner der durch DnsName angegebenen Domäne enthält. Dieser Bezeichner wird verwendet, um den Fall einer umbenannten Domäne zu behandeln. Wenn dieser Wert angegeben wird und die in DnsName angegebene Domäne umbenannt wird, versucht diese Funktion, Domänencontroller in der Domäne aufzulisten, die den angegebenen Bezeichner enthält. Dieser Parameter ist optional und kann NULL sein.
[in, optional] DnsForestName
Zeiger auf eine NULL-Zeichenfolge, die den Namen der Gesamtstruktur enthält, die die DnsName-Domäne enthält. Dieser Wert wird in Verbindung mit DomainGuid verwendet, um die Domänencontroller aufzulisten, wenn die Domäne umbenannt wurde. Dieser Parameter ist optional und kann NULL sein.
[in] DcFlags
Enthält eine Reihe von Flags, die den Typ der aufzählenden Domänencontroller identifizieren. Dies kann null oder eine Kombination aus einem oder mehreren der folgenden Werte sein.
DS_FORCE_REDISCOVERY
Erzwingt, dass zwischengespeicherte Domänencontrollerdaten ignoriert werden. Wenn dieses Flag nicht angegeben ist, ruft DsGetDcOpen die Domänencontrolleraufzählung aus zwischengespeicherten Domänencontrollerdaten ab.
DS_GC_SERVER_REQUIRED
Erfordert, dass die aufgezählten Domänencontroller globale Katalogserver für die Gesamtstruktur von Domänen mit dieser Domäne als Stamm sind. Dieses Flag kann nicht mit dem DS_PDC_REQUIRED-Flag kombiniert werden.
DS_KDC_REQUIRED
Erfordert, dass auf den aufgezählten Domänencontrollern derzeit der Kerberos Key Distribution Center-Dienst ausgeführt wird. Dieses Flag kann nicht mit den DS_PDC_REQUIRED - oder DS_GC_SERVER_REQUIRED-Flags kombiniert werden.
DS_ONLY_LDAP_NEEDED
Gibt an, dass es sich bei den aufgezählten Servern um LDAP-Server handelt. Die Server sind nicht unbedingt Domänencontroller. Auf jedem aufgezählten Server sind keine anderen Dienste vorhanden. Die Server verfügen nicht unbedingt über einen beschreibbaren Konfigurationscontainer oder einen beschreibbaren Schemacontainer . Die Server werden möglicherweise nicht unbedingt zum Erstellen oder Ändern von Sicherheitsprinzipien verwendet. Dieses Flag kann mit dem flag DS_GC_SERVER_REQUIRED verwendet werden, um LDAP-Server aufzulisten, die auch einen globalen Katalogserver hosten. In diesem Fall sind die aufgezählten globalen Katalogserver nicht notwendigerweise Domänencontroller, und andere Dienste müssen auf jedem Server vorhanden sein. Wenn dieses Flag angegeben wird, werden die Flags DS_PDC_REQUIRED, DS_TIMESERV_REQUIRED, DS_GOOD_TIMESERV_PREFERRED, DS_DIRECTORY_SERVICES_PREFERED, DS_DIRECTORY_SERVICES_REQUIRED und DS_KDC_REQUIRED ignoriert.
DS_PDC_REQUIRED
Erfordert, dass die aufgelisteten Domänencontroller die primären Domänencontroller für die Domäne sind. Dieses Flag kann nicht mit dem DS_GC_SERVER_REQUIRED-Flag kombiniert werden.
[out] RetGetDcContext
Zeiger auf einen HANDLE-Wert , der das Kontexthandle der Domänencontrolleraufzählung empfängt. Dieses Handle wird mit der DsGetDcNext-Funktion verwendet, um den Domänencontrolleraufzählungsvorgang zu identifizieren. Dieses Handle wird an DsGetDcClose übergeben, um den Domänencontrolleraufzählungsvorgang zu schließen.
Rückgabewert
Gibt ERROR_SUCCESS zurück, wenn erfolgreich oder andernfalls ein Win32- oder RPC-Fehler auftritt. Mögliche Fehlerwerte sind:
Bemerkungen
Hinweis
Der dsgetdc.h-Header definiert DsGetDcOpen 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 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
Unterstützte Mindestversion (Client) | Windows Vista |
Unterstützte Mindestversion (Server) | Windows Server 2008 |
Zielplattform | Windows |
Kopfzeile | dsgetdc.h |
Bibliothek | Netapi32.lib |
DLL | Netapi32.dll |