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)
如果符合這兩個準則,請收集資料夾中的所有專案:
- punkToWalk 是 (IShellFolder 或 IShellView) 的資料夾。
- 目前未選取資料夾中的專案。
NSWF_ONE_IMPLIES_ALL (0x00000002)
如果符合這兩個準則,請收集資料夾中的所有專案:
- punkToWalk 是 (IShellFolder 或 IShellView) 的資料夾。
- 目前已選取資料夾中的其中一個專案。
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)
以檢視順序傳回專案。 這僅適用於 punkToWalk 是 IShellView 物件時。
NSWF_IGNORE_AUTOPLAY_HIDA (0x00000100)
請勿在數據物件中使用 AutoPlay HIDA。 這僅適用於 punkToWalk 是 IDataObject 物件時。
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。 對象可以選擇性地實作 INamespaceWalkCB2 和 IActionProgress 介面。 請參閱下面的<備註>。
傳回值
類型: 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 版或更新版本) |