Interfaccia IShellFolder (shobjidl_core.h)

Esposto da tutti gli oggetti della cartella dello spazio dei nomi shell, i relativi metodi vengono usati per gestire le cartelle.

Ereditarietà

L'interfaccia IShellFolder eredita dall'interfaccia IUnknown . IShellFolder include anche questi tipi di membri:

Metodi

L'interfaccia IShellFolder include questi metodi.

 
IShellFolder::BindToObject

Recupera un gestore, in genere l'oggetto cartella Shell che implementa IShellFolder per un elemento specifico. I parametri facoltativi che controllano la costruzione del gestore vengono passati nel contesto di associazione.
IShellFolder::BindToStorage

Richiede un puntatore all'interfaccia di archiviazione di un oggetto.
IShellFolder::CompareIDs

Determina l'ordine relativo di due oggetti file o cartelle, in base agli elenchi degli identificatori di elemento.
IShellFolder::CreateViewObject

Richiede un oggetto che può essere usato per ottenere informazioni da o interagire con un oggetto cartella.
IShellFolder::EnumObjects

Consente a un client di determinare il contenuto di una cartella creando un oggetto di enumerazione dell'identificatore di elemento e restituendo l'interfaccia IEnumIDList. I metodi supportati da tale interfaccia possono quindi essere usati per enumerare il contenuto della cartella.
IShellFolder::GetAttributesOf

Ottiene gli attributi di uno o più oggetti file o cartelle contenuti nell'oggetto rappresentato da IShellFolder.
IShellFolder::GetDisplayNameOf

Recupera il nome visualizzato per l'oggetto file specificato o la sottocartella.
IShellFolder::GetUIObjectOf

Ottiene un oggetto che può essere usato per eseguire azioni sugli oggetti o cartelle file specificati.
IShellFolder::P arseDisplayName

Converte il nome visualizzato di un oggetto file o una cartella in un elenco di identificatori di elemento.
IShellFolder::SetNameOf

Imposta il nome visualizzato di un oggetto file o di una sottocartella, modificando l'identificatore dell'elemento nel processo.

Commenti

Implementare questa interfaccia per gli oggetti che estendono lo spazio dei nomi di Shell. Ad esempio, implementare questa interfaccia per creare uno spazio dei nomi separato che richiede esplora risorse o installare un nuovo spazio dei nomi direttamente all'interno della gerarchia dello spazio dei nomi di sistema. Si ha familiarità con il contenuto dello spazio dei nomi, quindi si è responsabili dell'implementazione di tutto ciò che serve per accedere ai dati.

Usare questa interfaccia quando è necessario visualizzare o eseguire un'operazione sul contenuto dello spazio dei nomi di Shell. Gli oggetti che supportano IShellFolder vengono in genere creati da altri oggetti della cartella shell. Per recuperare l'interfaccia IShellFolder di una cartella, in genere si inizia chiamando SHGetDesktopFolder. Questa funzione restituisce un puntatore all'interfaccia IShellFolder del desktop. È quindi possibile usare i metodi per recuperare un'interfaccia IShellFolder per una determinata cartella dello spazio dei nomi.

NotaIShellFolder metodi accettano solo PIDLs relativi alla cartella. Alcuni metodi IShellFolder, ad esempio IShellFolder::GetAttributesOf, accettano solo PIDL a livello singolo. In altre parole, il PIDL deve contenere solo una singola struttura SHITEMID , oltre alla terminazione NULL. Quando si enumera il contenuto di una cartella con IEnumIDList, si riceveranno i PIDL di questo modulo. Altri metodi, ad esempio IShellFolder::CompareIDs, accettano PIDL a più livelli. Questi PIDL possono avere più strutture SHITEMID e identificare gli oggetti uno o più livelli sotto la cartella padre. Controllare il riferimento per verificare il tipo di PIDL che può essere accettato da un determinato metodo.
 

Esempi

Un esempio di implementazione di IShellFolder può essere visualizzato nell'esempio di esempio del provider di dati di Explorer . L'uso di vari metodi IShellFolder è disponibile in diversi esempi, tra cui Esempio di operazioni file.

Requisiti

Requisito Valore
Client minimo supportato Windows XP [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione shobjidl_core.h