Condividi tramite


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)

Vedi anche

INamespaceWalk

INamespaceWalkCB