IADsNameTranslate::Init, méthode (iads.h)

La méthode IADsNameTranslate::Init initialise un objet de traduction de nom en lisant un serveur d’annuaire, un domaine ou un catalogue global spécifié, à l’aide des informations d’identification de l’utilisateur actuel. Pour initialiser l’objet avec des informations d’identification utilisateur différentes, utilisez IADsNameTranslate::InitEx.

Syntaxe

HRESULT Init(
  long lnSetType,
  BSTR bstrADsPath
);

Paramètres

lnSetType

Type d’initialisation à effectuer. Les valeurs possibles sont définies dans ADS_NAME_INITTYPE_ENUM.

bstrADsPath

Nom du serveur ou du domaine, selon la valeur de lnInitType. Lorsque ADS_NAME_INITTYPE_GC est émis, ce paramètre est ignoré. Le serveur de catalogue global du domaine de l’ordinateur actuel effectue les opérations de traduction de nom. Cette méthode échoue si l’ordinateur ne fait pas partie d’un domaine, car aucun catalogue global n’est trouvé dans ce scénario. Pour plus d’informations, consultez ADS_NAME_INITTYPE_ENUM.

Valeur retournée

Retourne un code d’erreur HRESULT ou RPC standard, notamment :

Notes

Une fois l’initialisation réussie, vous pouvez continuer à utiliser l’objet name translate pour envoyer des demandes de traductions de noms d’objets dans le répertoire. Pour plus d’informations, consultez IADsNameTranslate::Set ou IADsNameTranslate::Get.

Exemples

L’exemple de code C/C++ suivant utilise la méthode IADsNameTranslate::Init pour initialiser un objet IADsNameTranslate avant que le nom unique d’un objet utilisateur ne soit rendu au format s.

IADsNameTranslate *pNto;
HRESULT hr;
hr = CoCreateInstance(CLSID_NameTranslate,
                      NULL,
                      CLSCTX_INPROC_SERVER,
                      IID_IADsNameTranslate,
                      (void**)&pNto);
if(FAILED(hr)) { exit 1;}
 
hr = pNto->Init(ADS_NAME_INITTYPE_SERVER,
                  CComBSTR("myServer"));
if (FAILED(hr)) { exit 1;}
 
hr =pNto->Set(ADS_NAME_TYPE_1779,
             CComBSTR("cn=jeffsmith,cn=users,dc=Fabrikam,dc=com"));
if(FAILED(hr)) {exit 1;}
 
BSTR bstr;
hr = pNto->Get(ADS_NAME_TYPE_NT4, &bstr);
printf("Name in the translated format: %S\n", bstr);
 
SysFreeString(bstr);
pNto->Release();

L’exemple de code Visual Basic suivant utilise la méthode IADsNameTranslate::Init pour initialiser un objet IADsNameTranslate afin que le nom unique d’un objet utilisateur soit affiché au format de nom d’utilisateur.

Dim nto As New NameTranslate
dso="CN=jeffsmith, CN=users, DC=Fabrikam dc=COM"
 
nto.Init  ADS_NAME_INITTYPE_SERVER, "myServer"
nto.Set ADS_NAME_TYPE_1779, dso
trans = nto.Get(ADS_NAME_TYPE_NT4)  

L’exemple de code VBScript/ASP suivant utilise la méthode IADsNameTranslate::Init pour initialiser un objet IADsNameTranslate afin d’afficher le nom unique d’un objet utilisateur au format de nom d’utilisateur.

<%@ Language=VBScript %>
<html>
<body>
<%
  Dim nto
  const ADS_NAME_INITTYPE_SERVER = 2  ' VBScript cannot read 
  const ADS_NAME_TYPE_1779 = 1        ' enumeration definition
  const ADS_NAME_TYPE_NT4 = 3
 
  dn = "CN=jeffsmith,CN=Users,DC=Fabrikam,DC=COM" 
 
  Set nto = Server.CreateObject("NameTranslate")
  nto.Init ADS_NAME_INITTYPE_SERVER, "myServer"
  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
Plateforme cible Windows
En-tête iads.h
DLL Activeds.dll

Voir aussi

ADS_NAME_TYPE_ENUM

IADsNameTranslate

IADsNameTranslate::Get

IADsNameTranslate::InitEx

IADsNameTranslate::Set