次の方法で共有


IADsPropertyEntry プロパティ メソッド

IADsPropertyEntry インターフェイスのプロパティ メソッドは、次のプロパティへのアクセスを提供します。 プロパティ メソッドの詳細については、「インターフェイス プロパティ メソッド」を参照してください

プロパティ

ADsType

Name プロパティのデータ型。 データ型の値は ADSTYP Enterprise Edition NUM 列挙型で定義されます。

アクセスの種類: 読み取り/書き込み

スクリプト データ型: 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
);

解説

各プロパティ メソッドは、標準 の HRESULT 戻り値 (S_OKを含む) をサポートしています。 その他の戻り値の詳細については、「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);

要件

要件 Value
サポートされている最小のクライアント
Windows Vista
サポートされている最小のサーバー
Windows Server 2008
ヘッダー
Iads.h
[DLL]
Activeds.dll
IID
IID_IADsPropertyEntryは 05792C8E-941F-11D0-8529-00C04FD8D503 と定義されています

関連項目

ADS_PROPERTY_OPERATION_ENUM

ADSI エラー コード

ADSTYP Enterprise Edition NUM

IADsPropertyEntry

IADsPropertyValue

IADsPropertyValue2

IDispatch