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 |