Compartir a través de


Método IADsNameTranslate::GetEx (iads.h)

El método IADsNameTranslate::GetEx obtiene los nombres de objeto en el formato especificado. Los nombres de objeto deben establecerse mediante IADsNameTranslate::SetEx.

Sintaxis

HRESULT GetEx(
  long    lnFormatType,
  VARIANT *pvar
);

Parámetros

lnFormatType

Tipo de formato utilizado para los nombres de salida. Para obtener más información sobre los distintos tipos de formatos que puede usar, consulte ADS_NAME_TYPE_ENUM. Este método no admite el elemento ADS_NAME_TYPE_SID_OR_SID_HISTORY_NAME en ADS_NAME_TYPE_ENUM.

pvar

Matriz variante de cadenas que contienen nombres de los objetos devueltos.

Valor devuelto

Este método admite los valores devueltos HRESULT estándar, entre los que se incluyen:

Comentarios

Este método obtiene los nombres de varios objetos. Sin embargo, todos los nombres devueltos usan un único formato.

Cuando la búsqueda de referencias está activada, este método no intentará perseguir y resolver la ruta de acceso de un objeto especificado que no resida en el servidor conectado.

Ejemplos

En el siguiente ejemplo de código de C/C++ se muestra cómo traducir un nombre distintivo compatible con RFC 1779 al formato GUID. El nombre del equipo del servidor de directorios es "myServer".

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;}
 
LPWSTR str[1] = { L"CN=jim,CN=Users,DC=myDomain,DC=Fabrikam,DC=COM",
                  L"CN=rob,CN=Users,DC=myDomain,DC=Fabrikam,DC=COM"};
DWORD dwNum = sizeof(str)/sizeof(LPWSTR);
 
VARIANT varStr;
VariantInit(&varStr);
 
hr = ADsBuildVarArrayStr(str,dwNum,&varStr);
 
hr =pNto->SetEx(ADS_NAME_TYPE_1779, varStr);
if(FAILED(hr)) {exit 1;}
VariantClear(&varStr);
 
hr = pNto->GetEx(ADS_NAME_TYPE_GUID, &varStr);
if(FAILED(hr)) {exit 1;}
 
LONG lstart, lend;
SAFEARRAY *sa = V_ARRAY(&varStr);
VARIANT varItem;
VariantInit(&varItem);
printf("Names in the translated format:\n");
for (long idx = lstart; idx <= lend; idx++) 
{
    hr = SafeArrayGetElement(sa, &idx, &varItem);
    printf("   %S\n", V_BSTR(&varItem));
    VariantClear(&varItem);
}
VariantClear(&varStr);
pNto->Release();

En el ejemplo de código siguiente se muestra cómo convertir varios nombres del tipo RFC 1779 al tipo GUID. El nombre del equipo del servidor de directorios es "myServer".

Dim nto As new NameTranslate
Dim result As Variant
Dim ns(1) As String
 
nto.Init ADS_NAME_INITTTYPE_SERVER, "myServer"
 
ns(0)="CN=rob,CN=users,DC=example,DC=Fabrikam,DC=COM,O=Internet"
ns(1)="CN=jim,CN=users,DC=example,DC=Fabrikam,DC=COM,O=Internet"
 
nto.SetEx ADS_NAME_TYPE_1779, ns
nto.GetEx ADS_NAME_TYPE_GUID, result
MsgBox "name(0): " & result(0) & " name(1): " & result(1)

El siguiente ejemplo de código VBScript/ASP traduce dos nombres distintivos compatibles con RFC 1779 al formato GUID. El nombre del equipo del servidor de directorios es "myServer".

<%@ Language=VBScript %>
<html>
<body>
<%
  Dim nto
  const ADS_NAME_INITTYPE_SERVER = 2
  const ADS_NAME_TYPE_1779 = 1
  const ADS_NAME_TYPE_NT4 = 3
 
  server = "myServer"
  user   = "jeffsmith"
  dom    = "Fabrikam"
  passwd = "top secret" 
 
  Set nto = Server.CreateObject("NameTranslate")
  nto.InitEx ADS_NAME_INITTYPE_SERVER, server, user, dom, passwd
 
  ns(0)="CN=rob,CN=users,DC=example,DC=Fabrikam,DC=COM,O=Internet"
  ns(1)="CN=jim,CN=users,DC=example,DC=Fabrikam,DC=COM,O=Internet"
 
  nto.SetEx ADS_NAME_TYPE_1779, ns
  result = nto.GetEx(ADS_NAME_TYPE_GUID)
 
  Response.Write "<p>Names in the translated format: " & result(0) & _
    ", " & result(1)
 
%>
</body>
</html>

Requisitos

   
Cliente mínimo compatible Windows Vista
Servidor mínimo compatible Windows Server 2008
Plataforma de destino Windows
Encabezado iads.h
Archivo DLL Activeds.dll

Consulte también

ADS_NAME_TYPE_ENUM

IADsNameTranslate

IADsNameTranslate::SetEx