Méthodes de propriété IADs

Les méthodes de propriété de l’interface IADs obtiennent ou définissent les propriétés décrites dans le tableau suivant. Pour plus d’informations sur les méthodes de propriété, consultez Méthodes de propriété d’interface.

Propriétés

ADsPath

Chaîne ADsPath de cet objet. La chaîne identifie cet objet de manière unique dans un environnement réseau. L’objet peut toujours être récupéré à l’aide de ce chemin.

Type d'accès : Lecture seule

Type de données de script : BSTR

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

Classe

Nom de la classe schema de l’objet.

Type d'accès : Lecture seule

Type de données de script : BSTR

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

GUID

Identificateur global unique de l’objet directory. L’interface IADs convertit le GUID d’une chaîne d’octets, telle qu’elle est stockée sur un serveur d’annuaire, dans un format de chaîne.

Type d'accès : Lecture seule

Type de données de script : BSTR

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

Nom

Nom relatif de l’objet nommé dans le service d’annuaire sous-jacent. Ce nom distingue cet objet de ses frères.

Type d'accès : Lecture seule

Type de données de script : BSTR

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

Parent

Chaîne ADsPath du conteneur parent. Active Directory n’autorise pas la formation de l’ADsPath d’un objet donné en concaténant les propriétés Parent et Name . Bien que cette opération puisse fonctionner dans certains fournisseurs, il n’est pas garanti de fonctionner pour toutes les implémentations. La validité de l’ADsPath est garantie et doit toujours être utilisée pour récupérer le pointeur d’interface d’un objet.

Type d'accès : Lecture seule

Type de données de script : BSTR

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

Schéma

Chaîne ADsPath de l’objet de classe Schema de cet objet.

Type d'accès : Lecture seule

Type de données de script : BSTR

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

Notes

Dans Active Directory, le GUID retourné à partir du GUID est une chaîne d’hexadécimaux. Utilisez le GUID résultant pour établir une liaison directe à l’objet.

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

où xxx est la valeur retournée par la propriété GUID. Pour plus d’informations, consultez Utilisation d’objectGUID pour lier un objet à un objet. N’oubliez pas que si vous utilisez un GUID pour établir une liaison à un objet, la méthode de propriété ADsPath retourne des valeurs différentes des valeurs normales qui seraient retournées si vous utilisiez un nom unique (DN) pour lier au même objet. Par exemple, le tableau suivant répertorie les valeurs retournées lors de l’utilisation des deux méthodes de liaison différentes pour lier au même objet utilisateur.

Lier à l’aide de DN Lier à l’aide d’un GUID
Nom 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>

Notes

Le fournisseur WinNT ne prend pas en charge la liaison à l’aide du GUID d’objet et retourne la propriété GUID dans un format de chaîne légèrement différent.

Exemples

L’exemple de code suivant montre comment récupérer des données d’objet à l’aide des méthodes de propriété de l’interface IADs .

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

L’exemple de code suivant montre comment récupérer des données d’objet à l’aide des méthodes de propriété de l’interface IADs .

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

L’exemple de code suivant montre comment utiliser les méthodes de propriété de l’interface IADs .

#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;
    }
}

Spécifications

Condition requise Valeur
Client minimal pris en charge
Windows Vista
Serveur minimal pris en charge
Windows Server 2008
En-tête
Iads.h
DLL
Activeds.dll
IID
IID_IADs est défini comme FD8256D0-FD15-11CE-ABC4-02608C9E7553

Voir aussi

IADs

IADsContainer