다음을 통해 공유


IShellFolderView::Rearrange 메서드(shlobj_core.h)

[다시 정렬 은 요구 사항 섹션에 지정된 운영 체제에서 사용할 수 있습니다. 이후 버전에서는 변경되거나 제공되지 않을 수 있습니다. 대신 GetSortColumns를 사용합니다.]

정렬 규칙에 따라 보기의 항목을 다시 정렬합니다.

구문

HRESULT Rearrange(
  [in] LPARAM lParamSort
);

매개 변수

[in] lParamSort

형식: LPARAM

다시 정렬을 수행하는 방법을 지정합니다.

lParamSort의 하위 16비트는 정렬 규칙을 정의합니다. 대부분의 애플리케이션은 항목이 이름별로 정렬되어야 함을 나타내는 정렬 규칙을 기본값 0으로 설정합니다. 시스템은 다른 정렬 규칙을 정의하지 않습니다. 일부 폴더 개체를 사용하면 호출 애플리케이션에서 lParamSort 의 하위 16비트를 사용하여 폴더별 정렬 규칙을 지정할 수 있습니다. 규칙 및 관련 lParamSort 값은 폴더에 의해 정의됩니다.

시스템 폴더 뷰 개체가 IShellFolderView::Rearrange를 호출하는 경우 lParamSort 의 하위 16비트는 정렬에 사용할 열을 지정하는 데 사용됩니다.

lParamSort의 상위 16비트는 정렬 규칙을 수정하는 플래그에 사용됩니다. 시스템은 현재 다음 한정자 플래그를 정의합니다.

SHCIDS_ALLFIELDS

버전 5.0. 표시 이름뿐만 아니라 ITEMIDLIST 구조에 포함된 모든 정보를 정렬합니다. 이 플래그는 IShellFolder2 인터페이스를 지원하는 폴더 개체에만 유효합니다. instance 경우 두 항목이 파일인 경우 폴더는 구조체의 이름, 크기, 파일 시간, 특성 및 기타 정보를 정렬해야 합니다. 이 플래그를 설정하면 lParamSort 의 하위 16비트는 0이어야 합니다.

SHCIDS_CANONICALONLY

버전 5.0. 이름으로 정렬할 때 시스템 이름을 정렬하지만 표시 이름은 정렬하지 않습니다. 이 플래그가 전달되면 일관된 정렬 함수를 구현하는 한 셸 폴더가 가장 효율적으로 결정하는 조건에 따라 두 항목이 정렬됩니다. 이 플래그는 다른 플래그와 결합할 수 없습니다.

반환 값

형식: HRESULT

메서드가 성공하면 S_OK를 반환하고, 그러지 않으면 HRESULT 오류 코드를 반환합니다.

설명

호출 애플리케이션에 대한 참고 사항

폴더 개체가 IShellFolder2를 지원하지 않는 경우 lParamSort에서 SHCIDS_ALLFIELDS 플래그를 설정하지 마세요. 이렇게 하면 예측할 수 없는 결과가 발생할 수 있습니다. SHCIDS_ALLFIELDS 플래그를 사용하는 경우 lParamSort의 하위 16비트를 0으로 설정해야 합니다.

구현자에 대한 참고 사항

정렬 규칙을 추출하려면 비트 AND 연산자(&)를 사용하여 lParamSort 를 SHCIDS_COLUMNMASK(0X0000FFFF)와 결합합니다. 이 작업은 SHCIDS_ALLFIELDS 값을 포함하여 lParamSort의 상위 16 비트를 마스킹합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows XP [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 shlobj_core.h