Compartir a través de


Método IADsPropertyList::Item (iads.h)

El método IADsPropertyList::Item recupera el elemento de propiedad especificado de la lista.

Sintaxis

HRESULT Item(
  [in]      VARIANT varIndex,
  [in, out] VARIANT *pVariant
);

Parámetros

[in] varIndex

Variant que contiene el índice o el nombre de la propiedad que se va a recuperar.

[in, out] pVariant

Dirección de una variable VARIANT asignada por el autor de la llamada. En la devolución, VARIANT contiene el puntero IDispatch al objeto que implementa la interfaz IADsPropertyEntry para el atributo recuperado.

Valor devuelto

Este método admite los valores devueltos HRESULT estándar, incluidos S_OK. Para obtener más información y otros valores devueltos, vea Códigos de error adsi.

Comentarios

Debe borrar pVariant mediante VariantClear cuando el valor devuelto por el método Item ya no sea necesario.

Ejemplos

En el ejemplo de código siguiente se muestra cómo enumerar todas las entradas con el método Item .

Dim propList As IADsPropertyList
Dim propEntry As IADsPropertyEntry
Dim count As Long

On Error GoTo Cleanup
 
Set propList = GetObject("LDAP://dc02/DC=Fabrikam,DC=com")
 
propList.GetInfo
count = propList.PropertyCount
Debug.Print "No of Property Found: " & count
 
'==== Getting the property list item with Name ==================
Set propEntry = propList.Item("uSNCreated")
Debug.Print propEntry.Name
Debug.Print propEntry.ADsType
 
' to examine property entries by name and type 
For i = 0 To count - 1
    '==== Getting the property list item with Number =============
    Set propEntry = propList.Item(i)
    Debug.Print propEntry.Name
    Debug.Print propEntry.ADsType
Next

Cleanup:
    If (Err.Number<>0) Then
        MsgBox("An error has occurred. " & Err.Number)
    End If

    Set propList = Nothing
    Set propEntry = Nothing

En el ejemplo de código siguiente se muestra cómo recuperar la propiedad Owner de un equipo mediante el método IADsPropertyList::Item . Para obtener más información sobre la función GetPropertyCache y un ejemplo de código, vea IADsPropertyList.

////////////////////////////////////////
// function:    PropertyItem
//    input:    PropertyList, 
//              name of the item
//   output:    Property entry
//     uses:    IADsPropertyList::Item
////////////////////////////////////////
IADsPropertyEntry *PropertyItem(
         IADsPropertyList *pList,
         LPWSTR item)
{
    IADsPropertyEntry *pEntry;
    VARIANT varEntry, varItem;

    if(!pList || !item)
    {
        _tprintf(TEXT("Invalid parameter..."));
        return NULL;
    }

    VariantInit(&varItem);
    VariantInit(&varEntry);
 
    // get a property entry
    V_BSTR(&varItem)= SysAllocString(item);
    V_VT(&varItem)=VT_BSTR;
    HRESULT hr = pList->Item(varItem ,&varEntry);
    hr = V_DISPATCH(&var)->QueryInterface(
                        IID_IADsPropertyEntry,
                        (void**)&pEntry);
    VariantClear(&varItem);
    VariantClear(&varEntry);
    return pEntry;
}
 
///////////////////////////////////////
// examine a property entry
///////////////////////////////////////
IADsPropertyList *pList; pList=GetPropertyCache(L"WinNT://myComputer,computer");
 
IADsPropertyEntry *pEntry;
pEntry = PropertyItem(pList, L"Owner");

if(pEntry)
{
    HRESULT hr;
    BSTR bstr;
    long ln;

    hr = pEntry->get_Name(&bstr);
    if(SUCCEEDED(hr))
    {
        SysFreeString(bstr);
    }
    printf(" Name : %S\n", bstr);
 
    pEntry->get_ADsType(&ln);
    if(SUCCEEDED(hr))
    {
        printf(" Type : %d\n", ln);
    }
 
    pEntry->get_ControlCode(&ln); 
    if(SUCCEEDED(hr))
    {
        printf(" Code %d\n",ln);
    }
}

Requisitos

   
Cliente mínimo compatible Windows Vista
Servidor mínimo compatible Windows Server 2008
Plataforma de destino Windows
Encabezado iads.h
Archivo DLL Activeds.dll

Consulte también

Códigos de error adsi

IADsPropertyEntry

IADsPropertyList

Métodos de propiedad IADsPropertyList

IDispatch