다음을 통해 공유


IShellIconOverlay::GetOverlayIndex 메서드(shlobj_core.h)

시스템 이미지 목록에서 오버레이 인덱스 를 가져옵니다.

구문

HRESULT GetOverlayIndex(
  [in]      PCUITEMID_CHILD pidl,
  [in, out] int             *pIndex
);

매개 변수

[in] pidl

형식: PCUITEMID_CHILD

아이콘이 표시되는 개체를 식별하는 ITEMIDLIST 구조체에 대한 포인터입니다.

[in, out] pIndex

형식: int*

시스템 이미지 목록에서 오버레이 인덱스(1 기반)를 나타내는 값에 대한 포인터입니다. 이 인덱스는 ImageList::SetOverlayImage 함수를 사용하여 개인 이미지 목록에 오버레이 이미지를 추가할 때 지정되는 iOverlay 값과 동일합니다.

반환 값

형식: HRESULT

이 메서드는 이러한 값 중 하나를 반환할 수 있습니다.

반환 코드 Description
S_OK
오버레이의 인덱스가 발견되었습니다.
S_FALSE
이 파일에 대한 오버레이가 없습니다.
E_FAIL
PIDL이 잘못되었습니다.
E_INVALIDARG
예를 들어 pIndexNULL인 경우 인수가 잘못되었습니다.
E_PENDING
호출 애플리케이션이 OI_ASYNC 전달하여 오버레이 인덱스 계산 작업에 다소 시간이 소요됨을 나타냅니다.

설명

시스템 이미지 목록에서 오버레이 인덱스를 검색하려면 SHGetIconOverlayIndex를 호출합니다.

이 메서드를 호출할 때 pIndex 가 OI_ASYNC 가리키도록 설정하면 셸 아이콘 오버레이 처리기가 pIndex에 오버레이 인덱스를 저장하는 대신 E_PENDING 반환할 수 있습니다. 이 반환 값은 오버레이 컴퓨팅이 느린 작업이며 백그라운드에서 처리되어야 했음을 나타냅니다. IShellIconOverlay 구현이 E_PENDING 반환하면 OI_ASYNC 플래그 없이 백그라운드 작업자 스레드에서 다시 호출됩니다. GetOverlayIndex를 호출할 때 OI_ASYNC 사용하지 않는 경우 오버레이 처리기는 반환하기 전에 오버레이 인덱스를 계산하고 pIndex에 값을 저장해야 합니다.

요구 사항

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

추가 정보

IShellIconOverlay