Methoden der IADsPropertyEntry-Eigenschaft
Die -Eigenschaftenmethoden der IADsPropertyEntry-Schnittstelle bieten Zugriff auf die folgenden Eigenschaften. Weitere Informationen zu Eigenschaftenmethoden finden Sie unter Methoden der Schnittstelleneigenschaft.
Eigenschaften
-
ADsType
-
-
Zugriffstyp: Lese-/Schreibzugriff
-
Skriptdatentyp: LONG
-
// C++ method syntax HRESULT get_ADsType( [out] LONG* plADsType ); HRESULT put_ADsType( [in] LONG lADsType );
Der Datentyp der Name-Eigenschaft . Die Werte des Datentyps werden in der ADSTYPEENUM-Enumeration definiert.
-
-
ControlCode
-
-
Zugriffstyp: Lese-/Schreibzugriff
-
Skriptdatentyp: LONG
-
// C++ method syntax HRESULT get_ControlCode( [out] LONG* pControlCode ); HRESULT put_ControlCode( [in] LONG lnControlCode );
Eine Konstante, die den Vorgang angibt, der für die benannte Eigenschaft ausgeführt werden soll. Der Wert wird in der ADS_PROPERTY_OPERATION_ENUM-Enumeration definiert.
-
-
Name
-
-
Zugriffstyp: Lese-/Schreibzugriff
-
Skriptdatentyp: BSTR
-
// C++ method syntax HRESULT get_Name( [out] BSTR* pbstrName ); HRESULT put_Name( [in] BSTR bstrName );
Name des Eigenschaftseintrags. Dieser Name sollte dem Namen eines Attributs entsprechen, wie er im Schema definiert ist.
-
-
Werte
-
-
Zugriffstyp: Lese-/Schreibzugriff
-
Skriptdatentyp: VARIANT
-
// C++ method syntax HRESULT get_Values( [out] VARIANT* pvValues ); HRESULT put_Values( [in] VARIANT vValues );
Ein VARIANT-Array . Jedes Element in diesem Array stellt einen Wert der benannten Eigenschaft dar. Solche Eigenschaftswerte werden durch ADSI-Objekte dargestellt, die die Schnittstellen IADsPropertyValue und IADsPropertyValue2 implementieren. Daher enthält das VARIANT-Array ein Array von Zeigern auf die IDispatch-Schnittstelle auf den ADSI-Objekten, die die Schnittstellen IADsPropertyValue und IADsPropertyValue2 implementieren.
-
Bemerkungen
Jede Eigenschaftsmethode unterstützt die HRESULT-Standardrückgabewerte, einschließlich S_OK. Weitere Informationen zu anderen Rückgabewerten finden Sie unter ADSI-Fehlercodes.
Beispiele
Im folgenden Codebeispiel wird gezeigt, wie eine benannte Eigenschaft aus dem Cache abgerufen und ein neuer Eigenschaftseintrag erstellt wird.
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
Das folgende Codebeispiel zeigt, wie eine benannte Eigenschaft aus einem Cache abgerufen wird.
#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);
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) |
Windows Vista |
Unterstützte Mindestversion (Server) |
WindowsServer 2008 |
Header |
|
DLL |
|
IID |
IID_IADsPropertyEntry ist definiert als 05792C8E-941F-11D0-8529-00C04FD8D503 |