Método INamespaceWalk::Walk (shobjidl_core.h)
Inicia uma caminhada recursiva do namespace da raiz especificada para a profundidade fornecida.
Sintaxe
HRESULT Walk(
[in] IUnknown *punkToWalk,
[in] DWORD dwFlags,
[in] int cDepth,
[in] INamespaceWalkCB *pnswcb
);
Parâmetros
[in] punkToWalk
Tipo: IUnknown*
O nó raiz do qual iniciar a caminhada. Isso pode ser representado por um dos objetos a seguir.
Especificar iShellFolder da área de trabalho como a raiz permite a possibilidade de percorrer todo o namespace do Windows se cDepth for suficientemente grande.[in] dwFlags
Tipo: DWORD
Um ou mais dos sinalizadores a seguir que controlam a operação de caminhada.
NSWF_DEFAULT (0x00000000)
Use esse valor quando não quiser definir nenhum dos outros sinalizadores.
NSWF_NONE_IMPLIES_ALL (0x00000001)
Colete todos os itens na pasta se ambos os critérios forem atendidos:
- punkToWalk é uma pasta (IShellFolder ou IShellView).
- Nenhum dos itens na pasta está selecionado no momento.
NSWF_ONE_IMPLIES_ALL (0x00000002)
Colete todos os itens na pasta se ambos os critérios forem atendidos:
- punkToWalk é uma pasta (IShellFolder ou IShellView).
- Um dos itens na pasta está selecionado no momento.
NSWF_DONT_TRAVERSE_LINKS (0x00000004)
Não siga os links (.lnk, .url e atalhos de pasta) na recursão; em vez disso, retorne-os como itens regulares.
NSWF_DONT_ACCUMULATE_RESULT (0x00000008)
Não colete os PIDLs dos nós durante a caminhada do namespace.
NSWF_TRAVERSE_STREAM_JUNCTIONS (0x00000010)
Inclua o conteúdo dos pontos de junção de fluxo na caminhada. Por exemplo, entre no conteúdo de um arquivo de .cab.
NSWF_FILESYSTEM_ONLY (0x00000020)
Ande somente nós do sistema de arquivos.
NSWF_SHOW_PROGRESS (0x00000040)
Exibir uma caixa de diálogo com uma barra de progresso enquanto percorre o namespace.
NSWF_FLAG_VIEWORDER (0x00000080)
Retornar itens na ordem de exibição. Isso se aplica somente quando punkToWalk é um objeto IShellView .
NSWF_IGNORE_AUTOPLAY_HIDA (0x00000100)
Não use o HIDA de Reprodução Automática no objeto de dados. Isso se aplica somente quando punkToWalk é um objeto IDataObject .
NSWF_ASYNC (0x00000200)
Execute a caminhada de forma assíncrona executando-a em um thread em segundo plano.
NSWF_DONT_RESOLVE_LINKS (0x00000400)
Percorra links para retornar seus destinos (para .lnk, .url e atalhos de pasta), mas não verifique se esses destinos existem (Resolver). Essa é uma otimização e não afeta os resultados, exceto no caso em que um destino ausente ou movido pode ser encontrado e retornado.
NSWF_ACCUMULATE_FOLDERS (0x00000800)
NSWF_DONT_SORT (0x00001000)
Não mantenha a ordem de classificação dos itens que estão sendo andados.
NSWF_USE_TRANSFER_MEDIUM (0x00002000)
NSWF_DONT_TRAVERSE_STREAM_JUNCTIONS (0x00004000)
NSWF_ANY_IMPLIES_ALL (0x00008000)
Introduzido no Windows 8.
[in] cDepth
Tipo: int
A profundidade máxima a ser decrescente pela hierarquia de namespace. Essa profundidade é baseada em zero. Defina como 0 para percorrer apenas a pasta identificada por punkToWalk , mas nenhuma de suas subpastas.
[in] pnswcb
Tipo: INamespaceWalkCB*
Função de retorno de chamada INamespaceWalkCB usada pelo INamespaceWalk. Este parâmetro pode ser NULL. Opcionalmente, o objeto pode implementar as interfaces INamespaceWalkCB2 e IActionProgress . Consulte os comentários abaixo.
Retornar valor
Tipo: HRESULT
Se o método for bem-sucedido, ele retornará S_OK. Caso contrário, ele retornará um código de erro HRESULT.
Comentários
Se você não passar o sinalizador NSWF_SHOW_PROGRESS e o objeto apontado pelo parâmetro pnswcb implementar IActionProgress, o método INamespaceWalk::Walk chamará o método IActionProgress::QueryCancel periodicamente para determinar se a operação deve ser cancelada.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows XP [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2003 [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | shobjidl_core.h (inclua Shobjidl.h) |
Biblioteca | Shell32.lib |
DLL | Shell32.dll (versão 6.0 ou posterior) |