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
-
-
Tipo de acceso: solo lectura
-
Tipo de datos de scripting: BSTR
-
// C++ method syntax HRESULT get_ADsPath( [out] BSTR* pbstrADsPath );
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.
-
-
Clase
-
-
Tipo de acceso: solo lectura
-
Tipo de datos de scripting: BSTR
-
// C++ method syntax HRESULT get_Class( [out] BSTR* pbstrClass );
Nombre de la clase Schema del objeto.
-
-
GUID
-
-
Tipo de acceso: solo lectura
-
Tipo de datos de scripting: BSTR
-
// C++ method syntax HRESULT get_GUID( [out] BSTR* pbstrGUID );
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.
-
-
Nombre
-
-
Tipo de acceso: solo lectura
-
Tipo de datos de scripting: BSTR
-
// C++ method syntax HRESULT get_Name( [out] BSTR* pbstrName );
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.
-
-
Parent
-
-
Tipo de acceso: solo lectura
-
Tipo de datos de scripting: BSTR
-
// C++ method syntax HRESULT get_Parent( [out] BSTR* pbstrParent );
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.
-
-
Esquema
-
-
Tipo de acceso: solo lectura
-
Tipo de datos de scripting: BSTR
-
// C++ method syntax HRESULT get_Schema( [out] BSTR* pbstrSchema );
Cadena ADsPath del objeto de clase Schema de este objeto.
-
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 |
|
Archivo DLL |
|
IID |
IID_IADs se define como FD8256D0-FD15-11CE-ABC4-02608C9E7553 |