Freigeben über


IADsNameTranslate::Init-Methode (iads.h)

Die IADsNameTranslate::Init-Methode initialisiert ein Namensübersetzungsobjekt, indem sie mit den Anmeldeinformationen des aktuellen Benutzers an einen angegebenen Verzeichnisserver, eine angegebene Domäne oder einen globalen Katalog gebunden wird. Um das Objekt mit anderen Benutzeranmeldeinformationen zu initialisieren, verwenden Sie IADsNameTranslate::InitEx.

Syntax

HRESULT Init(
  long lnSetType,
  BSTR bstrADsPath
);

Parameter

lnSetType

Ein Typ der auszuführenden Initialisierung. Mögliche Werte werden in ADS_NAME_INITTYPE_ENUM definiert.

bstrADsPath

Der Name des Servers oder der Domäne, abhängig vom Wert von lnInitType. Wenn ADS_NAME_INITTYPE_GC ausgegeben wird, wird dieser Parameter ignoriert. Der globale Katalogserver der Domäne des aktuellen Computers führt die Namensübersetzungsvorgänge aus. Diese Methode schlägt fehl, wenn der Computer nicht Teil einer Domäne ist, da in diesem Szenario kein globaler Katalog gefunden wird. Weitere Informationen finden Sie unter ADS_NAME_INITTYPE_ENUM.

Rückgabewert

Gibt einen Standardmäßigen HRESULT- oder RPC-Fehlercode zurück, einschließlich:

Hinweise

Nach der erfolgreichen Initialisierung können Sie mit dem Namensübersetzungsobjekt fortfahren, um Anforderungen für Namensübersetzungen von Objekten im Verzeichnis zu übermitteln. Weitere Informationen finden Sie unter IADsNameTranslate::Set oder IADsNameTranslate::Get.

Beispiele

Im folgenden C/C++-Codebeispiel wird die IADsNameTranslate::Init-Methode verwendet, um ein IADsNameTranslate-Objekt zu initialisieren, bevor der distinguished Name eines Benutzerobjekts im s-Format gerendert wird.

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();

Im folgenden Visual Basic-Codebeispiel wird die IADsNameTranslate::Init-Methode verwendet, um ein IADsNameTranslate-Objekt zu initialisieren, damit der distinguished Name eines Benutzerobjekts im Benutzernamenformat s gerendert wird.

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)  

Im folgenden VBScript/ASP-Codebeispiel wird die IADsNameTranslate::Init-Methode verwendet, um ein IADsNameTranslate-Objekt zu initialisieren, damit der distinguished Name eines Benutzerobjekts im Benutzernamenformat s gerendert wird.

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

Anforderungen

   
Unterstützte Mindestversion (Client) Windows Vista
Unterstützte Mindestversion (Server) Windows Server 2008
Zielplattform Windows
Kopfzeile iads.h
DLL Activeds.dll

Weitere Informationen

ADS_NAME_TYPE_ENUM

IADsNameTranslate

IADsNameTranslate::Get

IADsNameTranslate::InitEx

IADsNameTranslate::Set