다음을 통해 공유


IExtractIconA 인터페이스(shlobj_core.h)

클라이언트가 폴더의 개체 중 하나와 연결된 아이콘을 검색할 수 있도록 하는 메서드를 노출합니다.

상속

IExtractIcon 인터페이스는 IUnknown 인터페이스에서 상속됩니다. IExtractIcon 에는 다음과 같은 유형의 멤버도 있습니다.

메서드

IExtractIconA 인터페이스에는 이러한 메서드가 있습니다.

 
IExtractIconA::Extract

지정된 위치에서 아이콘 이미지를 추출합니다. (ANSI)
IExtractIconA::GetIconLocation

아이콘의 위치 및 인덱스 를 가져옵니다. (ANSI)

설명

개체의 아이콘을 검색하는 방법에는 두 가지가 있습니다. 가장 간단한 방법은 SHGetFileInfo를 호출하는 것입니다. 그러나 이 방법은 융통성이 없으며 속도가 느릴 수 있습니다. 항목 아이콘을 검색하는 보다 유연하고 효율적인 방법은 IExtractIcon을 사용하는 것입니다. 셸은 IExtractIcon 을 사용하여 폴더의 내용을 표시할 때 아이콘을 검색합니다. IExtractIcon을 사용하여 개체의 아이콘을 검색하려면 다음을 수행합니다.

  1. 개체가 포함된 폴더의 IShellFolder 인터페이스에 대한 포인터를 가져옵니다.
  2. 개체의 PIDL(항목 식별자 목록)에 대한 포인터와 IExtractIcon(IID_IExtractIcon)의 인터페이스 ID를 사용하여 IShellFolder::GetUIObjectOf를 호출합니다. 폴더는 아이콘 추출을 처리하는 개체를 만들고 개체의 IExtractIcon 인터페이스 포인터를 반환합니다.
  3. IExtractIcon::GetIconLocation을 호출하여 아이콘의 위치를 검색합니다.
  4. IExtractIcon::Extract를 호출하여 아이콘의 핸들을 검색합니다.
백그라운드 스레드에서 아이콘을 비동기적으로 추출할 수도 있습니다. 이 방법은 추출이 시간이 많이 걸리는 작업인 경우에 유용합니다. 자세한 내용은 IExtractIcon::GetIconLocation을 참조하세요.

네임스페이스 확장은IExtractIcon 을 구현하여 개체에 대한 아이콘을 제공합니다. 클라이언트는 폴더의 IShellFolder::GetUIObjectOf 메서드를 호출하여 폴더의 개체에 대한 IExtractIcon 인터페이스 포인터를 가져옵니다. IShellFolder::GetUIObjectOf 구현은 아이콘 추출을 처리하고 개체의 IExtractIcon 인터페이스에 대한 포인터를 반환하는 개체를 만들어야 합니다.

아이콘 처리기는IExtractIcon도 구현합니다. 아이콘 처리기는 파일 형식의 멤버에 아이콘을 동적으로 할당할 수 있는 Shell 확장 처리기의 형식입니다.

애플리케이션이 SHGetFileInfo보다 개체의 아이콘을 검색하는 보다 유연한 방법이 필요한 경우 이 인터페이스를 호출합니다.

참고

shlobj_core.h 헤더는 IExtractIcon을 유니코드 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입에 대한 규칙을 참조하세요.

요구 사항

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