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) |