IShellFolder::EnumObjects メソッド (shobjidl_core.h)

アイテム識別子列挙オブジェクトを作成し、その IEnumIDList インターフェイスを返すことによって、クライアントがフォルダーの内容を確認できるようにします。 そのインターフェイスでサポートされているメソッドを使用して、フォルダーの内容を列挙できます。

構文

HRESULT EnumObjects(
  [in]  HWND        hwnd,
  [in]  SHCONTF     grfFlags,
  [out] IEnumIDList **ppenumIDList
);

パラメーター

[in] hwnd

型: HWND

列挙を実行するためにユーザー入力が必要な場合、このウィンドウ ハンドルは、ユーザー入力を受け取る親ウィンドウとして列挙オブジェクトで使用する必要があります。 たとえば、パスワードを要求するダイアログ ボックスや、CD またはフロッピー ディスクを挿入するようにユーザーに求めるダイアログ ボックスがあります。 hwndOwnerNULL に設定されている場合、列挙子はメッセージを投稿しないでください。ユーザー入力が必要な場合は、サイレント モードで失敗します。

[in] grfFlags

種類: SHCONTF

列挙に含める項目を示すフラグ。 使用可能な値の一覧については、 SHCONTF 列挙型に関するページを参照してください。

[out] ppenumIDList

種類: IEnumIDList**

このメソッドによって作成された列挙オブジェクトの IEnumIDList インターフェイスへのポインターを受け取るアドレス。 エラーが発生した場合、または適切なサブオブジェクトが見つからない場合、 ppenumIDListNULL に設定されます。

戻り値

種類: HRESULT

処理が正常に行われた場合は、S_OK を返します。それ以外の場合は、エラー値を返します。 一部の実装では、 が返 S_FALSEされる場合もあります。これは、渡された grfFlags に一致する子がないことを示します。 が返された場合 S_FALSEppenumIDList は に NULL設定されます。

解説

メソッドがS_OKを返す場合、 ppenumIDList は列挙子へのポインターを受け取ります。 この場合、呼び出し元のアプリケーションは、Release メソッドを呼び出して、返された IEnumIDList オブジェクトを解放する必要があります。

メソッドがS_FALSEを返す場合、フォルダーには適切なサブオブジェクトが含まれないので、 ppenumIDList で指定されたポインターは NULL に設定されます。

メソッドが失敗した場合、エラー値が返され、 ppenumIDList で指定されたポインターが NULL に設定されます。

フォルダーに適切なサブオブジェクトが含まれない場合、 IShellFolder::EnumObjects メソッドは、*ppenumIDListNULL に設定してS_FALSEを返すか、オブジェクトを生成しない列挙子に *ppenumIDList を設定してS_OKを返すことができます。 呼び出し元のアプリケーションは、両方の成功事例に備える必要があります。

要件

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

関連項目

IShellFolder

IShellFolder2

SHGetDesktopFolder