Condividi tramite


Metodo IADsNameTranslate::Init (iads.h)

Il metodo IADsNameTranslate::Init inizializza un oggetto converte un nome associandolo a un server di directory, un dominio o un catalogo globale specificati, usando le credenziali dell'utente corrente. Per inizializzare l'oggetto con credenziali utente diverse, usare IADsNameTranslate::InitEx.

Sintassi

HRESULT Init(
  long lnSetType,
  BSTR bstrADsPath
);

Parametri

lnSetType

Tipo di inizializzazione da eseguire. I valori possibili sono definiti in ADS_NAME_INITTYPE_ENUM.

bstrADsPath

Nome del server o del dominio, a seconda del valore di lnInitType. Quando viene emesso ADS_NAME_INITTYPE_GC, questo parametro viene ignorato. Il server di catalogo globale del dominio del computer corrente eseguirà le operazioni di conversione del nome. Questo metodo avrà esito negativo se il computer non fa parte di un dominio come nessun catalogo globale verrà trovato in questo scenario. Per altre informazioni, vedere ADS_NAME_INITTYPE_ENUM.

Valore restituito

Restituisce un codice di errore HRESULT o RPC standard, incluso:

Commenti

Dopo aver completato l'inizializzazione, è possibile procedere all'uso dell'oggetto translate nome per inviare richieste di traduzioni dei nomi degli oggetti nella directory. Per altre informazioni, vedere IADsNameTranslate::Set o IADsNameTranslate::Get.

Esempio

Nell'esempio di codice C/C++ seguente viene usato il metodo IADsNameTranslate::Init per inizializzare un oggetto IADsNameTranslate prima del rendering del nome distinto di un oggetto utente nel 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();

Nell'esempio di codice visual Basic seguente viene usato il metodo IADsNameTranslate::Init per inizializzare un oggetto IADsNameTranslate per avere il nome distinto di un oggetto utente sottoposto a rendering nel formato nome utente.

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'esempio di codice VBScript/ASP seguente usa il metodo IADsNameTranslate::Init per inizializzare un oggetto IADsNameTranslate per avere il nome distinto di un oggetto utente sottoposto a rendering nel formato nome utente.

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

Requisiti

   
Client minimo supportato Windows Vista
Server minimo supportato Windows Server 2008
Piattaforma di destinazione Windows
Intestazione iads.h
DLL Activeds.dll

Vedi anche

ADS_NAME_TYPE_ENUM

IADsNameTranslate

IADsNameTranslate::Get

IADsNameTranslate::InitEx

IADsNameTranslate::Set