Freigeben über


INamespaceWalk::Walk-Methode (shobjidl_core.h)

Initiiert eine rekursive Wanderung des Namespace vom angegebenen Stamm bis zur angegebenen Tiefe.

Syntax

HRESULT Walk(
  [in] IUnknown         *punkToWalk,
  [in] DWORD            dwFlags,
  [in] int              cDepth,
  [in] INamespaceWalkCB *pnswcb
);

Parameter

[in] punkToWalk

Typ: IUnknown*

Der Stammknoten, von dem aus der Schritt gestartet werden soll. Dies kann durch eines der folgenden Objekte dargestellt werden.

Wenn Sie den IShellFolder des Desktops als Stamm angeben, können Sie den gesamten Windows-Namespace durchlaufen, wenn cDepth ausreichend groß ist.

[in] dwFlags

Art: DWORD

Mindestens eines der folgenden Flags, die den Exemplarvorgang steuern.

NSWF_DEFAULT (0x00000000)

Verwenden Sie diesen Wert, wenn Sie keines der anderen Flags festlegen möchten.

NSWF_NONE_IMPLIES_ALL (0x00000001)

Sammeln Sie alle Elemente im Ordner, wenn beide Kriterien erfüllt sind:

  • punkToWalk ist ein Ordner (IShellFolder oder IShellView).
  • Keines der Elemente im Ordner ist derzeit ausgewählt.

NSWF_ONE_IMPLIES_ALL (0x00000002)

Sammeln Sie alle Elemente im Ordner, wenn beide Kriterien erfüllt sind:

  • punkToWalk ist ein Ordner (IShellFolder oder IShellView).
  • Eines der Elemente im Ordner ist derzeit ausgewählt.

NSWF_DONT_TRAVERSE_LINKS (0x00000004)

Folgen Sie in der Rekursion keine Links (.lnk, URL und Ordnerverknüpfungen). Geben Sie sie stattdessen als reguläre Elemente zurück.

NSWF_DONT_ACCUMULATE_RESULT (0x00000008)

Erfassen Sie die PIDLs der Knoten während des Namespace-Walk nicht.

NSWF_TRAVERSE_STREAM_JUNCTIONS (0x00000010)

Schließen Sie den Inhalt von Streamverbindungspunkten in den Walk ein. Führen Sie instance den Inhalt einer .cab-Datei aus.

NSWF_FILESYSTEM_ONLY (0x00000020)

Gehen Sie nur auf Dateisystemknoten.

NSWF_SHOW_PROGRESS (0x00000040)

Zeigen Sie ein Dialogfeld mit einer Statusleiste an, während Sie den Namespace durchlaufen.

NSWF_FLAG_VIEWORDER (0x00000080)

Zurückgeben von Elementen in Ansichtsreihenfolge. Dies gilt nur, wenn punkToWalk ein IShellView-Objekt ist.

NSWF_IGNORE_AUTOPLAY_HIDA (0x00000100)

Verwenden Sie die HIDA-Datei autoplay nicht im Datenobjekt. Dies gilt nur, wenn punkToWalk ein IDataObject-Objekt ist.

NSWF_ASYNC (0x00000200)

Führen Sie den Spaziergang asynchron aus, indem Sie ihn in einem Hintergrundthread ausführen.

NSWF_DONT_RESOLVE_LINKS (0x00000400)

Durchqueren Sie Links, um ihre Ziele zurückzugeben (für .lnk,URL- und Ordnerverknüpfungen), überprüfen Sie jedoch nicht, ob diese Ziele vorhanden sind (Auflösen). Dies ist eine Optimierung und wirkt sich nicht auf die Ergebnisse aus, es sei denn, es könnte ein fehlendes oder verschobenes Ziel gefunden und zurückgegeben werden.

NSWF_ACCUMULATE_FOLDERS (0x00000800)

NSWF_DONT_SORT (0x00001000)

Behalten Sie nicht die Sortierreihenfolge der Elemente bei, die gelaufen werden.

NSWF_USE_TRANSFER_MEDIUM (0x00002000)

NSWF_DONT_TRAVERSE_STREAM_JUNCTIONS (0x00004000)

NSWF_ANY_IMPLIES_ALL (0x00008000)

In Windows 8 eingeführt.

[in] cDepth

Typ: int

Die maximale Tiefe, die durch die Namespacehierarchie absteigen soll. Diese Tiefe ist nullbasiert. Legen Sie auf 0 fest, um nur den von punkToWalk identifizierten Ordner zu durchlaufen, aber keinen seiner Unterordner.

[in] pnswcb

Typ: INamespaceWalkCB*

INamespaceWalkCB-Rückruffunktion , die von INamespaceWalk verwendet wird. Dieser Parameter kann NULL sein. Das -Objekt kann optional die Schnittstellen INamespaceWalkCB2 und IActionProgress implementieren. Weitere Informationen finden Sie weiter unten im Abschnitt "Hinweise".

Rückgabewert

Typ: HRESULT

Wenn diese Methode erfolgreich ist, wird S_OK zurückgegeben. Andernfalls wird ein Fehlercode HRESULT zurückgegeben.

Hinweise

Wenn Sie das NSWF_SHOW_PROGRESS-Flag nicht übergeben und das Objekt, auf das vom pnswcb-Parameter verwiesen wird , IActionProgress implementiert, ruft die INamespaceWalk::Walk-Methode regelmäßig die IActionProgress::QueryCancel-Methode auf, um zu bestimmen, ob der Vorgang abgebrochen werden soll.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows XP [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile shobjidl_core.h (einschließlich Shobjidl.h)
Bibliothek Shell32.lib
DLL Shell32.dll (Version 6.0 oder höher)

Weitere Informationen

INamespaceWalk

INamespaceWalkCB