Metodo IADsNameTranslate::InitEx (iads.h)
Il metodo IADsNameTranslate::InitEx inizializza un oggetto converte un nome associandolo a un server di directory, un dominio o un catalogo globale specificati usando le credenziali utente specificate. Per inizializzare l'oggetto senza credenziali utente esplicite, usare IADsNameTranslate::Init.
Il metodo IADsNameTranslate::InitEx inizializza l'oggetto impostando il server o il dominio a cui punta l'oggetto e fornendo credenziali utente.
Sintassi
HRESULT InitEx(
long lnSetType,
BSTR bstrADsPath,
BSTR bstrUserID,
BSTR bstrDomain,
BSTR bstrPassword
);
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 verrà usato per eseguire le operazioni di conversione del nome. Questo metodo avrà esito negativo se il computer non fa parte di un dominio, perché in questo scenario non verrà trovato alcun catalogo globale. Per altre informazioni, vedere ADS_NAME_INITTYPE_ENUM.
bstrUserID
Nome utente.
bstrDomain
Nome di dominio utente.
bstrPassword
Password utente.
Valore restituito
Restituisce un codice di errore HRESULT o RPC standard, incluso:
Commenti
Dopo l'inizializzazione riuscita, usare l'oggetto translate name per inviare richieste di traduzioni dei nomi degli oggetti directory. Per altre informazioni, vedere IADsNameTranslate::Set, IADsNameTranslate::Get, IADsNameTranslate::SetEx o IADsNameTranslate::GetEx.
Esempio
Nell'esempio di codice C/C++ seguente viene usato il metodo IADsNameTranslate::InitEx 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->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'esempio di codice visual Basic seguente usa il metodo IADsNameTranslate::InitEx 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"
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
Nell'esempio di codice VBScript/ASP seguente viene usato il metodo IADsNameTranslate::InitEx 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
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>
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows Vista |
Server minimo supportato | Windows Server 2008 |
Piattaforma di destinazione | Windows |
Intestazione | iads.h |
DLL | Activeds.dll |