Compartir a través de


Métodos de propiedad IADsPropertyEntry

Los métodos de propiedad de la interfaz IADsPropertyEntry proporcionan acceso a las siguientes propiedades. Para obtener más información sobre los métodos de propiedad, vea Métodos de propiedad de interfaz.

Propiedades

ADsType

Tipo de datos de la propiedad Name . Los valores del tipo de datos se definen en la enumeración ADSTYPEENUM .

Tipo de acceso: lectura/escritura

Tipo de datos de scripting: LONG

// C++ method syntax
HRESULT get_ADsType(
  [out] LONG* plADsType
);
HRESULT put_ADsType(
  [in] LONG lADsType
);

ControlCode

Constante que especifica la operación que se va a realizar en la propiedad con nombre. El valor se define en la enumeración ADS_PROPERTY_OPERATION_ENUM .

Tipo de acceso: lectura/escritura

Tipo de datos de scripting: LONG

// C++ method syntax
HRESULT get_ControlCode(
  [out] LONG* pControlCode
);
HRESULT put_ControlCode(
  [in] LONG lnControlCode
);

Nombre

Nombre de la entrada de propiedad. Este nombre debe corresponder al nombre de un atributo tal y como se define en el esquema.

Tipo de acceso: lectura/escritura

Tipo de datos de scripting: BSTR

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

Valores

Matriz VARIANT . Cada elemento de esta matriz representa un valor de la propiedad con nombre. Estos valores de propiedad se representan mediante objetos ADSI que implementan las interfaces IADsPropertyValue e IADsPropertyValue2 . Por lo tanto, la matriz VARIANT contiene una matriz de punteros a la interfaz IDispatch en los objetos ADSI que implementan las interfaces IADsPropertyValue e IADsPropertyValue2 .

Tipo de acceso: lectura/escritura

Tipo de datos de scripting: VARIANT

// C++ method syntax
HRESULT get_Values(
  [out] VARIANT* pvValues
);
HRESULT put_Values(
  [in] VARIANT vValues
);

Comentarios

Cada método de propiedad admite los valores devueltos HRESULT estándar, incluidos S_OK. Para obtener más información sobre otros valores devueltos, vea Códigos de error adsi.

Ejemplos

En el ejemplo de código siguiente se muestra cómo recuperar una propiedad con nombre de la memoria caché y crear una nueva entrada de propiedad.

 
Dim propList As IADsPropertyList
Dim propEntry As IADsPropertyEntry
Dim propVal As IADsPropertyValue

On Error GoTo Cleanup

'------------------------------------------------------------
'----- Getting IADsPropertyEntry ----------------------------
'------------------------------------------------------------
 
' Create the property list object.
Set propList = GetObject("LDAP://dc01/DC=Fabrikam,DC=com")
propList.GetInfo
 
' Get a named property entry object.
Set propEntry = propList.GetPropertyItem("dc", ADSTYPE_CASE_IGNORE_STRING)

' Insert code to do something with propEntry
Set propEntry = Nothing
 
'------------------------------------------------------------
'---- Setting IADsPropertyEntry -----------------------------
'------------------------------------------------------------
 
' Create a property value object.
Set propVal = New PropertyValue
 
'---- Property Value -----
propVal.CaseIgnoreString = "Fabrikam, Inc - Seattle, WA"
propVal.ADsType = ADSTYPE_CASE_IGNORE_STRING
 
'---- Create a new Property Entry ----
Set propEntry = New PropertyEntry
propEntry.Name = "adminDescription"
propEntry.Values = Array(propVal)
propEntry.ControlCode = ADS_PROPERTY_UPDATE
propEntry.ADsType = ADS_CASE_IGNORE_STRING
 
' ---- Put the newly created property entry to the cache ----
propList.PutPropertyItem (propEntry)
 
' Commit the entry to the directory store.
propList.SetInfo

Cleanup:
    If (Err.Number<>0) Then
        MsgBox("An error has occurred. " & Err.Number)
    End If
    Set propList = Nothing
    Set propEntry = Nothing
    Set propVal = Nothing

En el ejemplo de código siguiente se muestra cómo obtener una propiedad con nombre de una memoria caché.

#include <activeds.h>
#include <stdio.h>
 
IADsPropertyList *pList = NULL;
IADsPropertyEntry *pEntry = NULL;
IADs *pObj = NULL;
VARIANT var;
long valType = ADSTYPE_CASE_IGNORE_STRING;
 
VariantInit(&var);
 
// Bind to directory object.
HRESULT hr = ADsGetObject(L"LDAP://dc01/DC=Fabrikam,DC=com",
                          IID_IADsPropertyList,
                          (void**)&pList);
if(FAILED(hr)){return;}
 
// Initialize the property cache.
hr = pList->QueryInterface(IID_IADs,(void**)&pObj);
if(FAILED(hr)){goto Cleanup;}
pObj->GetInfo();
pObj->Release();
 
// Get a property entry.
hr = pList->GetPropertyItem(CComBSTR("description"), valType, &var);
pList->Release();
if(FAILED(hr)){goto Cleanup;}
hr = V_DISPATCH(&var)->QueryInterface(IID_IADsPropertyEntry,
                                      (void**)&pEntry);
VariantClear(&var);
if(FAILED(hr)){goto Cleanup;}
 
// Get the name and the type of the property entry.
BSTR nm = NULL;
hr = pEntry->get_Name(&nm);
printf("Property name = %S\n",nm);
VariantClear(&var);
long at;
hr = pEntry->get_ADsType(&at);
printf("Property type = %d\n",a);

Cleanup:
    if(nm)
        SysFreeString(nm);

    if(pList)
        pList->Release();

    if(pEntry)
        pEntry->Release();

    if(pObj)
        pObj->Release();

    VariantClear(&var);

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_IADsPropertyEntry se define como 05792C8E-941F-11D0-8529-00C04FD8D503

Consulte también

ADS_PROPERTY_OPERATION_ENUM

Códigos de error adsi

ADSTYPEENUM

IADsPropertyEntry

IADsPropertyValue

IADsPropertyValue2

IDispatch