다음을 통해 공유


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)

네임스페이스 워크 중에 노드의 PIDL을 수집하지 마세요.

NSWF_TRAVERSE_STREAM_JUNCTIONS(0x00000010)

워크에 스트림 접합 지점의 내용을 포함합니다. instance .cab 파일의 내용을 탐색합니다.

NSWF_FILESYSTEM_ONLY(0x00000020)

파일 시스템 노드만 연습합니다.

NSWF_SHOW_PROGRESS(0x00000040)

네임스페이스를 걷는 동안 진행률 표시줄이 있는 대화 상자를 표시합니다.

NSWF_FLAG_VIEWORDER(0x00000080)

보기 순서대로 항목을 반환합니다. 이는 punkToWalkIShellView 개체인 경우에만 적용됩니다.

NSWF_IGNORE_AUTOPLAY_HIDA(0x00000100)

데이터 개체에서 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부터 시작합니다. 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