Métodos de propiedad de IADs

Los métodos de propiedad de la interfaz DED obtienen o establecen las propiedades descritas en la tabla siguiente. Para obtener más información sobre los métodos de propiedad, vea Métodos de propiedad de interfaz.

Propiedades

Adspath

Cadena ADsPath de este objeto. La cadena identifica de forma única este objeto en un entorno de red. El objeto siempre se puede recuperar mediante esta ruta de acceso.

Tipo de acceso: solo lectura

Tipo de datos de scripting: BSTR

// C++ method syntax
HRESULT get_ADsPath(
  [out] BSTR* pbstrADsPath
);

Clase

Nombre de la clase Schema del objeto.

Tipo de acceso: solo lectura

Tipo de datos de scripting: BSTR

// C++ method syntax
HRESULT get_Class(
  [out] BSTR* pbstrClass
);

GUID

Identificador único global del objeto de directorio. La interfaz iaDs convierte el GUID de una cadena de octeto, como se almacena en un servidor de directorios, en un formato de cadena.

Tipo de acceso: solo lectura

Tipo de datos de scripting: BSTR

// C++ method syntax
HRESULT get_GUID(
  [out] BSTR* pbstrGUID
);

Nombre

Nombre relativo del objeto tal y como se denomina en el servicio de directorio subyacente. Este nombre distingue este objeto de sus elementos del mismo nivel.

Tipo de acceso: solo lectura

Tipo de datos de scripting: BSTR

// C++ method syntax
HRESULT get_Name(
  [out] BSTR* pbstrName
);

Parent

Cadena ADsPath del contenedor primario. Active Directory no permite la formación de ADsPath de un objeto determinado mediante la concatenación de las propiedades Parent y Name . Aunque esta operación puede funcionar en algunos proveedores, no se garantiza que funcione para todas las implementaciones. Se garantiza que ADsPath es válido y siempre debe usarse para recuperar el puntero de interfaz de un objeto.

Tipo de acceso: solo lectura

Tipo de datos de scripting: BSTR

// C++ method syntax
HRESULT get_Parent(
  [out] BSTR* pbstrParent
);

Esquema

Cadena ADsPath del objeto de clase Schema de este objeto.

Tipo de acceso: solo lectura

Tipo de datos de scripting: BSTR

// C++ method syntax
HRESULT get_Schema(
  [out] BSTR* pbstrSchema
);

Comentarios

En Active Directory, el GUID devuelto desde GUID es una cadena de hexadecimals. Use el GUID resultante para enlazar directamente al objeto.

Dim x As IADs
Set x = GetObject("LDAP://servername/<GUID=xxx>")

donde xxx es el valor devuelto de la propiedad GUID. Para obtener más información, vea Usar objectGUID para enlazar a un objeto. Tenga en cuenta que si usa un GUID para enlazar a un objeto, el método de propiedad ADsPath devuelve valores diferentes de los valores normales que se devolverían si usa un nombre distintivo (DN) para enlazar con el mismo objeto. Por ejemplo, en la tabla siguiente se enumeran los valores devueltos al usar los dos métodos de enlace diferentes para enlazar al mismo objeto de usuario.

Enlace mediante DN Enlace mediante GUID
Nombre CN=Jeff Smith CN=Jeff Smith
Parent LDAP://server/CN=Users,DC=Fabrikam,DC=com LDAP://server/CN=Users,DC=Fabrikam,DC=com
Adspath LDAP://server/CN=Jeff Smith,CN=Users,DC=Fabrikam,DC=com <LDAP://server/ GUID=c0f59dfcf507d311a99e0000f879f7c7>

Nota

El proveedor WinNT no admite el enlace mediante el GUID del objeto y devuelve la propiedad GUID en un formato de cadena ligeramente diferente.

Ejemplos

En el ejemplo de código siguiente se muestra cómo recuperar datos de objeto mediante métodos de propiedad de la interfaz DED .

Dim x As IADs
Dim parent As IADsContainer
Dim cls As IADsClass
Dim op As Variant

On Error GoTo Cleanup

Set x = GetObject("WinNT://Fabrikam/Administrator")
Debug.Print "Object Name: " & x.Name
Debug.Print "Object Path: " & x.ADsPath
Debug.Print "Object Class: " & x.Class
 
' Get more data about the object schema.
Set cls = GetObject(x.Schema)
Debug.Print "Class Name is: " & cls.Name
For Each op In cls.OptionalProperties
    Debug.Print "Optional Property: " & op
Next op

Cleanup:
    If (Err.Number<>0) Then
        MsgBox("An error has occurred. " & Err.Number)
    End If
    Set x = Nothing
    Set parent = Nothing
    Set cls = Nothing

En el ejemplo de código siguiente se muestra cómo recuperar datos de objeto mediante métodos de propiedad de la interfaz DED .

<HTML>
<head><title></title></head>

<body>
<%
Dim x 
On Error Resume Next
 
Set x = GetObject("WinNT://Fabrikam/Administrator")
Response.Write "Object Name: " & x.Name & "<br>"
Response.Write "Object Path: " & x.ADsPath & "<br>"
Response.Write "Object Class: " & x.Class & "<br>"
 
' Get more data about the object schema.
Set cls = GetObject(x.Schema)
Response.Write "Class Name is: " & cls.Name & "<br>"
For Each op In cls.OptionalProperties
    Response.Write "Optional Property: " & op & "<br>"
Next op
%>

</body>
</html>

En el ejemplo de código siguiente se muestra cómo trabajar con los métodos de propiedad de la interfaz DED .

#include <stdio.h>
#include <activeds.h>
 
int main(int argc, char* argv[])
{
    IADs *pADs = NULL;
    IADsUser *pADsUser = NULL;
    IADsClass *pCls = NULL;
    CComBSTR sbstr;
 
    HRESULT hr = CoInitialize(NULL);
    if (hr != S_OK) { return 0; }
 
    hr=ADsGetObject(L"WinNT://Fabrikam/Administrator",
                IID_IADsUser,
                (void**) &pADsUser);
    if (hr != S_OK) { goto Cleanup; }
 
    hr = pADsUser->QueryInterface(IID_IADs, (void**) &pADs);
    if( hr !=S_OK) { goto Cleanup;}
 
    pADsUser->Release();
 
    if( S_OK == pADs->get_Name(&sbstr) ) {
        printf("Object Name: %S\n",sbstr);
    }
 
    if( S_OK == pADs->get_ADsPath(&sbstr) ) {
        printf("Object path: %S\n",sbstr);
    }
 
    if( S_OK == pADs->get_Class(&sbstr) ) {
        printf("Object class: %S\n",sbstr);
    }
 
    hr = pADs->get_Schema(&sbstr);
    if ( hr != S_OK) {goto Cleanup;}
 
    hr = ADsGetObject(sbstr,IID_IADsClass, (void**)&pCls);
    if ( hr != S_OK) {goto Cleanup;}
    if( S_OK == pCls->get_Name(&sbstr) ) {
        printf("Class name is %S\n", sbstr);
    }
 
 Cleanup:
    if(pADs)
        pADs->Release();

    if(pIADsUser)
        pADsUser->Release();

    if(IADsClass)
        pADsClass->Release();

    CoUninitialize();

    if(hr==S_OK)
    {
        return 1;
    }
    else
    {
        return 0;
    }
}

Requisitos

Requisito Value
Cliente mínimo compatible
Windows Vista
Servidor mínimo compatible
Windows Server 2008
Encabezado
Iads.h
Archivo DLL
Activeds.dll
IID
IID_IADs se define como FD8256D0-FD15-11CE-ABC4-02608C9E7553

Consulte también

Iads

IADsContainer