Bagikan melalui


Metode INamespaceWalk::Walk (shobjidl_core.h)

Memulai jalan rekursif namespace layanan dari akar yang ditentukan ke kedalaman yang diberikan.

Sintaks

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

Parameter

[in] punkToWalk

Jenis: IUnknown*

Simpul akar untuk memulai perjalanan. Ini dapat diwakili oleh salah satu objek berikut.

Menentukan IShellFolder desktop sebagai root memungkinkan kemungkinan berjalan di seluruh namespace Windows jika cDepth cukup besar.

[in] dwFlags

Jenis: DWORD

Satu atau beberapa bendera berikut yang mengontrol operasi berjalan.

NSWF_DEFAULT (0x00000000)

Gunakan nilai ini saat Anda tidak ingin mengatur bendera lainnya.

NSWF_NONE_IMPLIES_ALL (0x00000001)

Kumpulkan semua item dalam folder jika kedua kriteria ini terpenuhi:

NSWF_ONE_IMPLIES_ALL (0x00000002)

Kumpulkan semua item dalam folder jika kedua kriteria ini terpenuhi:

NSWF_DONT_TRAVERSE_LINKS (0x00000004)

Jangan ikuti tautan (.lnk, .url, dan pintasan folder) dalam rekursi; sebagai gantinya, kembalikan sebagai item biasa.

NSWF_DONT_ACCUMULATE_RESULT (0x00000008)

Jangan mengumpulkan PIDL node selama namespace berjalan.

NSWF_TRAVERSE_STREAM_JUNCTIONS (0x00000010)

Sertakan konten titik persimpangan aliran dalam perjalanan. Misalnya, masuk ke konten file .cab.

NSWF_FILESYSTEM_ONLY (0x00000020)

Berjalan hanya simpul sistem file.

NSWF_SHOW_PROGRESS (0x00000040)

Tampilkan kotak dialog dengan bilah kemajuan saat berjalan di namespace.

NSWF_FLAG_VIEWORDER (0x00000080)

Mengembalikan item dalam urutan tampilan. Ini hanya berlaku ketika punkToWalk adalah objek IShellView .

NSWF_IGNORE_AUTOPLAY_HIDA (0x00000100)

Jangan gunakan HIDA AutoPlay di objek data. Ini hanya berlaku ketika punkToWalk adalah objek IDataObject .

NSWF_ASYNC (0x00000200)

Lakukan berjalan secara asinkron dengan menjalankannya di utas latar belakang.

NSWF_DONT_RESOLVE_LINKS (0x00000400)

Melintasi tautan untuk mengembalikan target mereka (untuk .lnk, .url, dan pintasan folder) tetapi tidak memverifikasi bahwa target tersebut ada (Atasi). Ini adalah pengoptimalan dan tidak memengaruhi hasil kecuali dalam kasus di mana target yang hilang atau dipindahkan dapat ditemukan dan dikembalikan.

NSWF_ACCUMULATE_FOLDERS (0x00000800)

NSWF_DONT_SORT (0x00001000)

Jangan pertahankan urutan sortir item yang sedang dijalani.

NSWF_USE_TRANSFER_MEDIUM (0x00002000)

NSWF_DONT_TRAVERSE_STREAM_JUNCTIONS (0x00004000)

NSWF_ANY_IMPLIES_ALL (0x00008000)

Diperkenalkan dalam Windows 8.

[in] cDepth

Jenis: int

Kedalaman maksimum untuk turun melalui hierarki namespace. Kedalaman ini berbasis nol. Atur ke 0 untuk hanya berjalan di folder yang diidentifikasi oleh punkToWalk tetapi tidak ada subfoldernya.

[in] pnswcb

Jenis: INamespaceWalkCB*

Fungsi panggilan balik INamespaceWalkCB yang digunakan oleh INamespaceWalk. Parameter ini bisa NULL. Objek dapat secara opsional mengimplementasikan antarmuka INamespaceWalkCB2 dan IActionProgress . Lihat keterangan di bawah ini.

Nilai kembali

Jenis: HRESULT

Jika metode ini berhasil, metode ini mengembalikan S_OK. Jika tidak, kode kesalahan HRESULT akan dikembalikan.

Keterangan

Jika Anda tidak meneruskan bendera NSWF_SHOW_PROGRESS dan objek yang diarahkan oleh parameter pnswcb mengimplementasikan IActionProgress, maka metode INamespaceWalk::Walk memanggil metode IActionProgress::QueryCancel secara berkala untuk menentukan apakah operasi harus dibatalkan.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows XP [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2003 [hanya aplikasi desktop]
Target Platform Windows
Header shobjidl_core.h (termasuk Shobjidl.h)
Pustaka Shell32.lib
DLL Shell32.dll (versi 6.0 atau yang lebih baru)

Lihat juga

INamespaceWalk

INamespaceWalkCB