Share via


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

El método IADsNameTranslate::Init 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 las credenciales del usuario actual. Para inicializar el objeto con una credencial de usuario diferente, use IADsNameTranslate::InitEx.

Sintaxis

HRESULT Init(
  long lnSetType,
  BSTR bstrADsPath
);

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 , este parámetro se omite. El servidor de catálogo global del dominio del equipo actual realizará 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.

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, puede seguir usando el objeto de traducción de nombres para enviar solicitudes de traducciones de nombres de objetos en el directorio. Para obtener más información, vea IADsNameTranslate::Set o IADsNameTranslate::Get.

Ejemplos

En el siguiente ejemplo de código de C/C++ se usa el método IADsNameTranslate::Init 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->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();

En el siguiente ejemplo de código de Visual Basic se usa el método IADsNameTranslate::Init 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"
 
nto.Init  ADS_NAME_INITTYPE_SERVER, "myServer"
nto.Set ADS_NAME_TYPE_1779, dso
trans = nto.Get(ADS_NAME_TYPE_NT4)  

En el siguiente ejemplo de código vbScript/ASP se usa el método IADsNameTranslate::Init 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
 
  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>

Requisitos

   
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::InitEx

IADsNameTranslate::Set