Método IShellFolder::EnumObjects (shobjidl_core.h)

Permite que um cliente determine o conteúdo de uma pasta criando um objeto de enumeração de identificador de item e retornando sua interface IEnumIDList . Os métodos compatíveis com essa interface podem ser usados para enumerar o conteúdo da pasta.

Sintaxe

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

Parâmetros

[in] hwnd

Digite: HWND

Se a entrada do usuário for necessária para executar a enumeração, esse identificador de janela deverá ser usado pelo objeto de enumeração como a janela pai para obter a entrada do usuário. Um exemplo seria uma caixa de diálogo para solicitar uma senha ou solicitar que o usuário insira um CD ou disquete. Se hwndOwner estiver definido como NULL, o enumerador não deverá postar nenhuma mensagem e, se a entrada do usuário for necessária, ela deverá falhar silenciosamente.

[in] grfFlags

Tipo: SHCONTF

Sinalizadores que indicam quais itens incluir na enumeração. Para obter uma lista de valores possíveis, consulte o tipo enumerado SHCONTF .

[out] ppenumIDList

Tipo: IEnumIDList**

O endereço que recebe um ponteiro para a interface IEnumIDList do objeto de enumeração criado por esse método. Se ocorrer um erro ou nenhum subobjeto adequado for encontrado, ppenumIDList será definido como NULL.

Valor retornado

Tipo: HRESULT

Retorna S_OK se tiver êxito ou um valor de erro caso contrário. Algumas implementações também podem retornar S_FALSE, indicando que não há filhos correspondentes aos grfFlags que foram passados . Se S_FALSE for retornado, ppenumIDList será definido como NULL.

Comentários

Se o método retornar S_OK, ppenumIDList receberá um ponteiro para um enumerador. Nesse caso, o aplicativo de chamada deve liberar o objeto IEnumIDList retornado chamando seu método Release .

Se o método retornar S_FALSE, a pasta não conterá subobjetos adequados e o ponteiro especificado em ppenumIDList será definido como NULL.

Se o método falhar, um valor de erro será retornado e o ponteiro especificado em ppenumIDList será definido como NULL.

Se a pasta não contiver subobjetos adequados, o método IShellFolder::EnumObjects terá permissão para definir *ppenumIDList como NULL e retornar S_FALSE ou definir *ppenumIDList como um enumerador que não produz objetos e retornar S_OK. Os aplicativos de chamada devem ser preparados para ambos os casos de êxito.

Requisitos

   
Cliente mínimo com suporte Windows XP [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho shobjidl_core.h (inclua Shobjidl.h)
DLL Shell32.dll (versão 4.0 ou posterior)

Confira também

Ishellfolder

IShellFolder2

SHGetDesktopFolder