Partager via


énumération ADS_NAME_INITTYPE_ENUM (iads.h)

L’énumération ADS_NAME_INITTYPE_ENUM spécifie les types d’initialisation à effectuer sur un objet NameTranslate. Il est utilisé dans l’interface IADsNameTranslate .

Syntax

typedef enum __MIDL___MIDL_itf_ads_0001_0050_0002 {
  ADS_NAME_INITTYPE_DOMAIN = 1,
  ADS_NAME_INITTYPE_SERVER = 2,
  ADS_NAME_INITTYPE_GC = 3
} ADS_NAME_INITTYPE_ENUM;

Constantes

 
ADS_NAME_INITTYPE_DOMAIN
Valeur : 1
Initialise un objet NameTranslate en définissant le domaine auquel l’objet est lié.
ADS_NAME_INITTYPE_SERVER
Valeur : 2
Initialise un objet NameTranslate en définissant le serveur auquel l’objet est lié.
ADS_NAME_INITTYPE_GC
Valeur : 3
Initialise un objet NameTranslate en localisant le catalogue global auquel l’objet est lié.

Notes

La méthode IADsNameTranslate::Init ou IADsNameTranslate::InitEx utilise ces options pour initialiser l’objet NameTranslate . Lorsque ADS_NAME_INITTYPE_SERVER est utilisé, spécifiez le nom de l’ordinateur d’un serveur d’annuaires. Lorsque ADS_NAME_INITTYPE_DOMAIN est défini, fournissez le nom de domaine dans une forêt d’annuaires. Lorsque ADS_NAME_INITTYPE_GC est émis, le deuxième paramètre dans IADsNameTranslate::Init ou IADsNameTranslate::InitEx est ignoré. Le serveur catalogue global du domaine de l’ordinateur actuel est utilisé pour effectuer les opérations de traduction de nom. L’initialisation échoue si l’ordinateur hôte ne fait pas partie d’un domaine, car aucun catalogue global n’est trouvé.

Note Étant donné que VBScript ne peut pas lire les données d’une bibliothèque de types, les applications VBScript ne reconnaissent pas les constantes symboliques telles que définies ci-dessus. Au lieu de cela, utilisez les constantes numériques pour définir les indicateurs appropriés dans vos applications VBScript. Pour utiliser des constantes symboliques comme bonne pratique de programmation, écrivez des déclarations explicites de telles constantes, comme cela est fait ici, dans vos applications VBScript.
 

Exemples

L’exemple de code C/C++ suivant utilise la méthode IADsNameTranslate::Init pour initialiser un objet NameTranslate via le catalogue global, en supposant que le client exécutant l’application se trouve dans la forêt de répertoires. Il restitue ensuite le nom unique d’un objet utilisateur au format Windows.

IADsNameTranslate *pNto = NULL;
HRESULT hr = S_OK;
CComBSTR sbstr;

hr = CoCreateInstance(CLSID_NameTranslate,
                      NULL,
                      CLSCTX_INPROC_SERVER,
                      IID_IADsNameTranslate,
                      (void**)&pNto);
if(FAILED(hr)) { exit 1;}
 
hr = pNto->Init(ADS_NAME_INITTYPE_GC, CComBSTR(""));
if (FAILED(hr))
{ 
   goto cleanup;
}
 
hr =pNto->Set(ADS_NAME_TYPE_1779,
             CComBSTR(L"cn=jeffsmith,cn=users,dc=Fabrikam,dc=com"));
if(FAILED(hr))
{
   goto cleanup;
}
 
hr = pNto->Get(ADS_NAME_TYPE_NT4, &sbstr);
printf("Name in the translated format: %S\n", sbstr);

cleanup: 
if(pNto)
{
    pNto->Release();
}

L’exemple de code Visual Basic suivant utilise la méthode IADsNameTranslate::Init pour initialiser un objet NameTranslate via le catalogue global, en supposant que le client exécutant l’application se trouve dans la forêt de répertoires. Il restitue ensuite le nom unique d’un objet utilisateur au format Windows.

Dim nto as New NameTranslate
dso="CN=jeffsmith, CN=users, DC=Fabrikam dc=COM"
 
nto.Init  ADS_NAME_INITTYPE_GC, ""
nto.Set ADS_NAME_TYPE_1779, dso
trans = nto.Get(ADS_NAME_TYPE_NT4)   
MsgBox "Translated name = " & trans

L’exemple de code VBScript/ASP suivant utilise la méthode IADsNameTranslate::Init pour initialiser un objet NameTranslate via le catalogue global, en supposant que le client exécutant l’application se trouve dans la forêt de répertoires. Il restitue ensuite le nom unique d’un objet utilisateur au format Windows.

<%@ Language=VBScript %>
<html>
<body>
<%
  Dim nto
  const ADS_NAME_INITTYPE_GC = 3  ' VBScript cannot read. 
  const ADS_NAME_TYPE_1779 = 1    ' Enumeration definition.
  const ADS_NAME_TYPE_NT4 = 3
 
  dn = "CN=jeff smith,CN=Users,DC=Fabrikam,DC=COM" 
 
  Set nto = Server.CreateObject("NameTranslate")
  nto.Init ADS_NAME_INITTYPE_GC, ""
  nto.Set ADS_NAME_TYPE_1779, dn
  result = nto.Get(ADS_NAME_TYPE_NT4)
 
  Response.Write "<p>Name in the translated format: " & result
 
%>
</body>
</html>

Configuration requise

   
Client minimal pris en charge Windows Vista
Serveur minimal pris en charge Windows Server 2008
En-tête iads.h

Voir aussi

Énumérations ADSI

IADsNameTranslate