IADsPropertyEntry Property Methods
The property methods of the IADsPropertyEntry interface provide access to the following properties. For more information about property methods, see Interface Property Methods.
Properties
-
ADsType
-
-
Access type: Read/write
-
Scripting data type: LONG
-
// C++ method syntax HRESULT get_ADsType( [out] LONG* plADsType ); HRESULT put_ADsType( [in] LONG lADsType );
The data type of the Name property. The values of the data type is defined in the ADSTYPEENUM enumeration.
-
-
ControlCode
-
-
Access type: Read/write
-
Scripting data type: LONG
-
// C++ method syntax HRESULT get_ControlCode( [out] LONG* pControlCode ); HRESULT put_ControlCode( [in] LONG lnControlCode );
A constant that specifies the operation to be performed on the named property. The value is defined in the ADS_PROPERTY_OPERATION_ENUM enumeration.
-
-
Name
-
-
Access type: Read/write
-
Scripting data type: BSTR
-
// C++ method syntax HRESULT get_Name( [out] BSTR* pbstrName ); HRESULT put_Name( [in] BSTR bstrName );
Name of the property entry. This name should correspond to the name of an attribute as defined in the schema.
-
-
Values
-
-
Access type: Read/write
-
Scripting data type: VARIANT
-
// C++ method syntax HRESULT get_Values( [out] VARIANT* pvValues ); HRESULT put_Values( [in] VARIANT vValues );
A VARIANT array. Each element in this array represents a value of the named property. Such property values are represented by ADSI objects implementing the IADsPropertyValue and IADsPropertyValue2 interfaces. Therefore, the VARIANT array holds an array of pointers to the IDispatch interface on the ADSI objects implementing the IADsPropertyValue and IADsPropertyValue2 interfaces.
-
Remarks
Each property method supports the standard HRESULT return values, including S_OK. For more information about other return values, see ADSI Error Codes.
Examples
The following code example shows how to retrieve a named property from the cache and create a new property entry.
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
The following code example shows how to get a named property from a 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);
Requirements
Requirement | Value |
---|---|
Minimum supported client |
Windows Vista |
Minimum supported server |
Windows Server 2008 |
Header |
|
DLL |
|
IID |
IID_IADsPropertyEntry is defined as 05792C8E-941F-11D0-8529-00C04FD8D503 |