IADsNameTranslate ::InitEx, méthode (iads.h)
La méthode IADsNameTranslate ::InitEx initialise un objet de traduction de nom en lisant un serveur d’annuaire, un domaine ou un catalogue global spécifié, à l’aide des informations d’identification de l’utilisateur spécifiées. Pour initialiser l’objet sans informations d’identification utilisateur explicites, utilisez IADsNameTranslate ::Init.
La méthode IADsNameTranslate ::InitEx initialise l’objet en définissant le serveur ou le domaine vers lequel l’objet pointe et en fournissant des informations d’identification utilisateur.
Syntaxe
HRESULT InitEx(
long lnSetType,
BSTR bstrADsPath,
BSTR bstrUserID,
BSTR bstrDomain,
BSTR bstrPassword
);
Paramètres
lnSetType
Type d’initialisation à effectuer. Les valeurs possibles sont définies dans ADS_NAME_INITTYPE_ENUM.
bstrADsPath
Nom du serveur ou du domaine, selon la valeur de lnInitType. Lorsque ADS_NAME_INITTYPE_GC est émis, ce paramètre est ignoré. Le serveur de catalogue global du domaine de l’ordinateur actuel sera utilisé pour effectuer les opérations de traduction de nom. Cette méthode échoue si l’ordinateur ne fait pas partie d’un domaine, car aucun catalogue global ne sera trouvé dans ce scénario. Pour plus d’informations, consultez ADS_NAME_INITTYPE_ENUM.
bstrUserID
Nom d’utilisateur.
bstrDomain
Nom de domaine de l’utilisateur.
bstrPassword
Mot de passe utilisateur.
Valeur retournée
Retourne un code d’erreur HRESULT ou RPC standard, notamment :
Remarques
Une fois l’initialisation réussie, utilisez l’objet name translate pour envoyer des demandes de traductions de noms d’objets d’annuaire. Pour plus d’informations, consultez IADsNameTranslate ::Set, IADsNameTranslate ::Get, IADsNameTranslate ::SetEx ou IADsNameTranslate ::GetEx.
Exemples
L’exemple de code C/C++ suivant utilise la méthode IADsNameTranslate ::InitEx pour initialiser un objet IADsNameTranslate avant que le nom unique d’un objet utilisateur ne soit rendu au format 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’exemple de code Visual Basic suivant utilise la méthode IADsNameTranslate ::InitEx pour initialiser un objet IADsNameTranslate afin que le nom unique d’un objet utilisateur soit affiché au format de nom d’utilisateur.
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
L’exemple de code VBScript/ASP suivant utilise la méthode IADsNameTranslate ::InitEx pour initialiser un objet IADsNameTranslate afin que le nom unique d’un objet utilisateur soit affiché au format de nom d’utilisateur.
<%@ 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>
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows Vista |
Serveur minimal pris en charge | Windows Server 2008 |
Plateforme cible | Windows |
En-tête | iads.h |
DLL | Activeds.dll |