Freigeben über


DsGetDcOpenA-Funktion (dsgetdc.h)

Die DsGetDcOpen--Funktion öffnet einen neuen Domänencontroller-Enumerationsvorgang.

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

Zeigen Sie auf eine mit Null beendete Zeichenfolge, die den DNS-Namen (Domain Naming System) der Domäne enthält, um die Domänencontroller aufzulisten. Dieser Parameter kann nicht NULL-werden.

[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

Nur standortspezifische Domänencontroller werden aufgezählt.

DS_NOTIFY_AFTER_SITE_RECORDS

Die DsGetDcNext--Funktion gibt den ERROR_FILEMARK_DETECTED Wert zurück, nachdem alle standortspezifischen Domänencontroller abgerufen wurden. DsGetDcNext dann die zweite Gruppe auflisten, die alle Domänencontroller in der Domäne enthält, einschließlich der standortspezifischen Domänencontroller in der ersten Gruppe.

[in, optional] SiteName

Zeigen Sie auf eine mit Null beendete Zeichenfolge, die den Namen der Website enthält, in der sich der Client befindet. Dieser Parameter ist optional und kann NULL-sein.

[in, optional] DomainGuid

Zeigen Sie auf einen GUID- Wert, der den Bezeichner der domäne enthält, die durch DnsName-angegeben wird. Dieser Bezeichner wird verwendet, um den Fall einer umbenannten Domäne zu behandeln. Wenn dieser Wert angegeben ist und die in dnsName angegebene Domäne umbenannt wird, versucht diese Funktion, Domänencontroller in der Domäne aufzählen, die den angegebenen Bezeichner enthält. Dieser Parameter ist optional und kann NULL-sein.

[in, optional] DnsForestName

Zeigen Sie auf eine mit Null beendete Zeichenfolge, die den Namen der Gesamtstruktur enthält, die den DnsName- Domäne enthält. Dieser Wert wird in Verbindung mit DomainGuid- verwendet, um die Domänencontroller auflisten, 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 Domänencontroller identifizieren, die aufgezählt werden sollen. 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 sein. Dieses Kennzeichen kann nicht mit der DS_PDC_REQUIRED-Kennzeichnung kombiniert werden.

DS_KDC_REQUIRED

Erfordert, dass die aufgezählten Domänencontroller derzeit den Kerberos Key Distribution Center-Dienst ausführen. Diese Kennzeichnung kann nicht mit den DS_PDC_REQUIRED- oder DS_GC_SERVER_REQUIRED Flags kombiniert werden.

DS_ONLY_LDAP_NEEDED

Gibt an, dass die aufgezählten Server LDAP-Server sind. Die Server sind nicht unbedingt Domänencontroller. Es werden keine anderen Dienste impliziert, die auf jedem aufgezählten Server vorhanden sind. Die Server verfügen nicht unbedingt über eine schreibbare Konfigurationskonfiguration Container oder über einen beschreibbaren Schemacontainer Container. Die Server werden möglicherweise nicht unbedingt verwendet, um Sicherheitsprinzipien zu erstellen oder zu ändern. Dieses Flag kann mit dem flag DS_GC_SERVER_REQUIRED zum Aufzählen von LDAP-Servern verwendet werden, die auch einen globalen Katalogserver hosten. In diesem Fall sind die aufgezählten globalen Katalogserver nicht unbedingt Domänencontroller und andere Dienste impliziert, dass sie auf jedem Server vorhanden sind. Wenn diese Kennzeichnung angegeben ist, werden die DS_PDC_REQUIRED, DS_TIMESERV_REQUIRED, DS_GOOD_TIMESERV_PREFERRED, DS_DIRECTORY_SERVICES_PREFERED, DS_DIRECTORY_SERVICES_REQUIREDund DS_KDC_REQUIRED Flags ignoriert.

DS_PDC_REQUIRED

Erfordert, dass die aufgezählten Domänencontroller die primären Domänencontroller für die Domäne sind. Dieses Kennzeichen kann nicht mit der DS_GC_SERVER_REQUIRED-Kennzeichnung kombiniert werden.

[out] RetGetDcContext

Zeiger auf einen HANDLE Wert, der das Domänencontroller-Enumerationskontexthandle empfängt. Dieses Handle wird mit der DsGetDcNext--Funktion verwendet, um den Domänencontroller-Enumerationsvorgang zu identifizieren. Dieses Handle wird an DsGetDcClose- übergeben, um den Domänencontroller-Enumerationsvorgang zu schließen.

Rückgabewert

Gibt ERROR_SUCCESS zurück, wenn ein Win32- oder RPC-Fehler andernfalls erfolgreich war. Mögliche Fehlerwerte sind:

Bemerkungen

Anmerkung

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 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- dsgetdc.h
Library Netapi32.lib
DLL- Netapi32.dll

Siehe auch

Verzeichnisdienstfunktionen

DsGetDcClose-

DsGetDcNext-

Aufzählen von Domänencontrollern