IADsPropertyEntry, méthodes de propriété
Les méthodes de propriété de l’interface IADsPropertyEntry fournissent l’accès aux propriétés suivantes. Pour plus d’informations sur les méthodes de propriété, consultez Méthodes de propriété d’interface.
Propriétés
-
ADsType
-
-
Type d’accès : Lecture/écriture
-
Type de données de script : LONG
-
// C++ method syntax HRESULT get_ADsType( [out] LONG* plADsType ); HRESULT put_ADsType( [in] LONG lADsType );
Type de données de la propriété Name . Les valeurs du type de données sont définies dans l’énumération ADSTYPEENUM .
-
-
ControlCode
-
-
Type d’accès : Lecture/écriture
-
Type de données de script : LONG
-
// C++ method syntax HRESULT get_ControlCode( [out] LONG* pControlCode ); HRESULT put_ControlCode( [in] LONG lnControlCode );
Constante qui spécifie l’opération à effectuer sur la propriété nommée. La valeur est définie dans l’énumération ADS_PROPERTY_OPERATION_ENUM .
-
-
Nom
-
-
Type d’accès : Lecture/écriture
-
Type de données de script : BSTR
-
// C++ method syntax HRESULT get_Name( [out] BSTR* pbstrName ); HRESULT put_Name( [in] BSTR bstrName );
Nom de l’entrée de propriété. Ce nom doit correspondre au nom d’un attribut tel que défini dans le schéma.
-
-
Valeurs
-
-
Type d’accès : Lecture/écriture
-
Type de données de script : VARIANT
-
// C++ method syntax HRESULT get_Values( [out] VARIANT* pvValues ); HRESULT put_Values( [in] VARIANT vValues );
Tableau VARIANT . Chaque élément de ce tableau représente une valeur de la propriété nommée. Ces valeurs de propriété sont représentées par des objets ADSI implémentant les interfaces IADsPropertyValue et IADsPropertyValue2 . Par conséquent, le tableau VARIANT contient un tableau de pointeurs vers l’interface IDispatch sur les objets ADSI implémentant les interfaces IADsPropertyValue et IADsPropertyValue2 .
-
Notes
Chaque méthode de propriété prend en charge les valeurs de retour HRESULT standard, y compris les S_OK. Pour plus d’informations sur les autres valeurs de retour, consultez Codes d’erreur ADSI.
Exemples
L’exemple de code suivant montre comment récupérer une propriété nommée à partir du cache et créer une entrée de propriété.
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
L’exemple de code suivant montre comment obtenir une propriété nommée à partir d’un 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);
Spécifications
Condition requise | Valeur |
---|---|
Client minimal pris en charge |
Windows Vista |
Serveur minimal pris en charge |
Windows Server 2008 |
En-tête |
|
DLL |
|
IID |
IID_IADsPropertyEntry est défini comme 05792C8E-941F-11D0-8529-00C04FD8D503 |
Voir aussi
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour