Metodo INamespaceWalk::Walk (shobjidl_core.h)
Avvia una procedura ricorsiva dello spazio dei nomi dalla radice specificata alla profondità specificata.
Sintassi
HRESULT Walk(
[in] IUnknown *punkToWalk,
[in] DWORD dwFlags,
[in] int cDepth,
[in] INamespaceWalkCB *pnswcb
);
Parametri
[in] punkToWalk
Tipo: IUnknown*
Nodo radice da cui iniziare la procedura. Può essere rappresentato da uno degli oggetti seguenti.
Se si specifica IShellFolder del desktop come radice, è possibile eseguire l'esecuzione dell'intero spazio dei nomi di Windows se cDepth è sufficientemente grande.[in] dwFlags
Tipo: DWORD
Uno o più dei flag seguenti che controllano l'operazione di descrizione.
NSWF_DEFAULT (0x00000000)
Usare questo valore quando non si desidera impostare alcuno degli altri flag.
NSWF_NONE_IMPLIES_ALL (0x00000001)
Raccogliere tutti gli elementi nella cartella se vengono soddisfatti entrambi questi criteri:
- punkToWalk è una cartella (IShellFolder o IShellView).
- Nessuno degli elementi nella cartella è attualmente selezionato.
NSWF_ONE_IMPLIES_ALL (0x00000002)
Raccogliere tutti gli elementi nella cartella se vengono soddisfatti entrambi questi criteri:
- punkToWalk è una cartella (IShellFolder o IShellView).
- Uno degli elementi nella cartella è attualmente selezionato.
NSWF_DONT_TRAVERSE_LINKS (0x00000004)
Non seguire i collegamenti (collegamenti .lnk, URL e cartella) nella ricorsione; vengono invece restituiti come elementi normali.
NSWF_DONT_ACCUMULATE_RESULT (0x00000008)
Non raccogliere i PIDL dei nodi durante la procedura dettagliata dello spazio dei nomi.
NSWF_TRAVERSE_STREAM_JUNCTIONS (0x00000010)
Includere il contenuto dei punti di giunzione del flusso nella passeggiata. Ad esempio, esaminare il contenuto di un file di .cab.
NSWF_FILESYSTEM_ONLY (0x00000020)
Eseguire la procedura dettagliata solo per i nodi del file system.
NSWF_SHOW_PROGRESS (0x00000040)
Visualizzare una finestra di dialogo con un indicatore di stato durante l'esecuzione dello spazio dei nomi.
NSWF_FLAG_VIEWORDER (0x00000080)
Restituisce gli elementi nell'ordine di visualizzazione. Questo vale solo quando punkToWalk è un oggetto IShellView .
NSWF_IGNORE_AUTOPLAY_HIDA (0x00000100)
Non utilizzare l'HIDA AutoPlay nell'oggetto dati. Questo vale solo quando punkToWalk è un oggetto IDataObject .
NSWF_ASYNC (0x00000200)
Eseguire la procedura in modo asincrono eseguendola in un thread in background.
NSWF_DONT_RESOLVE_LINKS (0x00000400)
Attraversare i collegamenti per restituire le destinazioni (per i collegamenti .lnk, URL e cartella), ma non verificare che tali destinazioni esistano (Risolvi). Si tratta di un'ottimizzazione e non influisce sui risultati, tranne nel caso in cui sia possibile trovare e restituire una destinazione mancante o spostata.
NSWF_ACCUMULATE_FOLDERS (0x00000800)
NSWF_DONT_SORT (0x00001000)
Non mantenere l'ordinamento degli elementi in fase di spostamento.
NSWF_USE_TRANSFER_MEDIUM (0x00002000)
NSWF_DONT_TRAVERSE_STREAM_JUNCTIONS (0x00004000)
NSWF_ANY_IMPLIES_ALL (0x00008000)
Introdotta in Windows 8.
[in] cDepth
Tipo: int
Profondità massima da scendere attraverso la gerarchia dello spazio dei nomi. Questa profondità è basata su zero. Impostare su 0 per visualizzare solo la cartella identificata da punkToWalk , ma nessuna delle relative sottocartelle.
[in] pnswcb
Tipo: INamespaceWalkCB*
Funzione di callback INamespaceWalkCB usata da INamespaceWalk. Questo parametro può essere NULL. L'oggetto può facoltativamente implementare le interfacce INamespaceWalkCB2 e IActionProgress . Vedere la sezione Note riportata di seguito.
Valore restituito
Tipo: HRESULT
Se questo metodo ha esito positivo, restituisce S_OK. In caso contrario, restituisce un codice di errore HRESULT .
Commenti
Se non si passa il flag NSWF_SHOW_PROGRESS e l'oggetto a cui punta il parametro pnswcb implementa IActionProgress, il metodo INamespaceWalk::Walk chiama periodicamente il metodo IActionProgress::QueryCancel per determinare se l'operazione deve essere annullata.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows XP [solo app desktop] |
Server minimo supportato | Windows Server 2003 [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | shobjidl_core.h (include Shobjidl.h) |
Libreria | Shell32.lib |
DLL | Shell32.dll (versione 6.0 o successiva) |