IADsPropertyList::Next 方法 (iads.h)

IADsPropertyList::Next 方法获取属性列表中的下一项。 返回的项是 Property Entry 对象。

语法

HRESULT Next(
  [out] VARIANT *pVariant
);

parameters

[out] pVariant

调用方分配的变量的地址,该变量包含属性列表中下一项的值。 VT_DISPATCH 的返回值是指指向实现 IADsPropertyEntry 接口的对象的 IDispatch 接口指针。

返回值

此方法支持标准 HRESULT 值,包括获取项时 S_OK 。 返回列表中的最后一项时,返回的返回值将因所使用的提供程序而异。 以下代码用于指示已获取列表中的最后一项:

有关详细信息和其他返回值,请参阅 ADSI 错误代码

注解

当不再需要 Next 方法返回的值时,必须使用 VariantClear 清除 pVariant

示例

下面的代码示例演示如何使用 Next 方法遍历属性列表。

Dim propList As IADsPropertyList
Dim v as Variant
Dim propVal As IADsPropertyValue
 
On Error Resume Next
 
Set propList = GetObject("LDAP://dc01/DC=Fabrikam,DC=com")
 
propList.GetInfo
Set v = propList.Next()
While (Not (IsNull(v)) And Err.Number = 0)
    Set propEnty = v
    Debug.Print v.Name
    Debug.Print v.AdsType
    
    Set v = propList.Next    
Wend

以下 C++ 代码示例演示如何使用 IADsPropertyList::Next 方法。

////////////////////////////////////
// Function used to retrieve an entry using the 
// IADsPropertyList::Next method.
 
//     name: GetNextEntry
//    input: IADsPropertyList*
//   return: IADsPropertyEntry
//     uses: IADsPropertyList::Next
/////////////////////////////////////////////////////////
IADsPropertyEntry* GetNextEntry(IADsPropertyList* pList)
{
    VARIANT var;
    VariantInit(&var);
    IADsPropertyEntry *pEntry;

    if(!pList)
    {
        _tprintf("An error has occurred.");
        return NULL;
    }
 
    HRESULT hr = pList->Next(&var);
    hr = V_DISPATCH(&var)->QueryInterface(IID_IADsPropertyEntry,
                                         (void**)&pEntry);
    VariantClear(&var);
    return pEntry;
}

要求

   
最低受支持的客户端 Windows Vista
最低受支持的服务器 Windows Server 2008
目标平台 Windows
标头 iads.h
DLL Activeds.dll

另请参阅

ADSI 错误代码

IADsPropertyEntry

IADsPropertyList

IADsPropertyList 属性方法

IDispatch