Bagikan melalui


Metode Properti IADsPropertyEntry

Metode properti antarmuka IADsPropertyEntry menyediakan akses ke properti berikut. Untuk informasi selengkapnya tentang metode properti, lihat Metode Properti Antarmuka.

Properti

ADsType

Jenis data properti Nama . Nilai jenis data ditentukan dalam enumerasi ADSTYPEENUM .

Jenis akses: Baca/tulis

Jenis data pembuatan skrip: LONG

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

ControlCode

Konstanta yang menentukan operasi yang akan dilakukan pada properti bernama. Nilai didefinisikan dalam enumerasi ADS_PROPERTY_OPERATION_ENUM .

Jenis akses: Baca/tulis

Jenis data pembuatan skrip: LONG

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

Nama

Nama entri properti. Nama ini harus sesuai dengan nama atribut seperti yang didefinisikan dalam skema.

Jenis akses: Baca/tulis

Jenis data pembuatan skrip: BSTR

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

Nilai

Array VARIAN. Setiap elemen dalam array ini mewakili nilai properti bernama. Nilai properti tersebut diwakili oleh objek ADSI yang mengimplementasikan antarmuka IADsPropertyValue dan IADsPropertyValue2 . Oleh karena itu, array VARIAN menyimpan array pointer ke antarmuka IDispatch pada objek ADSI yang mengimplementasikan antarmuka IADsPropertyValue dan IADsPropertyValue2 .

Jenis akses: Baca/tulis

Jenis data pembuatan skrip: VARIAN

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

Keterangan

Setiap metode properti mendukung nilai pengembalian HRESULT standar, termasuk S_OK. Untuk informasi selengkapnya tentang nilai pengembalian lainnya, lihat Kode Kesalahan ADSI.

Contoh

Contoh kode berikut menunjukkan cara mengambil properti bernama dari cache dan membuat entri properti baru.

 
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

Contoh kode berikut menunjukkan cara mendapatkan properti bernama dari 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);

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung
Windows Vista
Server minimum yang didukung
Windows Server 2008
Header
Iads.h
DLL
Activeds.dll
IID
IID_IADsPropertyEntry didefinisikan sebagai 05792C8E-941F-11D0-8529-00C04FD8D503

Lihat juga

ADS_PROPERTY_OPERATION_ENUM

Kode Kesalahan ADSI

ADSTYPEENUM

IADsPropertyEntry

IADsPropertyValue

IADsPropertyValue2

IDispatch