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 で実際に返される項目識別子の数を受け取る値へのポインター。 count は、 celt パラメーターで指定された値よりも小さくできます。 このパラメーターは、celt = 1 の場合にのみ、エントリに NULL を指定できます。その場合、メソッドは 1 つ (S_OK) または 0 (S_FALSE) 項目のみを取得できるためです。

戻り値

種類: HRESULT

メソッドが要求された celt 要素を正常に取得した場合は、S_OKを返します。 このメソッドは、要求されたアイテムの完全な数が正常に取得された場合にのみ、S_OKを返します。

S_FALSEは、列挙に残っているアイテムよりも多くの項目が要求されたことを示します。 pceltFetched パラメーターによって指される値は、取得された項目の実際の数を指定します。 取得する項目がこれ以上ない場合、値は 0 になります。

それ以外の場合は、COM 定義のエラー値を返します。

注釈

このメソッドが ( FAILED マクロによって決定される) コンポーネント オブジェクト モデル (COM) エラー コードを返す場合、終了時に rgelt 配列内のエントリは有効ではありません。 このメソッドが成功コード (S_OKやS_FALSEなど) を返す場合、pceltFetched パラメーターが指す ULONG によって、終了時に有効な rgelt 配列内のエントリの数が決まります。

この区別は、 ケルト> 1の場合に重要である。 たとえば、 celt=10 を渡し、残りの要素が 3 つだけの場合、*pceltFetched は 3 になり、メソッドはファイルの末尾に達したことを意味S_FALSE返します。 フェッチされた 3 つの要素は rgelt に格納され、有効です。

要件

要件
サポートされている最小のクライアント Windows XP (デスクトップ アプリのみ)
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー shobjidl_core.h (Shobjidl.h を含む)
[DLL] Shell32.dll (バージョン 4.0 以降)

こちらもご覧ください

IEnumIDList