INamespaceWalk ::Walk, méthode (shobjidl_core.h)
Lance une marche récursive de l’espace de noms de la racine spécifiée jusqu’à la profondeur donnée.
Syntaxe
HRESULT Walk(
[in] IUnknown *punkToWalk,
[in] DWORD dwFlags,
[in] int cDepth,
[in] INamespaceWalkCB *pnswcb
);
Paramètres
[in] punkToWalk
Type : IUnknown*
Nœud racine à partir duquel commencer la marche. Cela peut être représenté par l’un des objets suivants.
La spécification du IShellFolder du bureau comme racine permet de parcourir l’espace de noms Windows entier si cDepth est suffisamment grand.[in] dwFlags
Type : DWORD
Un ou plusieurs des indicateurs suivants qui contrôlent l’opération de marche.
NSWF_DEFAULT (0x00000000)
Utilisez cette valeur lorsque vous ne souhaitez pas définir d’autres indicateurs.
NSWF_NONE_IMPLIES_ALL (0x00000001)
Collectez tous les éléments du dossier si ces deux critères sont remplis :
- punkToWalk est un dossier (IShellFolder ou IShellView).
- Aucun des éléments du dossier n’est sélectionné actuellement.
NSWF_ONE_IMPLIES_ALL (0x00000002)
Collectez tous les éléments du dossier si ces deux critères sont remplis :
- punkToWalk est un dossier (IShellFolder ou IShellView).
- L’un des éléments du dossier est actuellement sélectionné.
NSWF_DONT_TRAVERSE_LINKS (0x00000004)
Ne suivez pas les liens (.lnk, .url et raccourcis de dossier) dans la récursivité ; au lieu de cela, retournez-les en tant qu’éléments standard.
NSWF_DONT_ACCUMULATE_RESULT (0x00000008)
Ne collectez pas les PIDL des nœuds pendant la procédure d’espace de noms.
NSWF_TRAVERSE_STREAM_JUNCTIONS (0x00000010)
Incluez le contenu des points de jonction de flux dans la marche. Pour instance, accédez au contenu d’un fichier .cab.
NSWF_FILESYSTEM_ONLY (0x00000020)
Parcourir uniquement les nœuds du système de fichiers.
NSWF_SHOW_PROGRESS (0x00000040)
Affichez une boîte de dialogue avec une barre de progression tout en parcourant l’espace de noms.
NSWF_FLAG_VIEWORDER (0x00000080)
Retourner les éléments dans l’ordre d’affichage. Cela s’applique uniquement lorsque punkToWalk est un objet IShellView .
NSWF_IGNORE_AUTOPLAY_HIDA (0x00000100)
N’utilisez pas l’hida de lecture automatique dans l’objet de données. Cela s’applique uniquement lorsque punkToWalk est un objet IDataObject .
NSWF_ASYNC (0x00000200)
Effectuez la marche de manière asynchrone en l’exécutant sur un thread d’arrière-plan.
NSWF_DONT_RESOLVE_LINKS (0x00000400)
Parcourez les liens pour retourner leurs cibles (pour les raccourcis .lnk, .url et dossier), mais ne vérifiez pas que ces cibles existent (Résoudre). Il s’agit d’une optimisation qui n’affecte pas les résultats, sauf dans le cas où une cible manquante ou déplacée peut être trouvée et retournée.
NSWF_ACCUMULATE_FOLDERS (0x00000800)
NSWF_DONT_SORT (0x00001000)
Ne conservez pas l’ordre de tri des éléments à parcourir.
NSWF_USE_TRANSFER_MEDIUM (0x00002000)
NSWF_DONT_TRAVERSE_STREAM_JUNCTIONS (0x00004000)
NSWF_ANY_IMPLIES_ALL (0x00008000)
Introduit dans Windows 8.
[in] cDepth
Type : int
Profondeur maximale à descendre dans la hiérarchie de l’espace de noms. Cette profondeur est de base zéro. Définissez sur 0 pour parcourir uniquement le dossier identifié par punkToWalk , mais aucun de ses sous-dossiers.
[in] pnswcb
Type : INamespaceWalkCB*
Fonction de rappel INamespaceWalkCB utilisée par INamespaceWalk. Ce paramètre peut être NULL. L’objet peut éventuellement implémenter les interfaces INamespaceWalkCB2 et IActionProgress . Consultez la section Notes ci-dessous.
Valeur retournée
Type : HRESULT
Si cette méthode réussit, elle retourne S_OK. Sinon, elle retourne un code d’erreur HRESULT.
Remarques
Si vous ne passez pas l’indicateur NSWF_SHOW_PROGRESS et que l’objet pointé par le paramètre pnswcb implémente IActionProgress, la méthode INamespaceWalk ::Walk appelle régulièrement la méthode IActionProgress ::QueryCancel pour déterminer si l’opération doit être annulée.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows XP [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows Server 2003 [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | shobjidl_core.h (incluez Shobjidl.h) |
Bibliothèque | Shell32.lib |
DLL | Shell32.dll (version 6.0 ou ultérieure) |