Partager via


DsGetDcOpenA, fonction (dsgetdc.h)

La fonction DsGetDcOpen ouvre une nouvelle opération d’énumération de contrôleur de domaine.

Syntaxe

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
);

Paramètres

[in] DnsName

Pointeur vers une chaîne terminée par null qui contient le nom DNS (Domain Naming System) du domaine pour énumérer les contrôleurs de domaine. Ce paramètre ne peut pas être NULL.

[in] OptionFlags

Contient un ensemble d’indicateurs qui modifient le comportement de la fonction. Il peut s’agir de zéro ou d’une combinaison d’une ou plusieurs des valeurs suivantes.

DS_ONLY_DO_SITE_NAME

Seuls les contrôleurs de domaine spécifiques au site sont énumérés.

DS_NOTIFY_AFTER_SITE_RECORDS

La fonction DsGetDcNext retourne la valeur ERROR_FILEMARK_DETECTED une fois que tous les contrôleurs de domaine spécifiques au site sont récupérés. DsGetDcNext énumère ensuite le deuxième groupe, qui contient tous les contrôleurs de domaine du domaine, y compris les contrôleurs de domaine spécifiques au site contenus dans le premier groupe.

[in, optional] SiteName

Pointeur vers une chaîne terminée par null qui contient le nom du site dans lequel se trouve le client. Ce paramètre est facultatif et peut être NULL.

[in, optional] DomainGuid

Pointeur vers un GUID valeur qui contient l’identificateur du domaine spécifié par dnsName. Cet identificateur est utilisé pour gérer le cas d’un domaine renommé. Si cette valeur est spécifiée et que le domaine spécifié dans dnsName est renommé, cette fonction tente d’énumérer les contrôleurs de domaine dans le domaine qui contient l’identificateur spécifié. Ce paramètre est facultatif et peut être NULL.

[in, optional] DnsForestName

Pointeur vers une chaîne terminée par null qui contient le nom de la forêt qui contient le DnsName domaine. Cette valeur est utilisée conjointement avec DomainGuid pour énumérer les contrôleurs de domaine si le domaine a été renommé. Ce paramètre est facultatif et peut être NULL.

[in] DcFlags

Contient un ensemble d’indicateurs qui identifient le type de contrôleurs de domaine à énumérer. Il peut s’agir de zéro ou d’une combinaison d’une ou plusieurs des valeurs suivantes.

DS_FORCE_REDISCOVERY

Force l’ignorement des données du contrôleur de domaine mis en cache. Lorsque cet indicateur n’est pas spécifié, DsGetDcOpen obtient l’énumération du contrôleur de domaine à partir des données du contrôleur de domaine mis en cache.

DS_GC_SERVER_REQUIRED

Exige que les contrôleurs de domaine énumérés soient des serveurs de catalogue globaux pour la forêt de domaines avec ce domaine comme racine. Cet indicateur ne peut pas être combiné avec l’indicateur de DS_PDC_REQUIRED.

DS_KDC_REQUIRED

Nécessite que les contrôleurs de domaine énumérés exécutent actuellement le service centre de distribution de clés Kerberos. Cet indicateur ne peut pas être combiné avec les indicateurs DS_PDC_REQUIRED ou DS_GC_SERVER_REQUIRED.

DS_ONLY_LDAP_NEEDED

Spécifie que les serveurs énumérés sont des serveurs LDAP. Les serveurs ne sont pas nécessairement des contrôleurs de domaine. Aucun autre service n’est implicitement présent sur chaque serveur énuméré. Les serveurs ne disposent pas nécessairement d’un conteneur de configuration accessible en écriture ni d’un schéma accessible en écriture conteneur. Les serveurs ne peuvent pas nécessairement être utilisés pour créer ou modifier des principes de sécurité. Cet indicateur peut être utilisé avec l’indicateur de DS_GC_SERVER_REQUIRED pour énumérer les serveurs LDAP qui hébergent également un serveur de catalogue global. Dans ce cas, les serveurs de catalogue globaux énumérés ne sont pas nécessairement des contrôleurs de domaine et d’autres services sont implicitement présents sur chaque serveur. Si cet indicateur est spécifié, les indicateurs DS_PDC_REQUIRED, DS_TIMESERV_REQUIRED, DS_GOOD_TIMESERV_PREFERRED, DS_DIRECTORY_SERVICES_PREFERED, DS_DIRECTORY_SERVICES_REQUIREDet DS_KDC_REQUIRED sont ignorés.

DS_PDC_REQUIRED

Exige que les contrôleurs de domaine énumérés soient les contrôleurs de domaine principaux du domaine. Cet indicateur ne peut pas être combiné avec l’indicateur de DS_GC_SERVER_REQUIRED.

[out] RetGetDcContext

Pointeur vers une valeur HANDLE qui reçoit le handle de contexte d’énumération du contrôleur de domaine. Ce handle est utilisé avec la fonction DsGetDcNext pour identifier l’opération d’énumération du contrôleur de domaine. Ce handle est transmis à DsGetDcClose pour fermer l’opération d’énumération du contrôleur de domaine.

Valeur de retour

Retourne ERROR_SUCCESS en cas de réussite ou d’erreur Win32 ou RPC dans le cas contraire. Les valeurs d’erreur possibles sont les suivantes.

Remarques

Note

L’en-tête dsgetdc.h définit DsGetDcOpen comme alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. Le mélange de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre en encodage peut entraîner des incompatibilités qui entraînent des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de fonction.

Exigences

Exigence Valeur
client minimum pris en charge Windows Vista
serveur minimum pris en charge Windows Server 2008
plateforme cible Windows
d’en-tête dsgetdc.h
bibliothèque Netapi32.lib
DLL Netapi32.dll

Voir aussi

fonctions de service d’annuaire

DsGetDcClose

DsGetDcNext

énumération des contrôleurs de domaine