Compartir a través de


Método IADsNameTranslate::InitEx (iads.h)

El método IADsNameTranslate::InitEx inicializa un objeto de traducción de nombre mediante el enlace a un servidor de directorios, un dominio o un catálogo global especificados mediante la credencial de usuario especificada. Para inicializar el objeto sin una credencial de usuario explícita, use IADsNameTranslate::Init.

El método IADsNameTranslate::InitEx inicializa el objeto estableciendo el servidor o dominio al que el objeto apuntará y proporcionará una credencial de usuario.

Sintaxis

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

Parámetros

lnSetType

Tipo de inicialización que se va a realizar. Los valores posibles se definen en ADS_NAME_INITTYPE_ENUM.

bstrADsPath

Nombre del servidor o dominio, según el valor de lnInitType. Cuando se emite ADS_NAME_INITTYPE_GC , se omite este parámetro. El servidor de catálogo global del dominio de la máquina actual se usará para llevar a cabo las operaciones de traducción de nombres. Este método producirá un error si el equipo no forma parte de un dominio, ya que no se encontrará ningún catálogo global en este escenario. Para obtener más información, consulte ADS_NAME_INITTYPE_ENUM.

bstrUserID

Nombre de usuario.

bstrDomain

Nombre de dominio de usuario.

bstrPassword

Contraseña de usuario.

Valor devuelto

Devuelve un código de error HRESULT o RPC estándar, entre los que se incluyen:

Comentarios

Después de la inicialización correcta, use el objeto name translate para enviar solicitudes de traducciones de nombres de objetos de directorio. Para obtener más información, vea IADsNameTranslate::Set, IADsNameTranslate::Get, IADsNameTranslate::SetEx o IADsNameTranslate::GetEx.

Ejemplos

En el siguiente ejemplo de código de C/C++ se usa el método IADsNameTranslate::InitEx para inicializar un objeto IADsNameTranslate antes de que el nombre distintivo de un objeto de usuario se represente en el formato 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();

En el siguiente ejemplo de código de Visual Basic se usa el método IADsNameTranslate::InitEx para inicializar un objeto IADsNameTranslate con el fin de que el nombre distintivo de un objeto de usuario se represente en el formato de nombre de usuario.

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

En el siguiente ejemplo de código VBScript/ASP se usa el método IADsNameTranslate::InitEx para inicializar un objeto IADsNameTranslate con el fin de que el nombre distintivo de un objeto de usuario se represente en el formato de nombre de usuario.

<%@ 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>

Requisitos

Requisito Value
Cliente mínimo compatible Windows Vista
Servidor mínimo compatible Windows Server 2008
Plataforma de destino Windows
Encabezado iads.h
Archivo DLL Activeds.dll

Consulte también

ADS_NAME_TYPE_ENUM

IADsNameTranslate

IADsNameTranslate::Get

IADsNameTranslate::GetEx

IADsNameTranslate::Set

IADsNameTranslate::SetEx