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 lequel é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 tous les contrôleurs de domaine spécifiques au site 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 une valeur GUID 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 domaine DnsName . 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’ignorée des données du contrôleur de domaine mises 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 mises en cache.

DS_GC_SERVER_REQUIRED

Nécessite que les contrôleurs de domaine énumérés soient des serveurs de catalogue global pour la forêt de domaines avec ce domaine comme racine. Cet indicateur ne peut pas être combiné avec l’indicateur 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 conteneur de schémas accessibles en écriture. 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 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 global é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_REQUIRED et DS_KDC_REQUIRED sont ignorés.

DS_PDC_REQUIRED

Nécessite que les contrôleurs de domaine énumérés soient les contrôleurs de domaine principaux pour le domaine. Cet indicateur ne peut pas être combiné avec l’indicateur 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 passé à DsGetDcClose pour fermer l’opération d’énumération du contrôleur de domaine.

Valeur retournée

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

Notes

Notes

L’en-tête dsgetdc.h définit DsGetDcOpen en tant qu’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. La combinaison 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.

Spécifications

   
Client minimal pris en charge Windows Vista
Serveur minimal pris en charge Windows Server 2008
Plateforme cible Windows
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