Métodos de propiedad IADsPropertyEntry
Los métodos de propiedad de la interfaz IADsPropertyEntry proporcionan acceso a las siguientes propiedades. Para obtener más información sobre los métodos de propiedad, vea Métodos de propiedad de interfaz.
Propiedades
-
ADsType
-
-
Tipo de acceso: lectura/escritura
-
Tipo de datos de scripting: LONG
-
// C++ method syntax HRESULT get_ADsType( [out] LONG* plADsType ); HRESULT put_ADsType( [in] LONG lADsType );
Tipo de datos de la propiedad Name . Los valores del tipo de datos se definen en la enumeración ADSTYPEENUM .
-
-
ControlCode
-
-
Tipo de acceso: lectura/escritura
-
Tipo de datos de scripting: LONG
-
// C++ method syntax HRESULT get_ControlCode( [out] LONG* pControlCode ); HRESULT put_ControlCode( [in] LONG lnControlCode );
Constante que especifica la operación que se va a realizar en la propiedad con nombre. El valor se define en la enumeración ADS_PROPERTY_OPERATION_ENUM .
-
-
Nombre
-
-
Tipo de acceso: lectura/escritura
-
Tipo de datos de scripting: BSTR
-
// C++ method syntax HRESULT get_Name( [out] BSTR* pbstrName ); HRESULT put_Name( [in] BSTR bstrName );
Nombre de la entrada de propiedad. Este nombre debe corresponder al nombre de un atributo tal y como se define en el esquema.
-
-
Valores
-
-
Tipo de acceso: lectura/escritura
-
Tipo de datos de scripting: VARIANT
-
// C++ method syntax HRESULT get_Values( [out] VARIANT* pvValues ); HRESULT put_Values( [in] VARIANT vValues );
Matriz VARIANT . Cada elemento de esta matriz representa un valor de la propiedad con nombre. Estos valores de propiedad se representan mediante objetos ADSI que implementan las interfaces IADsPropertyValue e IADsPropertyValue2 . Por lo tanto, la matriz VARIANT contiene una matriz de punteros a la interfaz IDispatch en los objetos ADSI que implementan las interfaces IADsPropertyValue e IADsPropertyValue2 .
-
Comentarios
Cada método de propiedad admite los valores devueltos HRESULT estándar, incluidos S_OK. Para obtener más información sobre otros valores devueltos, vea Códigos de error adsi.
Ejemplos
En el ejemplo de código siguiente se muestra cómo recuperar una propiedad con nombre de la memoria caché y crear una nueva entrada de propiedad.
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
En el ejemplo de código siguiente se muestra cómo obtener una propiedad con nombre de una memoria caché.
#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);
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible |
Windows Vista |
Servidor mínimo compatible |
Windows Server 2008 |
Encabezado |
|
Archivo DLL |
|
IID |
IID_IADsPropertyEntry se define como 05792C8E-941F-11D0-8529-00C04FD8D503 |