Compartir a través de


Interfaz IShellFolder (shobjidl_core.h)

Expuestos por todos los objetos de carpeta del espacio de nombres shell, sus métodos se usan para administrar carpetas.

Herencia

La interfaz IShellFolder hereda de la interfaz IUnknown . IShellFolder también tiene estos tipos de miembros:

Métodos

La interfaz IShellFolder tiene estos métodos.

 
IShellFolder::BindToObject

Recupera un controlador, normalmente el objeto de carpeta shell que implementa IShellFolder para un elemento determinado. Los parámetros opcionales que controlan la construcción del controlador se pasan en el contexto de enlace.
IShellFolder::BindToStorage

Solicita un puntero a la interfaz de almacenamiento de un objeto.
IShellFolder::CompareIDs

Determina el orden relativo de dos objetos de archivo o carpetas, dadas sus listas de identificadores de elementos.
IShellFolder::CreateViewObject

Solicita un objeto que se puede usar para obtener información de un objeto de carpeta o interactuar con él.
IShellFolder::EnumObjects

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.
IShellFolder::GetAttributesOf

Obtiene los atributos de uno o varios objetos de archivo o carpeta contenidos en el objeto representado por IShellFolder.
IShellFolder::GetDisplayNameOf

Recupera el nombre para mostrar del objeto de archivo o subcarpeta especificados.
IShellFolder::GetUIObjectOf

Obtiene un objeto que se puede usar para llevar a cabo acciones en los objetos o carpetas de archivo especificados.
IShellFolder::P arseDisplayName

Convierte el nombre para mostrar de un objeto de archivo o una carpeta en una lista de identificadores de elemento.
IShellFolder::SetNameOf

Establece el nombre para mostrar de un objeto de archivo o subcarpeta, cambiando el identificador del elemento en el proceso.

Comentarios

Implemente esta interfaz para los objetos que extienden el espacio de nombres del shell. Por ejemplo, implemente esta interfaz para crear un espacio de nombres independiente que requiera un Explorador de Windows raíz o para instalar un nuevo espacio de nombres directamente dentro de la jerarquía del espacio de nombres del sistema. Está familiarizado con el contenido del espacio de nombres, por lo que es responsable de implementar todo lo necesario para acceder a los datos.

Use esta interfaz cuando necesite mostrar o realizar una operación en el contenido del espacio de nombres del shell. Los objetos que admiten IShellFolder normalmente se crean mediante otros objetos de carpeta de Shell. Para recuperar la interfaz IShellFolder de una carpeta, normalmente se inicia llamando a SHGetDesktopFolder. Esta función devuelve un puntero a la interfaz IShellFolder del escritorio. Después, puede usar sus métodos para recuperar una interfaz IShellFolder para una carpeta de espacio de nombres determinada.

Nota Los métodos IShellFolder solo aceptan PIN relativos a la carpeta. Algunos métodos IShellFolder , como IShellFolder::GetAttributesOf, solo aceptan PIN de nivel único. En otras palabras, el PIDL solo debe contener una única estructura SHITEMID , además del valor NULL de terminación. Al enumerar el contenido de una carpeta con IEnumIDList, recibirá los PIDLs de este formulario. Otros métodos, como IShellFolder::CompareIDs, aceptan PIN de varios niveles. Estos PIN pueden tener varias estructuras SHITEMID e identificar objetos uno o varios niveles por debajo de la carpeta primaria. Compruebe la referencia para asegurarse de qué tipo de PIDL puede aceptar un método determinado.
 

Ejemplos

Se puede ver un ejemplo de implementación de IShellFolder en el ejemplo de ejemplo del proveedor de datos del explorador . El uso de varios métodos de IShellFolder se puede encontrar en varios ejemplos, incluido el ejemplo de operaciones de archivo.

Requisitos

Requisito Value
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