다음을 통해 공유


IADsPropertyEntry 속성 메서드

IADsPropertyEntry 인터페이스의 속성 메서드는 다음 속성에 대한 액세스를 제공합니다. 속성 메서드에 대한 자세한 내용은 인터페이스 속성 메서드를 참조하세요.

속성

ADsType

Name 속성의 데이터 형식입니다. 데이터 형식의 값은 ADSTYPEENUM 열거형에 정의됩니다.

액세스 형식: 읽기/쓰기

스크립팅 데이터 형식: LONG

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

ControlCode

명명된 속성에서 수행할 작업을 지정하는 상수입니다. 값은 ADS_PROPERTY_OPERATION_ENUM 열거형에 정의됩니다.

액세스 형식: 읽기/쓰기

스크립팅 데이터 형식: LONG

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

이름

속성 항목의 이름입니다. 이 이름은 스키마에 정의된 특성의 이름에 해당해야 합니다.

액세스 형식: 읽기/쓰기

데이터 형식 스크립팅: BSTR

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

VARIANT 배열입니다. 이 배열의 각 요소는 명명된 속성의 값을 나타냅니다. 이러한 속성 값은 IADsPropertyValue 및 IADsPropertyValue2 인터페이스 를 구현하는 ADSI 개체로 표시됩니다. 따라서 VARIANT 배열은 IADsPropertyValue 및 IADsPropertyValue2 인터페이스를 구현하는 ADSI 개체의 IDispatch 인터페이스에 대한 포인터 배열을 보유합니다.

액세스 형식: 읽기/쓰기

데이터 형식 스크립팅: VARIANT

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

설명

각 속성 메서드는 S_OK 포함하여 표준 HRESULT 반환 값을 지원합니다. 다른 반환 값에 대한 자세한 내용은 ADSI 오류 코드를 참조하세요.

예제

다음 코드 예제에서는 캐시에서 명명된 속성을 검색하고 새 속성 항목을 만드는 방법을 보여줍니다.

 
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

다음 코드 예제에서는 캐시에서 명명된 속성을 가져오는 방법을 보여줍니다.

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

요구 사항

요구 사항
지원되는 최소 클라이언트
Windows Vista
지원되는 최소 서버
Windows Server 2008
헤더
Iads.h
DLL
Activeds.dll
IID
IID_IADsPropertyEntry 05792C8E-941F-11D0-8529-00C04FD8D503으로 정의됩니다.

추가 정보

ADS_PROPERTY_OPERATION_ENUM

ADSI 오류 코드

ADSTYPEENUM

IADsPropertyEntry

IADsPropertyValue

IADsPropertyValue2

IDispatch