IEnumIDList::Next 方法 (shobjidl_core.h)
擷取列舉序列中的指定專案標識碼數目,並依擷取的項目數目將目前的位置往前移。
語法
HRESULT Next(
[in] ULONG celt,
[out] PITEMID_CHILD *rgelt,
[out] ULONG *pceltFetched
);
參數
[in] celt
類型: ULONG
rgelt 參數所參考陣列中的元素數目。
[out] rgelt
類型: LPITEMIDLIST*
接收項目識別碼之 ITEMIDLIST 指標陣列之指標的位址。 實作必須使用 CoTaskMemAlloc 來配置這些專案標識碼。 呼叫的應用程式負責使用 CoTaskMemFree 釋放項目識別碼。
陣列中傳回 的 ITEMIDLIST 結構相對於所列舉的 IShellFolder 。
[out] pceltFetched
類型: ULONG*
值的指標,這個值會接收在 rgelt 中實際傳回之專案標識子的計數。 計數可以小於 celt 參數中指定的值。 只有在 celt = 1 時,這個參數才能在專案上為 NULL,因為在此情況下,方法只能擷取一個 (S_OK) 或零個 (S_FALSE) 專案。
傳回值
類型: HRESULT
如果方法已成功擷取要求的 celt 元素,則傳回S_OK。 如果成功擷取要求專案的完整計數,這個方法只會傳回S_OK。
S_FALSE表示要求的專案比列舉中還多。 pceltFetched 參數所指向的值會指定擷取的實際項目數目。 請注意,如果沒有其他專案要擷取,此值將會是 0。
否則會傳回 COM 定義的錯誤值。
備註
如果這個方法傳回元件物件模型 (COM) 錯誤碼, (由 FAILED 宏) 決定,則 rgelt 陣列中沒有任何專案在結束時有效。 如果這個方法傳回成功程式代碼 (,例如S_OK或S_FALSE) ,則pceltFetched參數所指向的ULONG會決定 rgelt 陣列中有多少專案在結束時有效。
區別在 celt> 1 的情況下很重要。 例如,如果您傳遞 celt=10,而且只有 3 個元素左邊,*pceltFetched 將會是 3,而且方法會傳回S_FALSE表示您已到達檔案結尾。 三個擷取的項目會儲存到 rgelt 中,而且有效。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows XP [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | shobjidl_core.h (包括 Shobjidl.h) |
Dll | Shell32.dll (4.0 版或更新版本) |