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) |