ADS_NAME_INITTYPE_ENUM enumeração (iads.h)

A enumeração ADS_NAME_INITTYPE_ENUM especifica os tipos de inicialização a serem executados em um objeto NameTranslate . Ele é usado na interface IADsNameTranslate .

Syntax

typedef enum __MIDL___MIDL_itf_ads_0001_0050_0002 {
  ADS_NAME_INITTYPE_DOMAIN = 1,
  ADS_NAME_INITTYPE_SERVER = 2,
  ADS_NAME_INITTYPE_GC = 3
} ADS_NAME_INITTYPE_ENUM;

Constantes

 
ADS_NAME_INITTYPE_DOMAIN
Valor: 1
Inicializa um objeto NameTranslate definindo o domínio ao qual o objeto se associa.
ADS_NAME_INITTYPE_SERVER
Valor: 2
Inicializa um objeto NameTranslate definindo o servidor ao qual o objeto se associa.
ADS_NAME_INITTYPE_GC
Valor: 3
Inicializa um objeto NameTranslate localizando o catálogo global ao qual o objeto se associa.

Comentários

O método IADsNameTranslate::Init ou o método IADsNameTranslate::InitEx usa essas opções para inicializar o objeto NameTranslate . Quando ADS_NAME_INITTYPE_SERVER for usado, especifique o nome do computador de um servidor de diretório. Quando ADS_NAME_INITTYPE_DOMAIN estiver definido, forneça o nome de domínio em uma floresta de diretório. Quando ADS_NAME_INITTYPE_GC é emitido, o segundo parâmetro em IADsNameTranslate::Init ou IADsNameTranslate::InitEx é ignorado. O servidor de Catálogo Global do domínio do computador atual é usado para executar as operações de conversão de nome. A inicialização falhará se o computador host não fizer parte de um domínio porque nenhum catálogo global será encontrado.

Nota Como o VBScript não pode ler dados de uma biblioteca de tipos, os aplicativos VBScript não reconhecem as constantes simbólicas, conforme definido acima. Em vez disso, use as constantes numéricas para definir os sinalizadores apropriados em seus aplicativos VBScript. Para usar constantes simbólicas como uma boa prática de programação, escreva declarações explícitas dessas constantes, conforme feito aqui, em seus aplicativos VBScript.
 

Exemplos

O exemplo de código C/C++ a seguir usa o método IADsNameTranslate::Init para inicializar um objeto NameTranslate por meio do catálogo global, supondo que o cliente que executa o aplicativo esteja dentro da floresta de diretórios. Em seguida, ele renderiza o nome diferenciado de um objeto de usuário no formato windows.

IADsNameTranslate *pNto = NULL;
HRESULT hr = S_OK;
CComBSTR sbstr;

hr = CoCreateInstance(CLSID_NameTranslate,
                      NULL,
                      CLSCTX_INPROC_SERVER,
                      IID_IADsNameTranslate,
                      (void**)&pNto);
if(FAILED(hr)) { exit 1;}
 
hr = pNto->Init(ADS_NAME_INITTYPE_GC, CComBSTR(""));
if (FAILED(hr))
{ 
   goto cleanup;
}
 
hr =pNto->Set(ADS_NAME_TYPE_1779,
             CComBSTR(L"cn=jeffsmith,cn=users,dc=Fabrikam,dc=com"));
if(FAILED(hr))
{
   goto cleanup;
}
 
hr = pNto->Get(ADS_NAME_TYPE_NT4, &sbstr);
printf("Name in the translated format: %S\n", sbstr);

cleanup: 
if(pNto)
{
    pNto->Release();
}

O exemplo de código do Visual Basic a seguir usa o método IADsNameTranslate::Init para inicializar um objeto NameTranslate por meio do catálogo global, supondo que o cliente que executa o aplicativo esteja dentro da floresta de diretórios. Em seguida, ele renderiza o nome diferenciado de um objeto de usuário no formato windows.

Dim nto as New NameTranslate
dso="CN=jeffsmith, CN=users, DC=Fabrikam dc=COM"
 
nto.Init  ADS_NAME_INITTYPE_GC, ""
nto.Set ADS_NAME_TYPE_1779, dso
trans = nto.Get(ADS_NAME_TYPE_NT4)   
MsgBox "Translated name = " & trans

O exemplo de código VBScript/ASP a seguir usa o método IADsNameTranslate::Init para inicializar um objeto NameTranslate por meio do catálogo global, supondo que o cliente que executa o aplicativo esteja dentro da floresta de diretórios. Em seguida, ele renderiza o nome diferenciado de um objeto de usuário no formato windows.

<%@ Language=VBScript %>
<html>
<body>
<%
  Dim nto
  const ADS_NAME_INITTYPE_GC = 3  ' VBScript cannot read. 
  const ADS_NAME_TYPE_1779 = 1    ' Enumeration definition.
  const ADS_NAME_TYPE_NT4 = 3
 
  dn = "CN=jeff smith,CN=Users,DC=Fabrikam,DC=COM" 
 
  Set nto = Server.CreateObject("NameTranslate")
  nto.Init ADS_NAME_INITTYPE_GC, ""
  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 com suporte Windows Vista
Servidor mínimo com suporte Windows Server 2008
Cabeçalho iads.h

Confira também

Enumerações ADSI

IADsNameTranslate