IADsPropertyEntry, méthodes de propriété

Les méthodes de propriété de l’interface IADsPropertyEntry fournissent l’accès aux propriétés suivantes. Pour plus d’informations sur les méthodes de propriété, consultez Méthodes de propriété d’interface.

Propriétés

ADsType

Type de données de la propriété Name . Les valeurs du type de données sont définies dans l’énumération ADSTYPEENUM .

Type d’accès : Lecture/écriture

Type de données de script : LONG

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

ControlCode

Constante qui spécifie l’opération à effectuer sur la propriété nommée. La valeur est définie dans l’énumération ADS_PROPERTY_OPERATION_ENUM .

Type d’accès : Lecture/écriture

Type de données de script : LONG

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

Nom

Nom de l’entrée de propriété. Ce nom doit correspondre au nom d’un attribut tel que défini dans le schéma.

Type d’accès : Lecture/écriture

Type de données de script : BSTR

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

Valeurs

Tableau VARIANT . Chaque élément de ce tableau représente une valeur de la propriété nommée. Ces valeurs de propriété sont représentées par des objets ADSI implémentant les interfaces IADsPropertyValue et IADsPropertyValue2 . Par conséquent, le tableau VARIANT contient un tableau de pointeurs vers l’interface IDispatch sur les objets ADSI implémentant les interfaces IADsPropertyValue et IADsPropertyValue2 .

Type d’accès : Lecture/écriture

Type de données de script : VARIANT

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

Notes

Chaque méthode de propriété prend en charge les valeurs de retour HRESULT standard, y compris les S_OK. Pour plus d’informations sur les autres valeurs de retour, consultez Codes d’erreur ADSI.

Exemples

L’exemple de code suivant montre comment récupérer une propriété nommée à partir du cache et créer une entrée de propriété.

 
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

L’exemple de code suivant montre comment obtenir une propriété nommée à partir d’un cache.

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

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_IADsPropertyEntry est défini comme 05792C8E-941F-11D0-8529-00C04FD8D503

Voir aussi

ADS_PROPERTY_OPERATION_ENUM

Codes d’erreur ADSI

ADSTYPEENUM

IADsPropertyEntry

IADsPropertyValue

IADsPropertyValue2

IDispatch