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

Permite a un cliente determinar el contenido de una carpeta creando un objeto de enumeración de identificador de elemento y devolviendo su interfaz IEnumIDList . Los métodos admitidos por esa interfaz se pueden usar para enumerar el contenido de la carpeta.

Sintaxis

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

Parámetros

[in] hwnd

Tipo: HWND

Si se requiere la entrada del usuario para realizar la enumeración, el objeto de enumeración debe usar este identificador de ventana como ventana primaria para tomar la entrada del usuario. Un ejemplo sería un cuadro de diálogo para solicitar una contraseña o pedir al usuario que inserte un cd o un disquete. Si hwndOwner está establecido en NULL, el enumerador no debe publicar ningún mensaje y, si se requiere la entrada del usuario, se producirá un error en modo silencioso.

[in] grfFlags

Tipo: SHCONTF

Marcas que indican qué elementos se van a incluir en la enumeración. Para obtener una lista de los valores posibles, vea el tipo enumerado SHCONTF .

[out] ppenumIDList

Tipo: IEnumIDList**

Dirección que recibe un puntero a la interfaz IEnumIDList del objeto de enumeración creado por este método. Si se produce un error o no se encuentran subobjetos adecuados,ppnumIDList se establece en NULL.

Valor devuelto

Tipo: HRESULT

Devuelve S_OK si la operación se realiza correctamente; de lo contrario, devuelve un valor de error. Algunas implementaciones también pueden devolver S_FALSE, lo que indica que no hay elementos secundarios que coincidan con los grfFlags que se pasaron. Si S_FALSE se devuelve , ppnumIDList se establece en NULL.

Comentarios

Si el método devuelve S_OK,ppnumIDList recibe un puntero a un enumerador. En este caso, la aplicación que realiza la llamada debe liberar el objeto IEnumIDList devuelto llamando a su método Release .

Si el método devuelve S_FALSE, la carpeta no contiene subobjetos adecuados y el puntero especificado enppnumIDList se establece en NULL.

Si se produce un error en el método, se devuelve un valor de error y el puntero especificado enppnumIDList se establece en NULL.

Si la carpeta no contiene subobjetos adecuados, se permite que el método IShellFolder::EnumObjects establezca *ppnumIDList en NULL y devuelva S_FALSE, o para establecer *ppnumIDList en un enumerador que no genere objetos y devuelva S_OK. Las aplicaciones de llamada deben estar preparadas para ambos casos de éxito.

Requisitos

   
Cliente mínimo compatible Windows XP [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado shobjidl_core.h (include Shobjidl.h)
Archivo DLL Shell32.dll (versión 4.0 o posterior)

Consulte también

IShellFolder

IShellFolder2

SHGetDesktopFolder