Freigeben über


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

Weitere Informationen

Verzeichnisdienstfunktionen

DsGetDcClose

DsGetDcNext

Auflisten von Domänencontrollern