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 |