Metodi di proprietà IADs
I metodi di proprietà dell'interfaccia IAD ottengono o impostano le proprietà descritte nella tabella seguente. Per altre informazioni sui metodi delle proprietà, vedere Metodi di proprietà interface.
Proprietà
-
ADsPath
-
-
Tipo di accesso: sola lettura
-
Tipo di dati di scripting: BSTR
-
// C++ method syntax HRESULT get_ADsPath( [out] BSTR* pbstrADsPath );
Stringa ADsPath di questo oggetto. La stringa identifica in modo univoco questo oggetto in un ambiente di rete. L'oggetto può sempre essere recuperato usando questo percorso.
-
-
Classe
-
-
Tipo di accesso: sola lettura
-
Tipo di dati di scripting: BSTR
-
// C++ method syntax HRESULT get_Class( [out] BSTR* pbstrClass );
Nome della classe Schema dell'oggetto.
-
-
GUID
-
-
Tipo di accesso: sola lettura
-
Tipo di dati di scripting: BSTR
-
// C++ method syntax HRESULT get_GUID( [out] BSTR* pbstrGUID );
Identificatore univoco globale dell'oggetto directory. L'interfaccia IAD converte il GUID da una stringa ottetto, come archiviato in un server directory, in un formato stringa.
-
-
Nome
-
-
Tipo di accesso: sola lettura
-
Tipo di dati di scripting: BSTR
-
// C++ method syntax HRESULT get_Name( [out] BSTR* pbstrName );
Nome relativo dell'oggetto come denominato all'interno del servizio directory sottostante. Questo nome distingue questo oggetto dai suoi fratelli.
-
-
Parent
-
-
Tipo di accesso: sola lettura
-
Tipo di dati di scripting: BSTR
-
// C++ method syntax HRESULT get_Parent( [out] BSTR* pbstrParent );
Stringa ADsPath del contenitore padre. Active Directory non consente la formazione dell'ADsPath di un determinato oggetto concatenando le proprietà Parent e Name . Anche se questa operazione potrebbe funzionare in alcuni provider, non è garantito il funzionamento per tutte le implementazioni. ADsPath è garantito che sia valido e deve essere sempre usato per recuperare il puntatore dell'interfaccia di un oggetto.
-
-
Schema
-
-
Tipo di accesso: sola lettura
-
Tipo di dati di scripting: BSTR
-
// C++ method syntax HRESULT get_Schema( [out] BSTR* pbstrSchema );
Stringa ADsPath dell'oggetto classe Schema di questo oggetto.
-
Commenti
In Active Directory il GUID restituito dal GUID è una stringa di esadecimali. Usare il GUID risultante per associare direttamente all'oggetto.
Dim x As IADs
Set x = GetObject("LDAP://servername/<GUID=xxx>")
dove xxx è il valore restituito dalla proprietà GUID. Per altre informazioni, vedere Uso di objectGUID per associare a un oggetto. Tenere presente che se si usa un GUID per associare a un oggetto, il metodo di proprietà ADsPath restituisce valori diversi dai valori normali restituiti se è stato usato un nome distinto (DN) per associare allo stesso oggetto. Ad esempio, la tabella seguente elenca i valori restituiti quando si usano i due metodi di associazione diversi per associare allo stesso oggetto utente.
Eseguire l'associazione con DN | Eseguire l'associazione con GUID | |
---|---|---|
Nome | 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=c0f59dfcf507d311a9e0000f879f7c7> |
Nota
Il provider WinNT non supporta l'associazione usando il GUID dell'oggetto e restituisce la proprietà GUID in un formato stringa leggermente diverso.
Esempio
Nell'esempio di codice seguente viene illustrato come recuperare i dati degli oggetti usando i metodi di proprietà dell'interfaccia IAD .
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
Nell'esempio di codice seguente viene illustrato come recuperare i dati degli oggetti usando i metodi di proprietà dell'interfaccia IAD .
<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>
Nell'esempio di codice seguente viene illustrato come usare i metodi delle proprietà dell'interfaccia IAD .
#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;
}
}
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato |
Windows Vista |
Server minimo supportato |
Windows Server 2008 |
Intestazione |
|
DLL |
|
IID |
IID_IADs è definito come FD8256D0-FD15-11CE-ABC4-02608C9E7553 |