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
-
-
Type d'accès : Lecture seule
-
Type de données de script : BSTR
-
// C++ method syntax HRESULT get_ADsPath( [out] BSTR* pbstrADsPath );
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.
-
-
Classe
-
-
Type d'accès : Lecture seule
-
Type de données de script : BSTR
-
// C++ method syntax HRESULT get_Class( [out] BSTR* pbstrClass );
Nom de la classe schema de l’objet.
-
-
GUID
-
-
Type d'accès : Lecture seule
-
Type de données de script : BSTR
-
// C++ method syntax HRESULT get_GUID( [out] BSTR* pbstrGUID );
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.
-
-
Nom
-
-
Type d'accès : Lecture seule
-
Type de données de script : BSTR
-
// C++ method syntax HRESULT get_Name( [out] BSTR* pbstrName );
Nom relatif de l’objet nommé dans le service d’annuaire sous-jacent. Ce nom distingue cet objet de ses frères.
-
-
Parent
-
-
Type d'accès : Lecture seule
-
Type de données de script : BSTR
-
// C++ method syntax HRESULT get_Parent( [out] BSTR* pbstrParent );
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.
-
-
Schéma
-
-
Type d'accès : Lecture seule
-
Type de données de script : BSTR
-
// C++ method syntax HRESULT get_Schema( [out] BSTR* pbstrSchema );
Chaîne ADsPath de l’objet de classe Schema de cet objet.
-
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 |
|
DLL |
|
IID |
IID_IADs est défini comme FD8256D0-FD15-11CE-ABC4-02608C9E7553 |