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

La méthode IADsNameTranslate ::InitEx 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 spécifiées. Pour initialiser l’objet sans informations d’identification utilisateur explicites, utilisez IADsNameTranslate ::Init.

La méthode IADsNameTranslate ::InitEx initialise l’objet en définissant le serveur ou le domaine vers lequel l’objet pointe et en fournissant des informations d’identification utilisateur.

Syntaxe

HRESULT InitEx(
  long lnSetType,
  BSTR bstrADsPath,
  BSTR bstrUserID,
  BSTR bstrDomain,
  BSTR bstrPassword
);

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 sera utilisé pour effectuer 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 ne sera trouvé dans ce scénario. Pour plus d’informations, consultez ADS_NAME_INITTYPE_ENUM.

bstrUserID

Nom d’utilisateur.

bstrDomain

Nom de domaine de l’utilisateur.

bstrPassword

Mot de passe utilisateur.

Valeur retournée

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

Remarques

Une fois l’initialisation réussie, utilisez l’objet name translate pour envoyer des demandes de traductions de noms d’objets d’annuaire. Pour plus d’informations, consultez IADsNameTranslate ::Set, IADsNameTranslate ::Get, IADsNameTranslate ::SetEx ou IADsNameTranslate ::GetEx.

Exemples

L’exemple de code C/C++ suivant utilise la méthode IADsNameTranslate ::InitEx 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->InitEx(ADS_NAME_INITTYPE_SERVER,
                  CComBSTR("myServer"),
                  CComBSTR("jeffsmith"),
                  CComBSTR("Fabrikam"),
                  CComBSTR("top secret"));
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 ::InitEx 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"
server = "myServer"
domain = "Fabrikam"
user = "jeffsmith"
passwd = "myPass"
 
nto.InitEx  ADS_NAME_INITTYPE_SERVER, server,user,domain,passwd
nto.Set ADS_NAME_TYPE_1779, dso
trans = nto.Get(ADS_NAME_TYPE_NT4) 
MsgBox "Name in the translated format: " & trans

L’exemple de code VBScript/ASP suivant utilise la méthode IADsNameTranslate ::InitEx pour initialiser un objet IADsNameTranslate afin que le nom unique d’un objet utilisateur soit affiché 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
 
  server = "myServer"
  domain = "Fabrikam"
  user = "jeffsmith"
  passwd = "myPass"
 
  dn = "CN=jeffsmith,CN=Users,DC=Fabrikam,DC=COM" 
 
  Set nto = Server.CreateObject("NameTranslate")
  nto.InitEx ADS_NAME_INITTYPE_SERVER, server,user,domain,passwd
  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

Condition requise Valeur
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 ::GetEx

IADsNameTranslate ::Set

IADsNameTranslate ::SetEx