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:

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)

Confira também

INamespaceWalk

INamespaceWalkCB