共用方式為


INamespaceWalk::Walk 方法 (shobjidl_core.h)

從指定的根目錄起始命名空間的遞歸逐步解說至指定的深度。

語法

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

參數

[in] punkToWalk

類型: IUnknown*

要從中開始逐步解說的根節點。 這可以由下列其中一個 物件表示。

將桌面的 IShellFolder 指定為根目錄,可允許 在 cDepth 夠大的情況下,執行整個 Windows 命名空間的可能性。

[in] dwFlags

類型: DWORD

下列一或多個控制逐步解說作業的旗標。

NSWF_DEFAULT (0x00000000)

當您不想設定任何其他旗標時,請使用此值。

NSWF_NONE_IMPLIES_ALL (0x00000001)

如果符合這兩個準則,請收集資料夾中的所有專案:

NSWF_ONE_IMPLIES_ALL (0x00000002)

如果符合這兩個準則,請收集資料夾中的所有專案:

  • punkToWalk 是 (IShellFolderIShellView) 的資料夾。
  • 目前已選取資料夾中的其中一個專案。

NSWF_DONT_TRAVERSE_LINKS (0x00000004)

請勿遵循遞歸) (.lnk、.url 和資料夾快捷方式的連結;相反地,將它們傳回為一般專案。

NSWF_DONT_ACCUMULATE_RESULT (0x00000008)

請勿在命名空間逐步解說期間收集節點的 PIN。

NSWF_TRAVERSE_STREAM_JUNCTIONS (0x00000010)

在逐步解說中包含串流連接點的內容。 例如,逐步解說 .cab 檔案的內容。

NSWF_FILESYSTEM_ONLY (0x00000020)

僅逐步執行文件系統節點。

NSWF_SHOW_PROGRESS (0x00000040)

在逐步執行命名空間時,顯示具有進度列的對話框。

NSWF_FLAG_VIEWORDER (0x00000080)

以檢視順序傳回專案。 這僅適用於 punkToWalkIShellView 物件時。

NSWF_IGNORE_AUTOPLAY_HIDA (0x00000100)

請勿在數據物件中使用 AutoPlay HIDA。 這僅適用於 punkToWalkIDataObject 物件時。

NSWF_ASYNC (0x00000200)

在背景線程上執行逐步解說,以異步方式執行。

NSWF_DONT_RESOLVE_LINKS (0x00000400)

周遊連結以傳回其目標 (.lnk、.url 和資料夾快捷方式) ,但不會確認這些目標存在 (解析) 。 這是優化,而且不會影響結果,除非找到遺失或移動的目標並傳回的情況。

NSWF_ACCUMULATE_FOLDERS (0x00000800)

NSWF_DONT_SORT (0x00001000)

請勿維護所要逐步執行之專案的排序順序。

NSWF_USE_TRANSFER_MEDIUM (0x00002000)

NSWF_DONT_TRAVERSE_STREAM_JUNCTIONS (0x00004000)

NSWF_ANY_IMPLIES_ALL (0x00008000)

在 Windows 8 中引進。

[in] cDepth

類型: int

要透過命名空間階層遞減的最大深度。 此深度是以零起始。 設定為 0,只執行 punkToWalk 所識別的資料夾,但沒有其子資料夾。

[in] pnswcb

類型: INamespaceWalkCB*

INamespaceWalk 使用的 INamespaceWalkCB 回呼函式。 此參數可以是 Null。 對象可以選擇性地實作 INamespaceWalkCB2IActionProgress 介面。 請參閱下面的<備註>。

傳回值

類型: HRESULT

如果此方法成功,則會傳回 S_OK。 否則,它會傳回 HRESULT 錯誤碼。

備註

如果您未傳遞 NSWF_SHOW_PROGRESS 旗標,而 pnswcb 參數所指向的物件會實作 IActionProgress則 INamespaceWalk::Walk 方法會定期呼叫 IActionProgress::QueryCancel 方法,以判斷是否應該取消作業。

規格需求

需求
最低支援的用戶端 Windows XP [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2003 [僅限傳統型應用程式]
目標平台 Windows
標頭 shobjidl_core.h (包括 Shobjidl.h)
程式庫 Shell32.lib
Dll Shell32.dll (6.0 版或更新版本)

另請參閱

INamespaceWalk

INamespaceWalkCB